wgge 2.0.32 → 2.0.35

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.
@@ -24,7 +24,7 @@ export default class ActivatedTreeNode {
24
24
 
25
25
  /**
26
26
  *
27
- * @type array
27
+ * @type array|null
28
28
  * @type param.node {ModelNode}
29
29
  * @type param.event {string}
30
30
  * @type param.handler {(ep) => any}
@@ -111,17 +111,22 @@ export default class ActivatedTreeNode {
111
111
  this.activateInternal();
112
112
 
113
113
  if (this.autoRegisterEvents) {
114
- this.autoRegisterEvents.forEach((event) => {
114
+ const events = this.autoRegisterEvents;
115
+ for (let i = 0, max = events.length; i < max; i++) {
116
+ const event = events[i];
115
117
  event.node.addEventListener(event.name, event.handler);
116
118
  if (event.runOnActivate) {
117
119
  event.handler();
118
120
  }
119
- });
121
+ }
120
122
  }
121
123
 
122
- this.children.forEach((c) => c.activate());
123
- this.isActivated = true;
124
+ const children = this.children;
125
+ for (let i = 0, max = children.length; i < max; i++) {
126
+ children[i].activate();
127
+ }
124
128
 
129
+ this.isActivated = true;
125
130
  this.afterActivatedInternal();
126
131
  }
127
132
  }
@@ -137,12 +142,18 @@ export default class ActivatedTreeNode {
137
142
  deactivate() {
138
143
  if (this.isActivated) {
139
144
  if (this.autoRegisterEvents) {
140
- this.autoRegisterEvents.forEach((event) => {
145
+ const events = this.autoRegisterEvents;
146
+ for (let i = 0, max = events.length; i < max; i++) {
147
+ const event = events[i];
141
148
  event.node.removeEventListener(event.name, event.handler);
142
- });
149
+ }
150
+ }
151
+
152
+ const children = this.children;
153
+ for (let i = 0, max = children.length; i < max; i++) {
154
+ children[i].deactivate();
143
155
  }
144
156
 
145
- this.children.forEach((c) => c.deactivate());
146
157
  this.deactivateInternal();
147
158
  this.isActivated = false;
148
159
  }
@@ -4,7 +4,7 @@ export default class TimeoutController extends ControllerBase {
4
4
 
5
5
  /**
6
6
  *
7
- * @param {DemoGameModel} game
7
+ * @param {GameModel} game
8
8
  * @param {Number} duration
9
9
  * @param {function} onFinished
10
10
  */
@@ -71,10 +71,11 @@ export default class DOMHelper {
71
71
  }
72
72
 
73
73
  static isFullscreen() {
74
- return (window.fullScreen || (window.innerWidth == screen.width && window.innerHeight == screen.height))
74
+ return (document.fullscreenElement !== null) || (window.innerWidth === screen.width && window.innerHeight === screen.height);
75
75
  }
76
76
 
77
- static openFullscreen(elem) {
77
+ static openFullscreen(elem = null) {
78
+ if (!elem) elem = document.body;
78
79
  if (elem.requestFullscreen) {
79
80
  elem.requestFullscreen();
80
81
  } else if (elem.webkitRequestFullscreen) { /* Safari */
@@ -87,7 +88,9 @@ export default class DOMHelper {
87
88
 
88
89
  static closeFullscreen() {
89
90
  if (document.exitFullscreen) {
90
- document.exitFullscreen();
91
+ document.exitFullscreen()
92
+ .then(() => console.log('Switched to fullscreen'))
93
+ .catch((e) => console.error('Fullscreen failed', e));
91
94
  } else if (document.webkitExitFullscreen) { /* Safari */
92
95
  document.webkitExitFullscreen();
93
96
  } else if (document.msExitFullscreen) { /* IE11 */
@@ -14,4 +14,8 @@ export default class BoolValue extends DirtyValue {
14
14
  this.set(!this.get());
15
15
  }
16
16
 
17
+ toggle() {
18
+ this.invert();
19
+ }
20
+
17
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wgge",
3
- "version": "2.0.32",
3
+ "version": "2.0.35",
4
4
  "description": "Web GL Game Engine",
5
5
  "main": "index.js",
6
6
  "devDependencies": {
@@ -1,27 +0,0 @@
1
- import ControllerWithTimeout from "./ControllerWithTimeout";
2
-
3
- export default class ControllerWithSaveGame extends ControllerWithTimeout {
4
-
5
- /**
6
- * @type DemoSaveGameModel
7
- */
8
- saveGame;
9
-
10
- /**
11
- * @param {DemoGameModel} game
12
- * @param {ObjectModel} model
13
- * @param {DemoSaveGameModel} saveGame
14
- */
15
- constructor(game, model, saveGame = null) {
16
- super(game, model);
17
- if (!saveGame) {
18
- saveGame = this.game.saveGame.get();
19
- }
20
- this.saveGame = saveGame;
21
-
22
- if (!this.saveGame) {
23
- console.error('no SaveGameModel provided for controller!');
24
- }
25
- }
26
-
27
- }