using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace GlitchyEngine; /// /// Provides methods to query the state of the input devices. /// public static class Input { /// /// Returns if the specified key is in the pressed down state. /// /// The key to query. public static bool IsKeyPressed(Key key) => ScriptGlue.Input_IsKeyPressed(key); /// /// Returns if the specified is in the released state. /// /// The key to query. public static bool IsKeyReleased(Key key) => ScriptGlue.Input_IsKeyReleased(key); /// /// Returns if the state of the specified changed this frame (i.e. changed from pressed to released or from released to pressed). /// /// The key to query. public static bool IsKeyToggled(Key key) => ScriptGlue.Input_IsKeyToggled(key); /// /// Returns if is being pressed down this frame /// ( was last frame and is this frame). /// /// The key to query. public static bool IsKeyPressing(Key key) => ScriptGlue.Input_IsKeyPressing(key); /// /// Returns if is being released this frame /// ( was last frame and is this frame). /// /// The key to query. public static bool IsKeyReleasing(Key key) => ScriptGlue.Input_IsKeyReleasing(key); /// /// Returns if the specified mouse button is in the pressed down state. /// /// The button to query. public static bool IsMouseButtonPressed(MouseButton mouseButton) => ScriptGlue.Input_IsMouseButtonPressed(mouseButton); /// /// Returns if the specified mouse button is in the released state. /// /// The button to query. public static bool IsMouseButtonReleased(MouseButton mouseButton) => ScriptGlue.Input_IsMouseButtonReleased(mouseButton); /// /// Returns if the mouse button is being pressed down this frame /// ( was last frame and is this frame). /// /// The button to query. public static bool IsMouseButtonPressing(MouseButton mouseButton) => ScriptGlue.Input_IsMouseButtonPressing(mouseButton); /// /// Returns if the mouse button is being released this frame /// ( was last frame and is this frame). /// /// The button to query. public static bool IsMouseButtonReleasing(MouseButton mouseButton) => ScriptGlue.Input_IsMouseButtonReleasing(mouseButton); }