59 lines
1.3 KiB
C#
59 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
namespace Utils
|
|
{
|
|
public class EventManager : MonoBehaviour
|
|
{
|
|
public delegate void UpdateAction();
|
|
public static event UpdateAction Updated;
|
|
|
|
public delegate void FixedUpdateAction();
|
|
public static event FixedUpdateAction FixedUpdated;
|
|
|
|
public delegate void LateUpdateAction();
|
|
public static event LateUpdateAction LateUpdated;
|
|
|
|
private void Update()
|
|
{
|
|
Updated?.Invoke();
|
|
}
|
|
|
|
private void FixedUpdate()
|
|
{
|
|
FixedUpdated?.Invoke();
|
|
}
|
|
|
|
private void LateUpdate()
|
|
{
|
|
LateUpdated?.Invoke();
|
|
}
|
|
|
|
public static int UpdateLength
|
|
{
|
|
get
|
|
{
|
|
var list = Updated?.GetInvocationList();
|
|
return list?.Length ?? 0;
|
|
}
|
|
}
|
|
|
|
public static int FixedUpdateLength
|
|
{
|
|
get
|
|
{
|
|
var list = FixedUpdated?.GetInvocationList();
|
|
return list?.Length ?? 0;
|
|
}
|
|
}
|
|
|
|
public static int LateUpdateLength
|
|
{
|
|
get
|
|
{
|
|
var list = LateUpdated?.GetInvocationList();
|
|
return list?.Length ?? 0;
|
|
}
|
|
}
|
|
}
|
|
}
|