-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathKeyboardManager.js
More file actions
118 lines (109 loc) · 2.67 KB
/
KeyboardManager.js
File metadata and controls
118 lines (109 loc) · 2.67 KB
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import { camera } from './globals';
import UIManager from './UIManager';
import YOUIManager from './YOUIManager';
// 61 plus key
const KeyboardManager = {
keys: {
'leftClick': false,
'plus': false,
'w': false,
'a': false,
's': false,
'd': false
},
init: function() {
// Attach eventhandlers to the render canvas
var renderCanvas = document.getElementById('renderCanvas')
renderCanvas.addEventListener('mousedown', function() {
this.keys['leftClick'] = true;
}.bind(this));
renderCanvas.addEventListener('mouseup', function() {
this.keys['leftClick'] = false;
}.bind(this));
renderCanvas.addEventListener('keydown', function(e) {
switch(e.keyCode) {
case 187: // +
camera.applyGravity = true;
break;
case 87: // W
this.keys['w'] = true;
break;
case 65:
this.keys['a'] = true;
break;
case 83:
this.keys['s'] = true;
break;
case 68:
this.keys['d'] = true;
break;
case 51: // 3
YOUIManager.switchGuns(3);
break;
case 52: // 4
YOUIManager.switchGuns(4);
break;
case 53: // 5
YOUIManager.switchGuns(5);
break;
default:
break;
}
}.bind(this));
renderCanvas.addEventListener('keyup', function(e) {
console.log(e.keyCode);
switch(e.keyCode) {
case 61:
camera.applyGravity = true;
break;
case 87:
this.keys['w'] = false;
break;
case 65:
this.keys['a'] = false;
break;
case 83:
this.keys['s'] = false;
break;
case 68:
this.keys['d'] = false;
break;
default:
break;
}
}.bind(this));
},
/*
bindKey: function(key, cb) {
switch(key) {
case 'leftClick':
window.addEventListener('mousedown', function() {
this.keys['leftClick'] = true;
}.bind(this));
window.addEventListener('mouseup', function() {
this.keys['leftClick'] = false;
}.bind(this));
break;
default:
break;
}
},
*/
update: function() {
if(this.keys.leftClick) {
YOUIManager.shooting = true;
UIManager.shooting = true;
} else {
UIManager.shooting = false;
YOUIManager.shooting = false;
}
// Check each movement key to see if it is moving
const { w, a, s, d } = this.keys;
if(w || a || s || d) {
YOUIManager.moving = true;
} else {
YOUIManager.moving = false;
}
}
}
export default KeyboardManager;