using System; using UnityEngine; using UnityEngine.UI; namespace MedievalParty.Lobby { public class UI_LobbySection: MonoBehaviour { public static UI_LobbySection Instance { get; private set; } public event EventHandler onSoloTrigger; public event EventHandler onLocalTrigger; public event EventHandler onOnlineTrigger; public event EventHandler onStartTrigger; [SerializeField] private Button soloButton; [SerializeField] private Button localButton; [SerializeField] private Button onlineButton; [SerializeField] private Button startButton; private void Awake() { if (Instance) { Debug.LogWarning($"{typeof(UI_LobbySection)} already exist! {transform}"); Destroy(gameObject); return; } Instance = this; } private void Start() { soloButton.onClick.AddListener(() => onSoloTrigger?.Invoke(this, EventArgs.Empty)); localButton.onClick.AddListener(() => onLocalTrigger?.Invoke(this, EventArgs.Empty)); onlineButton.onClick.AddListener(() => onOnlineTrigger?.Invoke(this, EventArgs.Empty)); startButton.onClick.AddListener(() => onStartTrigger?.Invoke(this, EventArgs.Empty)); } } }