레스토랑 플레이어 키 바인딩 구조 변경

This commit is contained in:
NTG_Lenovo 2025-07-23 12:25:33 +09:00
parent 2b483bf213
commit 8fb94dc08a
2 changed files with 50 additions and 9 deletions

View File

@ -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<RestaurantPlayerDataSo>(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);
}
}
}
}

View File

@ -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<Vector2>();
_inputDirection = new Vector3(movementInput.x, 0f, movementInput.y);
if (context.performed || context.canceled)
{
Vector2 movementInput = context.ReadValue<Vector2>();
_inputDirection = new Vector3(movementInput.x, 0f, movementInput.y);
}
}
#endregion