using Godot;

namespace Cirno.Scripts.Components.Actors;

public abstract partial class InputProvider : Node
{
    public abstract Vector2 GetMovementInput();
    public abstract Vector2 GetAimInput();

    public abstract bool GetActionJustPressed(string action);
    public abstract bool GetActionPressed(string action);
    public abstract bool GetInventoryJustPressed();
    public abstract bool GetShootPressed();
    public abstract bool GetShootJustPressed();
    public abstract bool GetUseJustPressed();
    public abstract bool GetScanJustPressed();
    public abstract bool GetStrafePressed();
    public abstract bool GetWeaponNextJustPressed();
    public abstract bool GetWeaponPreviousJustPressed();
    public abstract bool GetPauseJustPressed();
    
    public abstract bool GetFreezeJustPressed();
    public abstract bool GetFreezePressed();
    
    public abstract bool GetReloadJustPressed();
    public abstract bool GetReloadPressed();
}