Files
HydraV3/HydraEngine/source/engine/HydraInputManager.h
T

36 lines
944 B
C++
Raw Normal View History

2026-07-17 15:30:29 +01:00
#ifndef HYDRAINPUTMANAGER
#define HYDRAINPUTMANAGER
#include "HydraObject.h"
#include <vector>
#include <queue>
#include <glm/glm.hpp>
class HydraInputManager : public HydraObject
{
private:
int m_keys[512] = { };
2026-08-24 20:59:24 +01:00
int m_key_down[512] = {};
int m_key_up[512] = {};
2026-07-17 15:30:29 +01:00
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;
2026-08-24 20:59:24 +01:00
2026-07-17 15:30:29 +01:00
std::queue<glm::vec2> m_mouse_moves;
bool m_mouse_reset = true;
friend class HydraEngine;
public:
2026-08-24 20:59:24 +01:00
void ProcessInput(bool reset);
2026-07-17 15:30:29 +01:00
bool KeyPressed(HYDRA_KEY_CODES key);
2026-08-24 20:59:24 +01:00
bool KeyDown(HYDRA_KEY_CODES key);
bool KeyUp(HYDRA_KEY_CODES key);
2026-07-17 15:30:29 +01:00
glm::vec2 MouseChange() {return m_mouse_change;}
2026-08-18 16:23:20 +01:00
void Shutdown() {}
2026-07-17 15:30:29 +01:00
};
#endif /* HYDRAINPUTMANAGER */