30 lines
683 B
C#

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.FindAnyObjectByType<CharacterEventBus>();
return instance;
}
}