#pragma once #include namespace Game { class Input { public: Input() = delete; static void update(); static bool isKeyPressed(SDL_Scancode key); static bool isKeyJustPressed(SDL_Scancode key); static bool isKeyJustReleased(SDL_Scancode key); static bool isMouseButtonPressed(Uint8 button); static bool isMouseButtonJustPressed(Uint8 button); static bool isMouseButtonJustReleased(Uint8 button); static float getMouseX(); static float getMouseY(); private: static const bool* mCurrentKeyStates; static const bool* mPreviousKeyStates; static int mNumKeys; static SDL_MouseButtonFlags mCurrentMouseButtonStates; static SDL_MouseButtonFlags mPreviousMouseButtonStates; static float mMouseX; static float mMouseY; }; }