using SalientVoid.Core;
namespace SalientVoid.Input
{
public class InputEvent : PersistentSingleton<InputEvent>
{
public static PlayerInputActions Player { get; private set; } = new();
public static UiInputActions Ui { get; private set; } = new();
private InputControls _inputControls; // This is the instance of the input system generated code
protected override void Awake()
{
base.Awake();
Initialize();
}
public void EnablePlayerInput()
{
if (_inputControls.Player.enabled) { return; }
_inputControls.Player.Enable();
}
public void DisablePlayerInput()
{
if (!_inputControls.Player.enabled) { return; }
_inputControls.Player.Disable();
}
public void EnableUiInput()
{
if (_inputControls.UI.enabled) { return; }
_inputControls.UI.Enable();
}
public void DisableUiInput()
{
if (!_inputControls.Player.enabled) { return; }
_inputControls.Player.Disable();
}
private void Initialize()
{
_inputControls = new InputControls();
Player.Bind(_inputControls.Player);
Ui.Bind(_inputControls.UI);
_inputControls.Player.Enable();
_inputControls.UI.Enable();
}
}
}