Files
HeadlessHazard/Assets/Code/Scripts/Player/PlayerInputHandler.cs
2026-03-10 15:10:05 +01:00

56 lines
1.6 KiB
C#

using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.Windows;
public class PlayerInputController : MonoBehaviour
{
public InputActionAsset InputActions;
private InputAction m_moveAction;
private InputAction m_lookAction;
private InputAction m_jumpAction;
private InputAction m_throwAction;
private InputAction m_pickupAction;
private InputAction m_shiftAction;
public Vector2 MoveAmount { get; private set; }
public Vector2 LookAmount { get; private set; }
public bool JumpPressed { get; private set; }
public bool ShiftPressed { get; private set; }
public bool ThrowPressed { get; private set; }
public bool PickupPressed { get; private set; }
private void Awake()
{
var map = InputActions.FindActionMap("Player");
m_moveAction = map.FindAction("Move");
m_lookAction = map.FindAction("Look");
m_jumpAction = map.FindAction("Jump");
m_shiftAction = map.FindAction("Shift");
m_throwAction = map.FindAction("Throw");
m_pickupAction = map.FindAction("Pickup");
}
private void OnEnable()
{
InputActions.FindActionMap("Player").Enable();
}
private void OnDisable()
{
InputActions.FindActionMap("Player").Disable();
}
private void Update()
{
MoveAmount = m_moveAction.ReadValue<Vector2>();
LookAmount = m_lookAction.ReadValue<Vector2>();
ShiftPressed = m_shiftAction.IsPressed();
JumpPressed = m_jumpAction.WasPressedThisFrame();
ThrowPressed = m_throwAction.WasPressedThisFrame();
PickupPressed = m_pickupAction.WasPressedThisFrame();
}
}