using UnityEngine; using UnityEngine.UI; public class MenuHUDScreen : ScreenBase { [Header("Mode Buttons")] [SerializeField] private Button pvpModeBtn; [SerializeField] private Button pvaiModeBtn; [Header("Popups")] [SerializeField] private Button optionsBtn; [SerializeField] private Button instructionsBtn; [SerializeField] private Button exitBtn; private PopupManager popupManager; private SoundManager soundManager; private void OnEnable() { pvpModeBtn.onClick.AddListener(OnClick_PVPModeButton); pvaiModeBtn.onClick.AddListener(OnClick_PvAIModeButton); optionsBtn.onClick.AddListener(OnClick_OptionsButton); instructionsBtn.onClick.AddListener(OnClick_InstructionsButton); exitBtn.onClick.AddListener(OnClick_ExitButton); } private void OnDisable() { pvpModeBtn.onClick.RemoveListener(OnClick_PVPModeButton); pvaiModeBtn.onClick.RemoveListener(OnClick_PvAIModeButton); optionsBtn.onClick.RemoveListener(OnClick_OptionsButton); instructionsBtn.onClick.RemoveListener(OnClick_InstructionsButton); exitBtn.onClick.RemoveListener(OnClick_ExitButton); } private void OnClick_PVPModeButton() { popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : popupManager; popupManager.ShowPopup(PopupType.PvPModePopup); soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : soundManager; soundManager?.PlayGameSoundClip(SoundType.ButtonClick); HideScreen(); } private void OnClick_PvAIModeButton() { popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : popupManager; popupManager.ShowPopup(PopupType.PvAIModePopup); soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : soundManager; soundManager?.PlayGameSoundClip(SoundType.ButtonClick); HideScreen(); } private void OnClick_OptionsButton() { popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : popupManager; popupManager.ShowPopup(PopupType.OptionsPopup); soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : soundManager; soundManager?.PlayGameSoundClip(SoundType.ButtonClick); HideScreen(); } private void OnClick_InstructionsButton() { popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : popupManager; popupManager.ShowPopup(PopupType.InstructionsPopup); soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : soundManager; soundManager?.PlayGameSoundClip(SoundType.ButtonClick); HideScreen(); } private void HideScreen() { screenManager.HideScreen(ScreenType); } private void OnClick_ExitButton() { soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : soundManager; soundManager?.PlayGameSoundClip(SoundType.ButtonClick); Application.Quit(); } }