#ifndef HYDRAINPUTMANAGER #define HYDRAINPUTMANAGER #include "HydraObject.h" #include #include #include class HydraInputManager : public HydraObject { private: int m_keys[512] = { }; int m_key_down[512] = {}; int m_key_up[512] = {}; glm::vec2 m_last_mouse = glm::vec2(0, 0); glm::vec2 m_mouse_change = glm::vec2(0, 0); glm::vec2 m_mouse_pos = glm::vec2(0, 0); std::vector m_key_presses; std::queue m_mouse_moves; bool m_mouse_reset = true; friend class HydraEngine; public: void ProcessInput(bool reset); bool KeyPressed(HYDRA_KEY_CODES key); bool KeyDown(HYDRA_KEY_CODES key); bool KeyUp(HYDRA_KEY_CODES key); glm::vec2 MouseChange() {return m_mouse_change;} void Shutdown() {} }; #endif /* HYDRAINPUTMANAGER */