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