using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Input; public class InputHelper { MouseState currentMouseState, previousMouseState; KeyboardState currentKeyboardState, previousKeyboardState; public void Update() { previousMouseState = currentMouseState; previousKeyboardState = currentKeyboardState; currentMouseState = Mouse.GetState(); currentKeyboardState = Keyboard.GetState(); } public MouseState CurrentMouseState { get { return currentMouseState; } } public Rectangle MouseBoundingRectangle { get { return new Rectangle(currentMouseState.X, currentMouseState.Y, 30, 30); } } public Vector2 MousePosition { get { return new Vector2(currentMouseState.X, currentMouseState.Y); } } public bool MouseRightButtonStillPressed() { return currentMouseState.RightButton == ButtonState.Pressed; } public bool MouseLeftButtonPressed() { return currentMouseState.LeftButton == ButtonState.Pressed && previousMouseState.LeftButton == ButtonState.Released; } public bool MouseRightButtonPressed() { return currentMouseState.RightButton == ButtonState.Pressed && previousMouseState.RightButton == ButtonState.Released; } public bool KeyPressed(Keys k) { return currentKeyboardState.IsKeyDown(k) && previousKeyboardState.IsKeyUp(k); } public bool IsKeyDown(Keys k) { return currentKeyboardState.IsKeyDown(k); } }