namespace TEngineCore { /// /// 基础LogicSys,生命周期由TEngine实现,推荐给系统实现, /// 减少多余的Mono,保持系统层面只有一个Update /// 用TEngine的主Mono来驱动LogicSys的生命周期 /// /// public class BaseLogicSys : ILogicSys where T : new() { private static T m_Instance; public static bool HasInstance { get { return m_Instance != null; } } public static T Instance { get { if (null == m_Instance) { m_Instance = new T(); } return m_Instance; } } #region virtual fucntion public virtual bool OnInit() { if (null == m_Instance) { m_Instance = new T(); } return true; } public virtual void OnStart() { } public virtual void OnUpdate() { } public virtual void OnLateUpdate() { } public virtual void OnDestroy() { } public virtual void OnPause() { } public virtual void OnResume() { } public virtual void OnDrawGizmos() { } public virtual void OnMapChanged() { } #endregion } }