using System.Collections; using System.Collections.Generic; using System.Linq; 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; public void InitData(List playerData) { for (int idx = 0; idx < texts.Length; idx++) { if (idx >= playerData.Count) { texts[idx].gameObject.SetActive(false); continue; } if (playerData[idx].ranking == 1) { texts[playerData[idx].ranking - 1].text = $"{playerData[idx].playerName} Wins"; continue; } texts[playerData[idx].ranking - 1].text = $"{playerData[idx].ranking}. {playerData[idx].playerName}"; } } 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(); } }