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(); } }