-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKeyInputObject.cpp
More file actions
40 lines (38 loc) · 880 Bytes
/
KeyInputObject.cpp
File metadata and controls
40 lines (38 loc) · 880 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "KeyInputObject.h"
KeyInputObject::KeyInputObject(std::string ID, void (*function)(), SDL_Scancode keycode) {
mInputMgr = InputManager::Instance();
command = function;
chosenKey = keycode;
held = false;
pressed = false;
objectID = ID;
}
KeyInputObject::KeyInputObject(std::string ID, void (*function)(), SDL_Scancode keycode, bool hold) {
mInputMgr = InputManager::Instance();
command = function;
chosenKey = keycode;
held = hold;
pressed = false;
objectID = ID;
}
KeyInputObject::~KeyInputObject() {
InputManager::Release();
mInputMgr = NULL;
}
void KeyInputObject::Update() {
mInputMgr->Update();
execute();
}
void KeyInputObject::execute() {
if ((mInputMgr->KeyDown(chosenKey))) {
if ((pressed == false)) {
command();
if (held == false) {
pressed = true;
}
}
}
else {
pressed = false;
}
}