AkiraPixelWind/Assets/Scripts/Main/CustomsComponent/NoMonoBehaviour/NoMono.cs

43 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using UnityEditorInternal;
using UnityEngine;
using UnityEngine.EventSystems;
namespace Game
{
public abstract class NoMono : INoMonoBehaviour
{
public Transform transform;
public GameObject gameObject;
public E_LIFE_MONO_CYCLE mMonoCyle;
public NoMono(string Name, Transform trans = null)
{
transform = trans;
gameObject = trans.gameObject;
NoMonoSys.RegisterNoMono(Name,this);
}
public void AddEvent(E_LIFE_MONO_CYCLE type)
{
mMonoCyle = type;
if ((type & E_LIFE_MONO_CYCLE.Update) > 0)
NoMonoSys.AddUpdateEvent(Update);
if ((type & E_LIFE_MONO_CYCLE.FixUpdate) > 0)
NoMonoSys.AddUpdateEvent(FixedUpdate);
if ((type & E_LIFE_MONO_CYCLE.ApplicationPause) > 0)
NoMonoSys.AddUpdateEvent(OnApplicationPause);
if ((type & E_LIFE_MONO_CYCLE.ApplicationQuit) > 0)
NoMonoSys.AddUpdateEvent(OnApplicationQuit);
}
public abstract void Update();
public abstract void FixedUpdate();
public abstract void OnApplicationPause();
public abstract void OnApplicationQuit();
}
}