using System; using BlueWater; using BlueWater.Uis; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.InputSystem; using UnityEngine.UI; public class TitleQuit : PopupUi { [SerializeField] private GameObject _panel; private InputAction _interactionEAction; private InputAction _closeOptionsAction; public Action CloseQuit; private void Start() { _interactionEAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.InteractionE); _closeOptionsAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.Cancel); } private void OnDestroy() { if (_interactionEAction != null) { _interactionEAction.performed -= OnInteractionE; } if (_closeOptionsAction != null) { _closeOptionsAction.performed -= OnCloseOptions; } } public override void Open() { PopupUiController.RegisterPopup(this); _panel.SetActive(true); IsOpened = true; } public override void Close() { _panel.SetActive(false); PopupUiController.UnregisterPopup(this); IsOpened = false; } public override void EnableInput() { _interactionEAction.performed += OnInteractionE; _closeOptionsAction.performed += OnCloseOptions; } public override void DisableInput() { _interactionEAction.performed -= OnInteractionE; _closeOptionsAction.performed -= OnCloseOptions; } public void OnInteractionE(InputAction.CallbackContext context) { var current = EventSystem.current.currentSelectedGameObject; if (!current) return; var currenButton = current.GetComponent