summaryrefslogtreecommitdiff
path: root/src/SMAPI/SButtonState.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI/SButtonState.cs')
-rw-r--r--src/SMAPI/SButtonState.cs29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/SMAPI/SButtonState.cs b/src/SMAPI/SButtonState.cs
new file mode 100644
index 00000000..2b78da27
--- /dev/null
+++ b/src/SMAPI/SButtonState.cs
@@ -0,0 +1,29 @@
+namespace StardewModdingAPI
+{
+ /// <summary>The input state for a button during an update frame.</summary>
+ public enum SButtonState
+ {
+ /// <summary>The button was neither pressed, held, nor released.</summary>
+ None,
+
+ /// <summary>The button was pressed in this frame.</summary>
+ Pressed,
+
+ /// <summary>The button has been held since the last frame.</summary>
+ Held,
+
+ /// <summary>The button was released in this frame.</summary>
+ Released
+ }
+
+ /// <summary>Extension methods for <see cref="SButtonState"/>.</summary>
+ internal static class InputStatusExtensions
+ {
+ /// <summary>Whether the button was pressed or held.</summary>
+ /// <param name="state">The button state.</param>
+ public static bool IsDown(this SButtonState state)
+ {
+ return state == SButtonState.Held || state == SButtonState.Pressed;
+ }
+ }
+}