Files
TEngine/TEngineHotUpdate/src/TEngineCore/Core/BaseLogicSys.cs
ALEXTANG 572b768ce2 把代码核心逻辑移入热更工程,热更工程生成编译后可以直接Copy dll 和 mdb文件到UnityAsset目录下
把代码核心逻辑移入热更工程,热更工程生成编译后可以直接Copy dll 和 mdb文件到UnityAsset目录下
2022-05-23 13:49:07 +08:00

74 lines
1.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace TEngineCore
{
/// <summary>
/// 基础LogicSys,生命周期由TEngine实现推荐给系统实现
/// 减少多余的Mono保持系统层面只有一个Update
/// 用TEngine的主Mono来驱动LogicSys的生命周期
/// </summary>
/// <typeparam name="T"></typeparam>
public class BaseLogicSys<T> : 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
}
}