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(); } }