94 lines
3.3 KiB
C#
Raw Permalink Normal View History

2026-01-21 15:59:12 +05:30
using UnityEngine;
using UnityEngine.UI;
public class MenuHUDScreen : ScreenBase
{
[Header("Mode Buttons")]
2026-01-21 15:59:12 +05:30
[SerializeField] private Button pvpModeBtn;
[SerializeField] private Button pvaiModeBtn;
[Header("Popups")]
[SerializeField] private Button optionsBtn;
[SerializeField] private Button instructionsBtn;
[SerializeField] private Button exitBtn;
2026-01-21 15:59:12 +05:30
private PopupManager popupManager;
private SoundManager soundManager;
2026-01-21 15:59:12 +05:30
private void OnEnable()
{
2026-02-02 17:45:34 +05:30
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);
2026-01-21 15:59:12 +05:30
}
private void OnDisable()
{
2026-02-02 17:45:34 +05:30
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);
2026-01-21 15:59:12 +05:30
}
2026-02-02 17:45:34 +05:30
private void OnClick_PVPModeButton()
2026-01-21 15:59:12 +05:30
{
popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<PopupManager>() : popupManager;
popupManager.ShowPopup(PopupType.PvPModePopup);
2026-01-21 15:59:12 +05:30
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
2026-02-02 17:45:34 +05:30
HideScreen();
2026-01-21 15:59:12 +05:30
}
2026-02-02 17:45:34 +05:30
private void OnClick_PvAIModeButton()
{
popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<PopupManager>() : popupManager;
popupManager.ShowPopup(PopupType.PvAIModePopup);
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
2026-02-02 17:45:34 +05:30
HideScreen();
}
2026-02-02 17:45:34 +05:30
private void OnClick_OptionsButton()
{
popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<PopupManager>() : popupManager;
popupManager.ShowPopup(PopupType.OptionsPopup);
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
2026-02-02 17:45:34 +05:30
HideScreen();
}
2026-02-02 17:45:34 +05:30
private void OnClick_InstructionsButton()
{
popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<PopupManager>() : popupManager;
popupManager.ShowPopup(PopupType.InstructionsPopup);
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
2026-02-02 17:45:34 +05:30
HideScreen();
}
2026-02-02 17:45:34 +05:30
private void HideScreen()
{
screenManager.HideScreen(ScreenType);
}
private void OnClick_ExitButton()
{
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
Application.Quit();
}
2026-01-21 15:59:12 +05:30
}