mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
事件系统优化更新
事件系统优化更新 1.使用静态代替单例,静态方法调用时候内存地址无需二次偏移定位 2.UI事件在关闭UI时自动反监听
This commit is contained in:
@@ -7,17 +7,19 @@ namespace TEngine.Runtime
|
||||
/// </summary>
|
||||
public class ProcedureResourcesInit : ProcedureBase
|
||||
{
|
||||
public static int OnInitResourceCompleteEvent = StringId.StringToHash("OnInitResourceComplete");
|
||||
|
||||
private bool m_initResourceComplete = false;
|
||||
|
||||
protected override void OnEnter(IFsm<IProcedureManager> procedureOwner)
|
||||
{
|
||||
|
||||
base.OnEnter(procedureOwner);
|
||||
GameEventMgr.Instance.AddEventListener("OnInitResourceComplete", OnInitResourceComplete);
|
||||
GameEvent.AddEventListener(OnInitResourceCompleteEvent, OnInitResourceComplete);
|
||||
m_initResourceComplete = false;
|
||||
LoaderUtilities.DelayFun((() =>
|
||||
{
|
||||
GameEventMgr.Instance.Send("OnInitResourceComplete");
|
||||
GameEvent.Send(OnInitResourceCompleteEvent);
|
||||
}),new WaitForSeconds(1f));
|
||||
}
|
||||
|
||||
@@ -35,7 +37,7 @@ namespace TEngine.Runtime
|
||||
protected override void OnLeave(IFsm<IProcedureManager> procedureOwner, bool isShutdown)
|
||||
{
|
||||
base.OnLeave(procedureOwner, isShutdown);
|
||||
GameEventMgr.Instance.RemoveEventListener("OnInitResourceComplete", OnInitResourceComplete);
|
||||
GameEvent.RemoveEventListener(OnInitResourceCompleteEvent, OnInitResourceComplete);
|
||||
}
|
||||
|
||||
private void OnInitResourceComplete()
|
||||
|
@@ -18,7 +18,7 @@ namespace TEngine.Runtime
|
||||
{
|
||||
base.OnEnter(procedureOwner);
|
||||
|
||||
GameEventMgr.Instance.AddEventListener<bool>("DownLoadResult.AllDownLoaded",AllDownLoaded);
|
||||
GameEvent.AddEventListener<bool>(LoadMgr.DownLoadFinish,AllDownLoaded);
|
||||
|
||||
_procedureOwner = procedureOwner;
|
||||
|
||||
|
@@ -13,7 +13,7 @@
|
||||
protected override void OnEnter(IFsm<IProcedureManager> procedureOwner)
|
||||
{
|
||||
base.OnEnter(procedureOwner);
|
||||
GameEventMgr.Instance.Send(TEngineEvent.OnStartGame);
|
||||
GameEvent.Send(TEngineEvent.OnStartGame);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user