From 8fb94dc08a2c45da665b3109b8f07376697d3a65 Mon Sep 17 00:00:00 2001 From: NTG_Lenovo Date: Wed, 23 Jul 2025 12:25:33 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A0=88=EC=8A=A4=ED=86=A0=EB=9E=91=20?= =?UTF-8?q?=ED=94=8C=EB=A0=88=EC=9D=B4=EC=96=B4=20=ED=82=A4=20=EB=B0=94?= =?UTF-8?q?=EC=9D=B8=EB=94=A9=20=EA=B5=AC=EC=A1=B0=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RestaurantPlayerInput.cs | 35 +++++++++++++++++++ .../RestaurantPlayerMovement.cs | 24 ++++++++----- 2 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerInput.cs diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerInput.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerInput.cs new file mode 100644 index 000000000..9d1376b50 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerInput.cs @@ -0,0 +1,35 @@ +using UnityEngine; +using UnityEngine.InputSystem; + +namespace DDD +{ + public class RestaurantPlayerInput : MonoBehaviour + { + private RestaurantPlayerDataSo _playerDataSo; + + private async void Start() + { + _playerDataSo = await AssetManager.LoadAsset(DataConstants.RestaurantPlayerDataSo); + _playerDataSo.OpenManagementUiAction = InputManager.Instance.GetAction(InputActionMaps.Restaurant, nameof(RestaurantActions.OpenManagementUi)); + + _playerDataSo.OpenManagementUiAction.performed += OnOpenManagementUi; + } + + private void OnDestroy() + { + if (!_playerDataSo) return; + + _playerDataSo.OpenManagementUiAction.performed -= OnOpenManagementUi; + } + + private void OnOpenManagementUi(InputAction.CallbackContext context) + { + if (context.performed) + { + var evt = GameEvents.OpenPopupUiEvent; + evt.UiType = typeof(RestaurantManagementUi); + EventBus.Broadcast(evt); + } + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerMovement.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerMovement.cs index f8296bd76..9a3c14013 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerMovement.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerMovement.cs @@ -92,18 +92,21 @@ private async System.Threading.Tasks.Task InitializePlayerData() private void SubscribeToInputEvents() { - _playerDataSo.MoveActionReference.action.performed += OnMove; - _playerDataSo.MoveActionReference.action.canceled += OnMove; - _playerDataSo.DashActionReference.action.performed += OnDash; + _playerDataSo.MoveAction = InputManager.Instance.GetAction(InputActionMaps.Restaurant, nameof(RestaurantActions.Move)); + _playerDataSo.DashAction = InputManager.Instance.GetAction(InputActionMaps.Restaurant, nameof(RestaurantActions.Dash)); + + _playerDataSo.MoveAction.performed += OnMove; + _playerDataSo.MoveAction.canceled += OnMove; + _playerDataSo.DashAction.performed += OnDash; } private void UnsubscribeFromInputEvents() { if (!_playerDataSo) return; - _playerDataSo.MoveActionReference.action.performed -= OnMove; - _playerDataSo.MoveActionReference.action.canceled -= OnMove; - _playerDataSo.DashActionReference.action.performed -= OnDash; + _playerDataSo.MoveAction.performed -= OnMove; + _playerDataSo.MoveAction.canceled -= OnMove; + _playerDataSo.DashAction.performed -= OnDash; } #endregion @@ -164,7 +167,7 @@ private void ApplyVelocity() private void OnDash(InputAction.CallbackContext context) { - if (CanDash()) + if (context.performed && CanDash()) { StartCoroutine(DashCoroutine()); } @@ -219,8 +222,11 @@ private void SetCurrentDirection(Vector3 normalDirection) private void OnMove(InputAction.CallbackContext context) { - Vector2 movementInput = context.ReadValue(); - _inputDirection = new Vector3(movementInput.x, 0f, movementInput.y); + if (context.performed || context.canceled) + { + Vector2 movementInput = context.ReadValue(); + _inputDirection = new Vector3(movementInput.x, 0f, movementInput.y); + } } #endregion