56 lines
1.7 KiB
C#
56 lines
1.7 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class PauseMenuPopup : PopupBase
|
|
{
|
|
[Header("Buttons")]
|
|
[SerializeField] private Button homeBtn;
|
|
[SerializeField] private Button playBtn;
|
|
[SerializeField] private Button exitBtn;
|
|
|
|
private SoundManager soundManager;
|
|
private GameManager gameManager;
|
|
|
|
private void OnEnable()
|
|
{
|
|
playBtn.onClick.AddListener(OnClick_PlayButton);
|
|
homeBtn.onClick.AddListener(OnClick_HomeButton);
|
|
exitBtn.onClick.AddListener(OnClick_ExitButton);
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
playBtn.onClick.RemoveListener(OnClick_PlayButton);
|
|
homeBtn.onClick.RemoveListener(OnClick_HomeButton);
|
|
exitBtn.onClick.RemoveListener(OnClick_ExitButton);
|
|
}
|
|
|
|
private void OnClick_PlayButton()
|
|
{
|
|
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
|
|
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
|
|
|
|
popupManager.HidePopup(popupType);
|
|
|
|
ScreenManager screenManager = InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>();
|
|
screenManager.ShowScreen(ScreenType.InGameHUDScreen);
|
|
}
|
|
|
|
private void OnClick_HomeButton()
|
|
{
|
|
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
|
|
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
|
|
|
|
popupManager.HidePopup(popupType);
|
|
|
|
gameManager = InterfaceManager.Instance?.GetInterfaceInstance<GameManager>();
|
|
gameManager.OnGameStateChanged(GameState.InMenu);
|
|
}
|
|
|
|
private void OnClick_ExitButton()
|
|
{
|
|
Application.Quit();
|
|
}
|
|
|
|
}
|