Ludo-3D/Assets/Scripts/UI/Pages/PopUp/GameOverPopup.cs

64 lines
1.7 KiB
C#
Raw Normal View History

2026-01-30 21:51:33 +05:30
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;
gameModeHandler.OnGameRestarted();
}
private void HidePopup()
{
popupManager.HidePopup(popupType);
}
public void OnMainMenuClicked()
{
HidePopup();
screenManager = screenManager == null ? InterfaceManager.Instance.GetInterfaceInstance<ScreenManager>() : screenManager;
screenManager.ShowScreen(ScreenType.MenuScreen);
}
public void InitData(List<PlayerData> playerDatas)
{
2026-01-31 00:05:18 +05:30
foreach (var playerData in playerDatas)
{
if (playerData.ranking == 1)
{
texts[playerData.ranking - 1].text = $"{playerData.playerName} Wins";;
continue;
}
texts[playerData.ranking - 1].text = $"{playerData.ranking}. {playerData.playerName}";
}
2026-01-30 21:51:33 +05:30
}
}