using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class GameOverPopup : PopupBase { [SerializeField] private Button playAgainBtn; [SerializeField] private Button mainMenuBtn; [SerializeField] private TextMeshProUGUI[] texts; private GameModeHandler gameModeHandler; private ScreenManager screenManager; private void OnEnable() { playAgainBtn.onClick.AddListener(OnPlayAgainClicked); mainMenuBtn.onClick.AddListener(OnMainMenuClicked); } private void OnDisable() { playAgainBtn.onClick.RemoveAllListeners(); mainMenuBtn.onClick.RemoveAllListeners(); } public void OnPlayAgainClicked() { HidePopup(); gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance() : gameModeHandler; gameModeHandler.OnGameRestarted(); } private void HidePopup() { popupManager.HidePopup(popupType); } public void OnMainMenuClicked() { HidePopup(); screenManager = screenManager == null ? InterfaceManager.Instance.GetInterfaceInstance() : screenManager; screenManager.ShowScreen(ScreenType.MenuScreen); } public void InitData(List playerDatas) { for (int i = 0; i < playerDatas.Count; i++) { if (i == 0) { texts[i].text = $"{playerDatas[i].playerName} Wins"; continue; } texts[i].text = $"{(i + 1)}. {playerDatas[i].playerName}"; } } }