公共Mono模块
Contents
作用:
- 让没有继承Mono的模块 也可以被Unity生命周期函数调用或使用协程
- 可以节约部分反射造成的性能开销
using ProjectBase.SingleBase;
using UnityEngine.Events;
public class MonoManager : SingleMono<MonoManager>
{
private event UnityAction updateEvent;
private event UnityAction fixedUpdateEvent;
private void Update()
{
updateEvent?.Invoke();
}
private void FixedUpdate()
{
fixedUpdateEvent?.Invoke();
}
public void AddUpdateListener(UnityAction fun)
{
updateEvent += fun;
}
public void AddFixedUpdateListener(UnityAction fun)
{
fixedUpdateEvent += fun;
}
public void RemoveFixedUpdateListener(UnityAction fun)
{
fixedUpdateEvent -= fun;
}
public void RemoveUpdateListener(UnityAction fun)
{
updateEvent -= fun;
}
}