36 lines
859 B
C#
36 lines
859 B
C#
using UnityEngine;
|
|
|
|
namespace ShrinkEventBus
|
|
{
|
|
public static class EventAutoRegHelper
|
|
{
|
|
private static readonly object InitLock = new();
|
|
public static bool IsInitialized { get; private set; }
|
|
|
|
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
|
|
private static void InitializeAfterSceneLoad()
|
|
{
|
|
EnsureInitialized();
|
|
}
|
|
|
|
public static void EnsureInitialized()
|
|
{
|
|
if (IsInitialized) return;
|
|
lock (InitLock)
|
|
{
|
|
if (IsInitialized) return;
|
|
IsInitialized = true;
|
|
}
|
|
}
|
|
|
|
public static void Cleanup()
|
|
{
|
|
lock (InitLock)
|
|
{
|
|
IsInitialized = false;
|
|
}
|
|
|
|
EventBus.UnregisterAllEvents();
|
|
}
|
|
}
|
|
} |