using System.Collections; using System.Collections.Generic; using UnityEngine; namespace WK { /// /// 主循环,所有子系统的更新理论上都走这里的循环 /// public class ApplicationMain : Singleton { 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(); GamePhaseManager.Instance.OnAwake(); } public void OnStart() { onStartHandler?.Invoke(); GamePhaseManager.Instance.OnStart(); } public void OnUpdate() { onUpdateHandler?.Invoke(); GamePhaseManager.Instance.OnUpdate(); } public void OnFixedUpdate() { onFixedUpdateHandler?.Invoke(); GamePhaseManager.Instance.OnFixedUpdate(); } public void OnDestroy() { onDestroyHandler?.Invoke(); GamePhaseManager.Instance.OnDestroy(); } public void OnApplicationQuit() { onApplicationQuitHandler?.Invoke(); GamePhaseManager.Instance.OnApplicationQuit(); } public void OnApplicationPause() { onApplicationPauseHandler?.Invoke(); GamePhaseManager.Instance.OnApplicationPause(); } } }