94 lines
3.3 KiB
C#

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;
popupManager.ShowPopup(PopupType.PvPModePopup);
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
HideScreen();
}
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);
HideScreen();
}
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);
HideScreen();
}
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);
HideScreen();
}
private void HideScreen()
{
screenManager.HideScreen(ScreenType);
}
private void OnClick_ExitButton()
{
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
Application.Quit();
}
}