ohzi-core 6.5.0 → 6.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ohzi-core",
3
- "version": "6.5.0",
3
+ "version": "6.5.1",
4
4
  "description": "OHZI Core Library",
5
5
  "source": "src/index.js",
6
6
  "module": "build/index.module.js",
@@ -27,7 +27,7 @@ class KeyboardInput
27
27
 
28
28
  on_key_up(e)
29
29
  {
30
- this.release_keys();
30
+ this.release_key(e.key);
31
31
  }
32
32
 
33
33
  clear()
@@ -36,9 +36,21 @@ class KeyboardInput
36
36
  for (let i = 0; i < this.keys.length; i++)
37
37
  {
38
38
  this.keys[i].pressed = false;
39
+ this.keys[i].released = false;
39
40
  }
40
41
  }
41
42
 
43
+ release_key(key_name)
44
+ {
45
+ const key = this.keys.find(key => key.key_name === key_name);
46
+ if (key)
47
+ {
48
+ key.fired = false;
49
+ key.down = false;
50
+ key.released = true;
51
+ }
52
+ }
53
+
42
54
  release_keys()
43
55
  {
44
56
  this.ctrlz_fired = false;
@@ -50,40 +62,54 @@ class KeyboardInput
50
62
  }
51
63
  }
52
64
 
53
- press_key(key)
65
+ press_key(key_name)
54
66
  {
55
- for (let i = 0; i < this.keys.length; i++)
67
+ // for (let i = 0; i < this.keys.length; i++)
68
+ // {
69
+ // if (this.keys[i].key_name === key && !this.keys[i].fired)
70
+ // {
71
+ // this.keys[i].pressed = true;
72
+ // this.keys[i].down = true;
73
+ // this.keys[i].fired = true;
74
+ // }
75
+ // }
76
+ const key = this.keys.find(key => key.key_name === key_name);
77
+ if (key)
56
78
  {
57
- if (this.keys[i].key_name === key && !this.keys[i].fired)
58
- {
59
- this.keys[i].pressed = true;
60
- this.keys[i].down = true;
61
- this.keys[i].fired = true;
62
- }
79
+ key.pressed = true;
80
+ key.down = true;
81
+ key.fired = true;
63
82
  }
64
83
  }
65
84
 
66
- key_is_pressed(key)
85
+ is_key_pressed(key_name)
67
86
  {
68
- for (let i = 0; i < this.keys.length; i++)
87
+ const key = this.keys.find(key => key.key_name === key_name);
88
+ if (key)
69
89
  {
70
- if (this.keys[i].key_name === key)
71
- {
72
- return this.keys[i].pressed;
73
- }
90
+ return key.pressed;
74
91
  }
75
92
  return false;
76
93
  }
77
94
 
78
- key_is_down(key)
95
+ is_key_down(key_name)
79
96
  {
80
- for (let i = 0; i < this.keys.length; i++)
97
+ const key = this.keys.find(key => key.key_name === key_name);
98
+ if (key)
81
99
  {
82
- if (this.keys[i].key_name === key)
83
- {
84
- return this.keys[i].down;
85
- }
100
+ return key.down;
101
+ }
102
+ return false;
103
+ }
104
+
105
+ is_key_released(key_name)
106
+ {
107
+ const key = this.keys.find(key => key.key_name === key_name);
108
+ if (key)
109
+ {
110
+ return key.released;
86
111
  }
112
+
87
113
  return false;
88
114
  }
89
115
 
@@ -94,9 +120,7 @@ class KeyboardInput
94
120
  key_name: key,
95
121
  pressed: false,
96
122
  down: false,
97
- up: false,
98
123
  fired: false
99
-
100
124
  });
101
125
  }
102
126