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?.PlayGameSoundClip(SoundType.ButtonClick); popupManager.HidePopup(popupType); ScreenManager screenManager = InterfaceManager.Instance?.GetInterfaceInstance(); screenManager.ShowScreen(ScreenType.InGameHUDScreen); } private void OnClick_HomeButton() { soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance() : soundManager; soundManager?.PlayGameSoundClip(SoundType.ButtonClick); popupManager.HidePopup(popupType); gameManager = InterfaceManager.Instance?.GetInterfaceInstance(); gameManager.OnGameStateChanged(GameState.InMenu); } private void OnClick_ExitButton() { Application.Quit(); } }