mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
把代码核心逻辑移入热更工程,热更工程生成编译后可以直接Copy dll 和 mdb文件到UnityAsset目录下
把代码核心逻辑移入热更工程,热更工程生成编译后可以直接Copy dll 和 mdb文件到UnityAsset目录下
This commit is contained in:
74
TEngineHotUpdate/src/TEngineCore/Core/BaseLogicSys.cs
Normal file
74
TEngineHotUpdate/src/TEngineCore/Core/BaseLogicSys.cs
Normal file
@@ -0,0 +1,74 @@
|
||||
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
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user