#ifndef HYDRAINPUTMANAGER #define HYDRAINPUTMANAGER #include "HydraObject.h" #include #include #include class HydraInputManager : public HydraObject { private: int m_keys[512] = { }; std::vector m_key_down; std::vector m_key_up; 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 KeyPressed(HYDRA_KEY_CODES key); glm::vec2 MouseChange() {return m_mouse_change;} }; #endif /* HYDRAINPUTMANAGER */