using System.Collections.Generic;
namespace StardewModdingAPI.Framework.Input
{
/// Manages input state.
/// The handler type.
/// The state type.
internal interface IInputStateBuilder
where TState : struct
where THandler : IInputStateBuilder
{
/*********
** Methods
*********/
/// Reset the tracked state.
/// The state from which to reset, or null to get the latest state.
THandler Reset(TState? state = null);
/// Override the states for a set of buttons.
/// The button state overrides.
THandler OverrideButtons(IDictionary overrides);
/// Get the currently pressed buttons.
IEnumerable GetPressedButtons();
/// Get the equivalent state.
TState GetState();
}
}