YanCheng_Metrology/Assets/Scripts/ProjectBase/MonoManager/MonoMgr.cs

104 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
public class MonoMgr : SingletonAutoMono<MonoMgr>
{
/// <summary>
/// ?????
/// </summary>
private event UnityAction onUpdate;
/// <summary>
/// ????????
/// </summary>
private event UnityAction onFixedUpdate;
/// <summary>
/// ????????
/// </summary>
private event UnityAction onLateUpdate;
/// <summary>
/// ????
/// </summary>
/// <param name="action"></param>
public void AddUpdateListener(UnityAction action)
{
onUpdate += action;
}
/// <summary>
/// ???
/// </summary>
/// <param name="action"></param>
public void RemoveUpdateListener(UnityAction action)
{
onUpdate -= action;
}
/// <summary>
/// ????
/// </summary>
/// <param name="action"></param>
public void AddFixedUpdateListener(UnityAction action)
{
onFixedUpdate += action;
}
/// <summary>
/// ???
/// </summary>
/// <param name="action"></param>
public void RemoveFixedUpdateListener(UnityAction action)
{
onFixedUpdate -= action;
}
/// <summary>
/// ????
/// </summary>
/// <param name="action"></param>
public void AddLateUpdateListener(UnityAction action)
{
onLateUpdate += action;
}
/// <summary>
/// ???
/// </summary>
/// <param name="action"></param>
public void RemoveLateUpdateListener(UnityAction action)
{
onLateUpdate -= action;
}
/// <summary>
/// ?????
/// </summary>
private void Update()
{
onUpdate?.Invoke();
}
/// <summary>
/// ?????????
/// </summary>
private void FixedUpdate()
{
onFixedUpdate?.Invoke();
}
/// <summary>
/// ????????
/// </summary>
private void LateUpdate()
{
onLateUpdate?.Invoke();
}
}