77 lines
2.3 KiB
C#
Raw Permalink Normal View History

using TMPro;
2026-01-28 15:51:45 +05:30
using UnityEngine;
using UnityEngine.UI;
public class GameHUDScreen : ScreenBase
2026-01-28 15:51:45 +05:30
{
[SerializeField] private Image playerTurnIcon;
[Header("Buttons")]
2026-01-28 20:46:45 +05:30
[SerializeField] private Button diceBtn;
2026-01-28 15:51:45 +05:30
[SerializeField] private Button pauseBtn;
[Header("Text")]
[SerializeField] private TMP_Text diceCountText;
[SerializeField] private TMP_Text playerTurnText;
[SerializeField] private Sprite[] turnSprites;
private SoundManager soundManager;
private UIManager uiManager;
2026-01-28 15:51:45 +05:30
private void OnEnable()
{
pauseBtn.onClick.AddListener(OnClick_PauseButton);
diceBtn.onClick.AddListener(OnClick_DiceButton);
2026-01-28 15:51:45 +05:30
}
private void OnDisable()
{
pauseBtn.onClick.RemoveListener(OnClick_PauseButton);
diceBtn.onClick.RemoveListener(OnClick_DiceButton);
2026-01-28 15:51:45 +05:30
}
private void OnClick_PauseButton()
2026-01-28 15:51:45 +05:30
{
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
screenManager.HideScreen(screenType);
2026-01-28 15:51:45 +05:30
PopupManager popupManager = InterfaceManager.Instance?.GetInterfaceInstance<PopupManager>();
popupManager.ShowPopup(PopupType.PauseMenuPopup);
SetUIManager();
uiManager.GameManager.SetGameState(GameState.IsPaused);
}
private void OnClick_DiceButton()
{
SetUIManager();
uiManager.OnDiceViewInteracted();
2026-01-28 15:51:45 +05:30
}
private void SetUIManager()
2026-01-28 20:46:45 +05:30
{
uiManager = uiManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<UIManager>() : uiManager;
2026-01-28 20:46:45 +05:30
}
2026-01-30 22:17:18 +05:30
2026-02-06 19:26:29 +05:30
public void UpdatePlayerTurnText(PlayerType playerType, int remSec)
2026-01-30 22:17:18 +05:30
{
Debug.Log($"UpdateTurnText: Player Turn :: {(PlayerColorType)((int)playerType)} ({remSec})");
2026-02-06 19:26:29 +05:30
playerTurnText.text = $"Turn : {(PlayerColorType)((int)playerType)} ({remSec})";
}
public void UpdateBotTurnText(PlayerType playerType)
{
Debug.Log($"UpdateTurnText: Bot Turn :: {(PlayerColorType)((int)playerType)}");
2026-02-06 19:26:29 +05:30
playerTurnText.text = $"Turn : {(PlayerColorType)((int)playerType)}";
2026-01-30 22:17:18 +05:30
}
public void UpdatePlayerTurnIcon(PlayerType playerType)
{
playerTurnIcon.sprite = turnSprites[(int)playerType];
}
2026-01-28 15:51:45 +05:30
}