事件系统优化更新

事件系统优化更新
1.使用静态代替单例,静态方法调用时候内存地址无需二次偏移定位
2.UI事件在关闭UI时自动反监听
This commit is contained in:
ALEXTANG
2022-10-26 15:14:04 +08:00
parent 2e175fbcac
commit 74092e6399
37 changed files with 905 additions and 1187 deletions

View File

@@ -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()