79 lines
1.6 KiB
C#
79 lines
1.6 KiB
C#
namespace TEngine
|
||
{
|
||
/// <summary>
|
||
/// 基础LogicSys,生命周期由TEngine实现,推荐给系统实现,
|
||
/// 减少多余的Mono,保持系统层面只有一个Update。
|
||
/// 用主Mono来驱动LogicSys的生命周期。
|
||
/// </summary>
|
||
/// <typeparam name="T">逻辑系统类型。</typeparam>
|
||
public abstract class BaseLogicSys<T> : ILogicSys where T : new()
|
||
{
|
||
private static T _instance;
|
||
|
||
public static bool HasInstance => _instance != null;
|
||
|
||
public static T Instance
|
||
{
|
||
get
|
||
{
|
||
if (null == _instance)
|
||
{
|
||
_instance = new T();
|
||
}
|
||
|
||
return _instance;
|
||
}
|
||
}
|
||
|
||
#region virtual function
|
||
public virtual bool OnInit()
|
||
{
|
||
if (null == _instance)
|
||
{
|
||
_instance = new T();
|
||
}
|
||
return true;
|
||
}
|
||
|
||
public virtual void OnStart()
|
||
{
|
||
}
|
||
|
||
public virtual void OnUpdate()
|
||
{
|
||
}
|
||
|
||
public virtual void OnLateUpdate()
|
||
{
|
||
}
|
||
|
||
public virtual void OnFixedUpdate()
|
||
{
|
||
}
|
||
|
||
public virtual void OnRoleLogin()
|
||
{
|
||
}
|
||
|
||
public virtual void OnRoleLogout()
|
||
{
|
||
}
|
||
|
||
public virtual void OnDestroy()
|
||
{
|
||
}
|
||
|
||
public virtual void OnDrawGizmos()
|
||
{
|
||
}
|
||
|
||
public virtual void OnApplicationPause(bool pause)
|
||
{
|
||
}
|
||
|
||
public virtual void OnMapChanged()
|
||
{
|
||
}
|
||
#endregion
|
||
}
|
||
} |