using UnityEngine; using UnityEngine.InputSystem; namespace DDD.Restaurant { public class PlayerInput : MonoBehaviour { private RestaurantPlayerData _playerDataSo; private void Start() { _playerDataSo = RestaurantData.Instance.PlayerData; #if UNITY_EDITOR _playerDataSo.OpenManagementUiAction = InputManager.Instance.GetAction(InputActionMaps.Restaurant, nameof(RestaurantActions.OpenManagementUi)); _playerDataSo.OpenManagementUiAction.performed += OnOpenManagementUi; #endif } private void OnDestroy() { if (!_playerDataSo) return; #if UNITY_EDITOR _playerDataSo.OpenManagementUiAction.performed -= OnOpenManagementUi; #endif } #if UNITY_EDITOR private void OnOpenManagementUi(InputAction.CallbackContext context) { if (context.performed) { if (GameFlowManager.Instance.GameFlowDataSo.CurrentGameState != GameFlowState.ReadyForRestaurant) return; var evt = GameEvents.OpenPopupUiEvent; evt.UiType = typeof(RestaurantManagementUi); EventBus.Broadcast(evt); } } } #endif }