using UnityEngine; using UnityEngine.UI; using TMPro; using System.Collections; public class GameHUDS : ScreenBase { [SerializeField] private Button diceBtn; [SerializeField] private Button pauseBtn; [Header("Text")] [SerializeField] private TMP_Text diceCountText; [SerializeField] private TMP_Text playerTurnText; private SoundManager soundManager; private UIManager uiManager; private void OnEnable() { pauseBtn.onClick.AddListener(OnClick_PauseButton); diceBtn.onClick.AddListener(OnClick_DiceButton); } private void OnDisable() { pauseBtn.onClick.RemoveListener(OnClick_PauseButton); diceBtn.onClick.RemoveListener(OnClick_DiceButton); } private void OnClick_PauseButton() { soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : soundManager; soundManager?.PlayGameSoundClip(SoundType.ButtonClick); screenManager.HideScreen(screenType); PopupManager popupManager = InterfaceManager.Instance?.GetInterfaceInstance(); popupManager.ShowPopup(PopupType.PauseMenuPopup); SetUIManager(); uiManager.GameManager.SetGameState(GameState.IsPaused); } private void OnClick_DiceButton() { SetUIManager(); uiManager.OnDiceViewInteracted(); } private void SetUIManager() { uiManager = uiManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : uiManager; } public void UpdatePlayerTurnText(PlayerType playerType) { Debug.Log($"GameHUDS: UpdatePlayerTurnText: {playerType}"); switch (playerType) { case PlayerType.Player1: playerTurnText.text = "Turn : Red"; break; case PlayerType.Player2: playerTurnText.text = "Turn : Blue"; break; case PlayerType.Player3: playerTurnText.text = "Turn : Grey"; break; case PlayerType.Player4: playerTurnText.text = "Turn : Green"; break; default: playerTurnText.text = "Turn"; break; } } }