SUNENGINE 0.0.2
A simple and bright C++ game engine.
 
Loading...
Searching...
No Matches
KeyboardEventManager.h
1#ifndef KeyboardEventManager_H
2#define KeyboardEventManager_H
3
4#include "AzulCore.h"
5#include "SingleKeyEventManager.h"
6#include "MouseKeyEventManager.h"
7#include <map>
8
9class Inputable;
10
18class KeyboardEventManager
19{
20private:
24 using MapKeyManager = std::multimap<AZUL_KEY, SingleKeyEventManager*>;
25
29 using MapMouseKeyManager = std::multimap<AZUL_MOUSE, MouseKeyEventManager*>;
30
35
40
41public:
42 KeyboardEventManager();
43 KeyboardEventManager(const KeyboardEventManager&) = delete;
44 KeyboardEventManager& operator=(const KeyboardEventManager&) = delete;
45 ~KeyboardEventManager();
46
53 void Register(Inputable* in, AZUL_KEY k, EventType e);
54
61 void Deregister(Inputable* in, AZUL_KEY k, EventType e);
62
69 void Register(Inputable* in, AZUL_MOUSE m, EventType e);
70
77 void Deregister(Inputable* in, AZUL_MOUSE m, EventType e);
78
82 void ProcessElements();
83
87 using StorageMapRef = MapKeyManager::iterator;
88
92 using StorageMapMouseRef = MapMouseKeyManager::iterator;
93};
94
95#endif
EventType
Enum class representing the types of input events.
Definition EventType.h:19
Base class for objects that can handle keyboard input events.
Definition Inputable.h:23
MapMouseKeyManager::iterator StorageMapMouseRef
Type alias for the storage map mouse iterator.
Definition KeyboardEventManager.h:92
void ProcessElements()
Processes all registered keyboard events.
Definition KeyboardEventManager.cpp:94
void Deregister(Inputable *in, AZUL_KEY k, EventType e)
Deregisters a keyboard event for a GameObject.
Definition KeyboardEventManager.cpp:47
MapMouseKeyManager * mapMouseKeyMgrs
Pointer to the map of mouse key event managers.
Definition KeyboardEventManager.h:39
void Register(Inputable *in, AZUL_KEY k, EventType e)
Registers a keyboard event for a GameObject.
Definition KeyboardEventManager.cpp:29
std::multimap< AZUL_KEY, SingleKeyEventManager * > MapKeyManager
Type alias for the map of single key event managers.
Definition KeyboardEventManager.h:24
std::multimap< AZUL_MOUSE, MouseKeyEventManager * > MapMouseKeyManager
Type alias for the map of mouse key event managers.
Definition KeyboardEventManager.h:29
MapKeyManager * mapSKMgrs
Pointer to the map of single key event managers.
Definition KeyboardEventManager.h:34
MapKeyManager::iterator StorageMapRef
Type alias for the storage map iterator.
Definition KeyboardEventManager.h:87