4#include <unordered_map>
12#include "input/KeyboardKey.hpp"
13#include "input/MouseButton.hpp"
37 std::variant<KeyboardKey, MouseButton>
key;
106 unsigned int iActionId,
const std::vector<std::variant<KeyboardKey, MouseButton>>& vKeys);
130 unsigned int iAxisEventId,
const std::vector<std::pair<KeyboardKey, KeyboardKey>>& vAxis);
142 unsigned int iActionId,
143 std::variant<KeyboardKey, MouseButton> oldKey,
144 std::variant<KeyboardKey, MouseButton> newKey);
156 unsigned int iAxisEventId,
157 std::pair<KeyboardKey, KeyboardKey> oldPair,
158 std::pair<KeyboardKey, KeyboardKey> newPair);
169 [[nodiscard]] std::optional<Error>
saveToFile(std::string_view sFileName);
191 [[nodiscard]] std::optional<Error>
loadFromFile(std::string_view sFileName);
206 std::pair<std::vector<unsigned int>, std::vector<unsigned int>>
207 isKeyUsed(
const std::variant<KeyboardKey, MouseButton>& key);
219 std::vector<std::variant<KeyboardKey, MouseButton>>
getActionEvent(
unsigned int iActionId);
231 std::vector<std::pair<KeyboardKey, KeyboardKey>>
getAxisEvent(
unsigned int iAxisEventId);
266 std::unordered_map<unsigned int, std::vector<std::variant<KeyboardKey, MouseButton>>>
274 std::unordered_map<unsigned int, std::vector<std::pair<KeyboardKey, KeyboardKey>>>
getAllAxisEvents();
284 static std::vector<std::string>
285 splitString(
const std::string& sStringToSplit,
const std::string& sDelimiter);
306 unsigned int iActionId,
const std::vector<std::variant<KeyboardKey, MouseButton>>& vKeys);
326 unsigned int iAxisEventId,
const std::vector<std::pair<KeyboardKey, KeyboardKey>>& vAxis);
334 std::unordered_map<std::variant<KeyboardKey, MouseButton>, std::vector<unsigned int>>
actionEvents;
340 std::unordered_map<unsigned int, std::pair<std::vector<ActionState>,
bool >>
350 std::unordered_map<KeyboardKey, std::vector<std::pair<unsigned int, bool>>>
axisEvents;
356 std::unordered_map<unsigned int, std::pair<std::vector<AxisState>,
int >>
axisState;
Definition: InputManager.h:19
bool bIsPressed
Definition: InputManager.h:34
std::variant< KeyboardKey, MouseButton > key
Definition: InputManager.h:37
ActionState(std::variant< KeyboardKey, MouseButton > key)
Definition: InputManager.h:28
Definition: InputManager.h:41
KeyboardKey plusKey
Definition: InputManager.h:60
KeyboardKey minusKey
Definition: InputManager.h:63
bool bIsPlusKeyPressed
Definition: InputManager.h:66
bool bIsMinusKeyPressed
Definition: InputManager.h:69
AxisState(KeyboardKey plusKey, KeyboardKey minusKey)
Definition: InputManager.h:51
Definition: GameManager.h:34