using UnityEngine; using UnityEngine.Events; public class CharacterEventBus : MonoBehaviour { public static CharacterEventBus Instance => instance ?? Initialize(); private static CharacterEventBus instance; public UnityEvent OnCharacterAppeared; public UnityEvent OnBotTurn; public UnityEvent OnPlayerTurn; public UnityEvent OnBotWin; public UnityEvent OnPlayerWin; public UnityEvent OnLevelDown; public UnityEvent OnDraw; private void Awake() { instance = this; } static CharacterEventBus Initialize() { instance = GameObject.FindObjectOfType(); return instance; } }