using System; using UnityEngine; using UnityEngine.UI; using TMPro; public sealed class GameInfoView : MonoBehaviour { [Header("Turn Info")] [SerializeField] private TMP_Text turnText; [Header("Game Over Overlay")] [SerializeField] private GameObject gameOverPanel; [SerializeField] private TMP_Text finalScoreText; [SerializeField] private Button newGameButton; public event Action OnNewGameClicked; private void Awake() { newGameButton.onClick.AddListener(() => OnNewGameClicked?.Invoke()); gameOverPanel.SetActive(false); } public void SetTurnText(int turn, int maxTurns) { turnText.text = $"Ход {turn} / {maxTurns}"; } public void ShowGameOver(int finalScore) { gameOverPanel.SetActive(true); finalScoreText.text = $"Итого: {finalScore}"; } public void HideGameOver() { gameOverPanel.SetActive(false); } private void OnDestroy() { newGameButton.onClick.RemoveAllListeners(); } }