Move events to App class.
This commit is contained in:
37
Runtime/App.cs
Normal file
37
Runtime/App.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
|
||||
namespace Utils
|
||||
{
|
||||
public static class App
|
||||
{
|
||||
public static event Action Update;
|
||||
public static event Action LateUpdate;
|
||||
public static event Action EarlyUpdate;
|
||||
public static event Action LastUpdate;
|
||||
public static event Action FixedUpdate;
|
||||
|
||||
internal static void InvokeUpdate() => Update?.Invoke();
|
||||
internal static void InvokeLateUpdate() => LateUpdate?.Invoke();
|
||||
internal static void InvokeEarlyUpdate() => EarlyUpdate?.Invoke();
|
||||
internal static void InvokeLastUpdate() => LastUpdate?.Invoke();
|
||||
internal static void InvokeFixedUpdate() => FixedUpdate?.Invoke();
|
||||
|
||||
internal static void ClearUpdate() => Update = null;
|
||||
internal static void ClearLateUpdate() => LateUpdate = null;
|
||||
internal static void ClearEarlyUpdate() => EarlyUpdate = null;
|
||||
internal static void ClearLastUpdate() => LastUpdate = null;
|
||||
internal static void ClearFixedUpdate() => FixedUpdate = null;
|
||||
|
||||
internal static Delegate[] UpdateDelegates => Update?.GetInvocationList();
|
||||
internal static Delegate[] LateUpdateDelegates => LateUpdate?.GetInvocationList();
|
||||
internal static Delegate[] EarlyUpdateDelegates => EarlyUpdate?.GetInvocationList();
|
||||
internal static Delegate[] LastUpdateDelegates => LastUpdate?.GetInvocationList();
|
||||
internal static Delegate[] FixedUpdateDelegates => FixedUpdate?.GetInvocationList();
|
||||
|
||||
internal static int UpdateLength => UpdateDelegates?.Length ?? 0;
|
||||
internal static int LateUpdateLength => LateUpdateDelegates?.Length ?? 0;
|
||||
internal static int EarlyUpdateLength => EarlyUpdateDelegates?.Length ?? 0;
|
||||
internal static int LastUpdateLength => LastUpdateDelegates?.Length ?? 0;
|
||||
internal static int FixedUpdateLength => FixedUpdateDelegates?.Length ?? 0;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user