diff options
Diffstat (limited to 'WorldlineKeepers/Assets/Scripts/Application/ApplicationMain.cs')
-rw-r--r-- | WorldlineKeepers/Assets/Scripts/Application/ApplicationMain.cs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/WorldlineKeepers/Assets/Scripts/Application/ApplicationMain.cs b/WorldlineKeepers/Assets/Scripts/Application/ApplicationMain.cs new file mode 100644 index 0000000..a4698f4 --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Application/ApplicationMain.cs @@ -0,0 +1,62 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace WK +{ + + /// <summary> + /// 主循环,所有子系统的更新理论上都走这里的循环 + /// </summary> + public class ApplicationMain : Singleton<ApplicationMain> + { + public delegate void ApplicationCallback(); + + #region 事件 + public event ApplicationCallback onAwakeHandler; + public event ApplicationCallback onStartHandler; + public event ApplicationCallback onUpdateHandler; + public event ApplicationCallback onFixedUpdateHandler; + public event ApplicationCallback onApplicationQuitHandler; + public event ApplicationCallback onDestroyHandler; + public event ApplicationCallback onApplicationPauseHandler; + #endregion + + public void OnAwake() + { + onAwakeHandler?.Invoke(); + } + + public void OnStart() + { + onStartHandler?.Invoke(); + } + + public void OnUpdate() + { + onUpdateHandler?.Invoke(); + } + + public void OnFixedUpdate() + { + onFixedUpdateHandler?.Invoke(); + } + + public void OnDestroy() + { + onDestroyHandler?.Invoke(); + } + + public void OnApplicationQuit() + { + onApplicationQuitHandler?.Invoke(); + } + + public void OnApplicationPause() + { + onApplicationPauseHandler?.Invoke(); + } + + } + +} |