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();
}
}
}