summaryrefslogtreecommitdiff
path: root/src/SMAPI
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI')
-rw-r--r--src/SMAPI/Utilities/Keybind.cs10
-rw-r--r--src/SMAPI/Utilities/KeybindList.cs2
2 files changed, 10 insertions, 2 deletions
diff --git a/src/SMAPI/Utilities/Keybind.cs b/src/SMAPI/Utilities/Keybind.cs
index 9d6cd6ee..dd8d2861 100644
--- a/src/SMAPI/Utilities/Keybind.cs
+++ b/src/SMAPI/Utilities/Keybind.cs
@@ -10,6 +10,14 @@ namespace StardewModdingAPI.Utilities
public class Keybind
{
/*********
+ ** Fields
+ *********/
+ /// <summary>Get the current input state for a button.</summary>
+ [Obsolete("This property should only be used for unit tests.")]
+ internal Func<SButton, SButtonState> GetButtonState { get; set; } = SGame.GetInputState;
+
+
+ /*********
** Accessors
*********/
/// <summary>The buttons that must be down to activate the keybind.</summary>
@@ -97,7 +105,7 @@ namespace StardewModdingAPI.Utilities
/// <summary>Get the keybind state relative to the previous tick.</summary>
public SButtonState GetState()
{
- SButtonState[] states = this.Buttons.Select(SGame.GetInputState).Distinct().ToArray();
+ SButtonState[] states = this.Buttons.Select(this.GetButtonState).Distinct().ToArray();
// single state
if (states.Length == 1)
diff --git a/src/SMAPI/Utilities/KeybindList.cs b/src/SMAPI/Utilities/KeybindList.cs
index 4ae66ab7..1845285a 100644
--- a/src/SMAPI/Utilities/KeybindList.cs
+++ b/src/SMAPI/Utilities/KeybindList.cs
@@ -72,7 +72,7 @@ namespace StardewModdingAPI.Utilities
if (rawErrors.Any())
{
parsed = null;
- errors = rawErrors.ToArray();
+ errors = rawErrors.Distinct().ToArray();
return false;
}
else