using System;
using UnityEngine.InputSystem;
namespace SalientVoid.Input
{
/// <summary>
/// Simple event container for Player-specific actions
/// </summary>
public class PlayerInputActions
{
public event Action<InputAction.CallbackContext> Attack;
public event Action<InputAction.CallbackContext> Crouch;
public event Action<InputAction.CallbackContext> Interact;
public event Action<InputAction.CallbackContext> Jump;
public event Action<InputAction.CallbackContext> Look;
public event Action<InputAction.CallbackContext> Move;
public event Action<InputAction.CallbackContext> Next;
public event Action<InputAction.CallbackContext> Previous;
public event Action<InputAction.CallbackContext> Sprint;
public void Bind(InputControls.PlayerActions control)
{
control.Attack.performed += context => Attack?.Invoke(context);
control.Crouch.performed += context => Crouch?.Invoke(context);
control.Interact.performed += context => Interact?.Invoke(context);
control.Jump.performed += context => Jump?.Invoke(context);
control.Look.performed += context => Look?.Invoke(context);
control.Move.performed += context => Move?.Invoke(context);
control.Next.performed += context => Next?.Invoke(context);
control.Previous.performed += context => Previous?.Invoke(context);
control.Sprint.performed += context => Sprint?.Invoke(context);
}
}
}