33 lines
813 B
C++
33 lines
813 B
C++
#ifndef HYDRAINPUTMANAGER
|
|
#define HYDRAINPUTMANAGER
|
|
#include "HydraObject.h"
|
|
#include <vector>
|
|
#include <queue>
|
|
#include <glm/glm.hpp>
|
|
|
|
class HydraInputManager : public HydraObject
|
|
{
|
|
private:
|
|
int m_keys[512] = { };
|
|
std::vector<int> m_key_down;
|
|
std::vector<int> 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<HydraKeyPressStuct> m_key_presses;
|
|
std::queue<glm::vec2> 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 */
|