melonjs 10.2.3 → 10.3.0

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.
Files changed (93) hide show
  1. package/dist/melonjs.js +1741 -1558
  2. package/dist/melonjs.min.js +4 -4
  3. package/dist/melonjs.module.d.ts +1256 -1758
  4. package/dist/melonjs.module.js +1734 -1582
  5. package/package.json +12 -12
  6. package/src/audio/audio.js +3 -3
  7. package/src/camera/camera2d.js +26 -27
  8. package/src/entity/draggable.js +10 -19
  9. package/src/entity/droptarget.js +12 -20
  10. package/src/entity/entity.js +13 -13
  11. package/src/game.js +6 -6
  12. package/src/{shapes → geometries}/ellipse.js +19 -20
  13. package/src/{shapes → geometries}/line.js +6 -7
  14. package/src/{shapes → geometries}/poly.js +70 -23
  15. package/src/{shapes → geometries}/rectangle.js +23 -24
  16. package/src/index.js +8 -9
  17. package/src/input/gamepad.js +7 -7
  18. package/src/input/input.js +2 -2
  19. package/src/input/keyboard.js +108 -108
  20. package/src/input/pointer.js +61 -28
  21. package/src/input/pointerevent.js +79 -16
  22. package/src/lang/deprecated.js +26 -15
  23. package/src/level/level.js +10 -10
  24. package/src/level/tiled/TMXGroup.js +6 -7
  25. package/src/level/tiled/TMXLayer.js +10 -11
  26. package/src/level/tiled/TMXObject.js +57 -51
  27. package/src/level/tiled/TMXTile.js +2 -3
  28. package/src/level/tiled/TMXTileMap.js +3 -4
  29. package/src/level/tiled/TMXTileset.js +1 -2
  30. package/src/level/tiled/TMXTilesetGroup.js +1 -2
  31. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -3
  32. package/src/level/tiled/renderer/TMXIsometricRenderer.js +2 -3
  33. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -3
  34. package/src/level/tiled/renderer/TMXRenderer.js +1 -2
  35. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +2 -3
  36. package/src/loader/loader.js +17 -15
  37. package/src/loader/loadingscreen.js +1 -2
  38. package/src/math/color.js +23 -24
  39. package/src/math/math.js +16 -16
  40. package/src/math/matrix2.js +24 -25
  41. package/src/math/matrix3.js +26 -27
  42. package/src/math/observable_vector2.js +46 -35
  43. package/src/math/observable_vector3.js +54 -36
  44. package/src/math/vector2.js +58 -47
  45. package/src/math/vector3.js +66 -48
  46. package/src/particles/emitter.js +64 -72
  47. package/src/particles/particle.js +3 -4
  48. package/src/particles/particlecontainer.js +2 -3
  49. package/src/physics/body.js +38 -39
  50. package/src/physics/bounds.js +30 -32
  51. package/src/physics/collision.js +6 -6
  52. package/src/physics/detector.js +3 -3
  53. package/src/physics/quadtree.js +8 -9
  54. package/src/physics/sat.js +4 -4
  55. package/src/physics/world.js +11 -12
  56. package/src/plugin/plugin.js +6 -7
  57. package/src/renderable/GUI.js +7 -8
  58. package/src/renderable/collectable.js +3 -4
  59. package/src/renderable/colorlayer.js +7 -8
  60. package/src/renderable/container.js +36 -37
  61. package/src/renderable/imagelayer.js +4 -5
  62. package/src/renderable/nineslicesprite.js +2 -3
  63. package/src/renderable/renderable.js +45 -46
  64. package/src/renderable/sprite.js +16 -17
  65. package/src/renderable/trigger.js +4 -5
  66. package/src/state/stage.js +8 -9
  67. package/src/state/state.js +24 -24
  68. package/src/system/device.js +41 -97
  69. package/src/system/event.js +45 -33
  70. package/src/system/pooling.js +1 -1
  71. package/src/system/save.js +3 -3
  72. package/src/system/timer.js +13 -13
  73. package/src/text/bitmaptext.js +12 -13
  74. package/src/text/bitmaptextdata.js +5 -6
  75. package/src/text/text.js +16 -17
  76. package/src/tweens/easing.js +1 -1
  77. package/src/tweens/interpolation.js +1 -1
  78. package/src/tweens/tween.js +14 -15
  79. package/src/utils/agent.js +3 -3
  80. package/src/utils/array.js +4 -4
  81. package/src/utils/file.js +3 -3
  82. package/src/utils/function.js +3 -3
  83. package/src/utils/string.js +7 -7
  84. package/src/utils/utils.js +4 -4
  85. package/src/video/canvas/canvas_renderer.js +39 -40
  86. package/src/video/renderer.js +29 -30
  87. package/src/video/texture.js +8 -9
  88. package/src/video/texture_cache.js +2 -4
  89. package/src/video/video.js +7 -7
  90. package/src/video/webgl/buffer/vertex.js +2 -2
  91. package/src/video/webgl/glshader.js +11 -12
  92. package/src/video/webgl/webgl_compositor.js +118 -90
  93. package/src/video/webgl/webgl_renderer.js +95 -74
@@ -3,6 +3,7 @@ import device from "./../system/device.js";
3
3
  import Bounds from "./../physics/bounds.js";
4
4
  import { viewport } from "./../game.js";
5
5
  import { globalToLocal } from "./input.js";
6
+ import { locked } from "./pointerevent.js";
6
7
 
7
8
 
8
9
  /**
@@ -15,9 +16,8 @@ var tmpVec = new Vector2d();
15
16
  * @classdesc
16
17
  * a pointer object, representing a single finger on a touch enabled device.
17
18
  * @class Pointer
18
- * @extends me.Bounds
19
- * @memberOf me
20
- * @constructor
19
+ * @augments me.Bounds
20
+ * @memberof me
21
21
  */
22
22
  class Pointer extends Bounds {
23
23
 
@@ -37,7 +37,7 @@ class Pointer extends Bounds {
37
37
  * @public
38
38
  * @type {number}
39
39
  * @name LEFT
40
- * @memberOf me.Pointer
40
+ * @memberof me.Pointer
41
41
  */
42
42
  this.LEFT = 0;
43
43
 
@@ -46,7 +46,7 @@ class Pointer extends Bounds {
46
46
  * @public
47
47
  * @type {number}
48
48
  * @name MIDDLE
49
- * @memberOf me.Pointer
49
+ * @memberof me.Pointer
50
50
  */
51
51
  this.MIDDLE = 1;
52
52
 
@@ -55,7 +55,7 @@ class Pointer extends Bounds {
55
55
  * @public
56
56
  * @type {number}
57
57
  * @name RIGHT
58
- * @memberOf me.Pointer
58
+ * @memberof me.Pointer
59
59
  */
60
60
  this.RIGHT = 2;
61
61
 
@@ -67,7 +67,7 @@ class Pointer extends Bounds {
67
67
  * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent
68
68
  * @see https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent
69
69
  * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent
70
- * @memberOf me.Pointer
70
+ * @memberof me.Pointer
71
71
  */
72
72
  this.event = undefined;
73
73
 
@@ -77,7 +77,7 @@ class Pointer extends Bounds {
77
77
  * @type {string}
78
78
  * @name type
79
79
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Event/type
80
- * @memberOf me.Pointer
80
+ * @memberof me.Pointer
81
81
  */
82
82
  this.type = undefined;
83
83
 
@@ -88,7 +88,7 @@ class Pointer extends Bounds {
88
88
  * @type {number}
89
89
  * @name button
90
90
  * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button
91
- * @memberOf me.Pointer
91
+ * @memberof me.Pointer
92
92
  */
93
93
  this.button = 0;
94
94
 
@@ -98,7 +98,7 @@ class Pointer extends Bounds {
98
98
  * @type {boolean}
99
99
  * @name isPrimary
100
100
  * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/isPrimary
101
- * @memberOf me.Pointer
101
+ * @memberof me.Pointer
102
102
  */
103
103
  this.isPrimary = false;
104
104
 
@@ -108,7 +108,7 @@ class Pointer extends Bounds {
108
108
  * @type {number}
109
109
  * @name pageX
110
110
  * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageX
111
- * @memberOf me.Pointer
111
+ * @memberof me.Pointer
112
112
  */
113
113
  this.pageX = 0;
114
114
 
@@ -118,7 +118,7 @@ class Pointer extends Bounds {
118
118
  * @type {number}
119
119
  * @name pageY
120
120
  * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageY
121
- * @memberOf me.Pointer
121
+ * @memberof me.Pointer
122
122
  */
123
123
  this.pageY = 0;
124
124
 
@@ -128,7 +128,7 @@ class Pointer extends Bounds {
128
128
  * @type {number}
129
129
  * @name clientX
130
130
  * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientX
131
- * @memberOf me.Pointer
131
+ * @memberof me.Pointer
132
132
  */
133
133
  this.clientX = 0;
134
134
 
@@ -138,17 +138,37 @@ class Pointer extends Bounds {
138
138
  * @type {number}
139
139
  * @name clientY
140
140
  * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/clientY
141
- * @memberOf me.Pointer
141
+ * @memberof me.Pointer
142
142
  */
143
143
  this.clientY = 0;
144
144
 
145
+ /**
146
+ * the difference in the X coordinate of the pointer since the previous move event
147
+ * @public
148
+ * @type {number}
149
+ * @name movementX
150
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX
151
+ * @memberof me.Pointer
152
+ */
153
+ this.movementX = 0;
154
+
155
+ /**
156
+ * the difference in the Y coordinate of the pointer since the previous move event
157
+ * @public
158
+ * @type {number}
159
+ * @name movementY
160
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementY
161
+ * @memberof me.Pointer
162
+ */
163
+ this.movementY = 0;
164
+
145
165
  /**
146
166
  * an unsigned long representing the unit of the delta values scroll amount
147
167
  * @public
148
168
  * @type {number}
149
169
  * @name deltaMode
150
170
  * @see https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode
151
- * @memberOf me.Pointer
171
+ * @memberof me.Pointer
152
172
  */
153
173
  this.deltaMode = 0;
154
174
 
@@ -158,7 +178,7 @@ class Pointer extends Bounds {
158
178
  * @type {number}
159
179
  * @name deltaX
160
180
  * @see https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaX
161
- * @memberOf me.Pointer
181
+ * @memberof me.Pointer
162
182
  */
163
183
  this.deltaX = 0;
164
184
 
@@ -168,7 +188,7 @@ class Pointer extends Bounds {
168
188
  * @type {number}
169
189
  * @name deltaY
170
190
  * @see https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaY
171
- * @memberOf me.Pointer
191
+ * @memberof me.Pointer
172
192
  */
173
193
  this.deltaY = 0;
174
194
 
@@ -178,7 +198,7 @@ class Pointer extends Bounds {
178
198
  * @type {number}
179
199
  * @name deltaZ
180
200
  * @see https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaZ
181
- * @memberOf me.Pointer
201
+ * @memberof me.Pointer
182
202
  */
183
203
  this.deltaZ = 0;
184
204
 
@@ -188,7 +208,7 @@ class Pointer extends Bounds {
188
208
  * @public
189
209
  * @type {number}
190
210
  * @name gameX
191
- * @memberOf me.Pointer
211
+ * @memberof me.Pointer
192
212
  */
193
213
  this.gameX = 0;
194
214
 
@@ -198,7 +218,7 @@ class Pointer extends Bounds {
198
218
  * @public
199
219
  * @type {number}
200
220
  * @name gameY
201
- * @memberOf me.Pointer
221
+ * @memberof me.Pointer
202
222
  */
203
223
  this.gameY = 0;
204
224
 
@@ -207,7 +227,7 @@ class Pointer extends Bounds {
207
227
  * @public
208
228
  * @type {number}
209
229
  * @name gameScreenX
210
- * @memberOf me.Pointer
230
+ * @memberof me.Pointer
211
231
  */
212
232
  this.gameScreenX = 0;
213
233
 
@@ -216,7 +236,7 @@ class Pointer extends Bounds {
216
236
  * @public
217
237
  * @type {number}
218
238
  * @name gameScreenY
219
- * @memberOf me.Pointer
239
+ * @memberof me.Pointer
220
240
  */
221
241
  this.gameScreenY = 0;
222
242
 
@@ -225,7 +245,7 @@ class Pointer extends Bounds {
225
245
  * @public
226
246
  * @type {number}
227
247
  * @name gameWorldX
228
- * @memberOf me.Pointer
248
+ * @memberof me.Pointer
229
249
  */
230
250
  this.gameWorldX = 0;
231
251
 
@@ -234,7 +254,7 @@ class Pointer extends Bounds {
234
254
  * @public
235
255
  * @type {number}
236
256
  * @name gameWorldY
237
- * @memberOf me.Pointer
257
+ * @memberof me.Pointer
238
258
  */
239
259
  this.gameWorldY = 0;
240
260
 
@@ -243,7 +263,7 @@ class Pointer extends Bounds {
243
263
  * @public
244
264
  * @type {number}
245
265
  * @name gameLocalX
246
- * @memberOf me.Pointer
266
+ * @memberof me.Pointer
247
267
  */
248
268
  this.gameLocalX = 0;
249
269
 
@@ -252,7 +272,7 @@ class Pointer extends Bounds {
252
272
  * @public
253
273
  * @type {number}
254
274
  * @name gameLocalY
255
- * @memberOf me.Pointer
275
+ * @memberof me.Pointer
256
276
  */
257
277
  this.gameLocalY = 0;
258
278
 
@@ -261,7 +281,7 @@ class Pointer extends Bounds {
261
281
  * @public
262
282
  * @type {number}
263
283
  * @name pointerId
264
- * @memberOf me.Pointer
284
+ * @memberof me.Pointer
265
285
  * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerId
266
286
  */
267
287
  this.pointerId = undefined;
@@ -271,10 +291,19 @@ class Pointer extends Bounds {
271
291
  * @public
272
292
  * @type {boolean}
273
293
  * @name isNormalized
274
- * @memberOf me.Pointer
294
+ * @memberof me.Pointer
275
295
  */
276
296
  this.isNormalized = false;
277
297
 
298
+ /**
299
+ * true if the pointer is currently locked
300
+ * @public
301
+ * @type {boolean}
302
+ * @name locked
303
+ * @memberof me.Pointer
304
+ */
305
+ this.locked = false;
306
+
278
307
  // bind list for mouse buttons
279
308
  this.bind = [ 0, 0, 0 ];
280
309
  }
@@ -308,6 +337,10 @@ class Pointer extends Bounds {
308
337
  // true if not originally a pointer event
309
338
  this.isNormalized = !device.PointerEvent || (device.PointerEvent && !(event instanceof window.PointerEvent));
310
339
 
340
+ this.locked = locked;
341
+ this.movementX = event.movementX || 0;
342
+ this.movementY = event.movementY || 0;
343
+
311
344
  if (event.type === "wheel") {
312
345
  this.deltaMode = event.deltaMode || 0;
313
346
  this.deltaX = event.deltaX || 0;
@@ -1,14 +1,14 @@
1
1
  import {preventDefault} from "./input.js";
2
2
  import {getBindingKey, triggerKeyEvent} from "./keyboard.js";
3
- import { renderer, scaleRatio } from "./../video/video.js";
4
- import * as fctUtil from "./../utils/function.js";
5
- import * as arrayUtil from "./../utils/array.js";
3
+ import { renderer, scaleRatio, getParent } from "./../video/video.js";
4
+ import { throttle } from "./../utils/function.js";
5
+ import { remove } from "./../utils/array.js";
6
6
  import * as event from "./../system/event.js";
7
7
  import timer from "./../system/timer.js";
8
8
  import pool from "./../system/pooling.js";
9
9
  import device from "./../system/device.js";
10
10
  import Pointer from "./pointer.js";
11
- import Rect from "./../shapes/rectangle.js";
11
+ import Rect from "./../geometries/rectangle.js";
12
12
  import Container from "./../renderable/container.js";
13
13
  import { world, viewport } from "./../game.js";
14
14
 
@@ -178,7 +178,7 @@ function enablePointerEvent() {
178
178
  if (activeEventList.indexOf(events[i]) !== -1) {
179
179
  pointerEventTarget.addEventListener(
180
180
  events[i],
181
- fctUtil.throttle(
181
+ throttle(
182
182
  onMoveEvent,
183
183
  throttlingInterval,
184
184
  false
@@ -191,6 +191,17 @@ function enablePointerEvent() {
191
191
  // disable all gesture by default
192
192
  setTouchAction(pointerEventTarget);
193
193
 
194
+ // set a on change listener on pointerlock if supported
195
+ if (device.hasPointerLockSupport) {
196
+ document.addEventListener("pointerlockchange", () => {
197
+ // change the locked status accordingly
198
+ locked = document.pointerLockElement === getParent();
199
+ // emit the corresponding internal event
200
+ event.emit(event.POINTERLOCKCHANGE, locked);
201
+ }, true);
202
+ }
203
+
204
+ // all done !
194
205
  pointerInitialized = true;
195
206
  }
196
207
  }
@@ -492,7 +503,7 @@ function onPointerEvent(e) {
492
503
  * @public
493
504
  * @type {EventTarget}
494
505
  * @name pointerEventTarget
495
- * @memberOf me.input
506
+ * @memberof me.input
496
507
  */
497
508
  export var pointerEventTarget = null;
498
509
 
@@ -501,10 +512,20 @@ function onPointerEvent(e) {
501
512
  * @public
502
513
  * @type {me.Rect}
503
514
  * @name pointer
504
- * @memberOf me.input
515
+ * @memberof me.input
505
516
  */
506
517
  export var pointer = new Pointer(0, 0, 1, 1);
507
518
 
519
+
520
+ /**
521
+ * indicates if the pointer is currently locked
522
+ * @public
523
+ * @type {boolean}
524
+ * @name locked
525
+ * @memberof me.input
526
+ */
527
+ export var locked = false;
528
+
508
529
  /**
509
530
  * time interval for event throttling in milliseconds<br>
510
531
  * default value : "1000/me.timer.maxfps" ms<br>
@@ -512,7 +533,7 @@ export var pointer = new Pointer(0, 0, 1, 1);
512
533
  * @public
513
534
  * @type {number}
514
535
  * @name throttlingInterval
515
- * @memberOf me.input
536
+ * @memberof me.input
516
537
  */
517
538
  export var throttlingInterval;
518
539
 
@@ -520,7 +541,7 @@ export var throttlingInterval;
520
541
  * Translate the specified x and y values from the global (absolute)
521
542
  * coordinate to local (viewport) relative coordinate.
522
543
  * @name globalToLocal
523
- * @memberOf me.input
544
+ * @memberof me.input
524
545
  * @public
525
546
  * @function
526
547
  * @param {number} x the global x coordinate to be translated.
@@ -552,7 +573,7 @@ export function globalToLocal(x, y, v) {
552
573
  * enable/disable all gestures on the given element.<br>
553
574
  * by default melonJS will disable browser handling of all panning and zooming gestures.
554
575
  * @name setTouchAction
555
- * @memberOf me.input
576
+ * @memberof me.input
556
577
  * @see https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action
557
578
  * @public
558
579
  * @function
@@ -569,7 +590,7 @@ export function setTouchAction(element, value) {
569
590
  * Middle button – 1
570
591
  * Right button – 2
571
592
  * @name bindPointer
572
- * @memberOf me.input
593
+ * @memberof me.input
573
594
  * @public
574
595
  * @function
575
596
  * @param {number} [button=me.input.pointer.LEFT] (accordingly to W3C values : 0,1,2 for left, middle and right buttons)
@@ -600,7 +621,7 @@ export function bindPointer() {
600
621
  /**
601
622
  * unbind the defined keycode
602
623
  * @name unbindPointer
603
- * @memberOf me.input
624
+ * @memberof me.input
604
625
  * @public
605
626
  * @function
606
627
  * @param {number} [button=me.input.pointer.LEFT] (accordingly to W3C values : 0,1,2 for left, middle and right buttons)
@@ -622,7 +643,7 @@ export function unbindPointer(button) {
622
643
  * @see me.Pointer
623
644
  * @see {@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}
624
645
  * @name registerPointerEvent
625
- * @memberOf me.input
646
+ * @memberof me.input
626
647
  * @public
627
648
  * @function
628
649
  * @param {string} eventType The event type for which the object is registering <br>
@@ -694,7 +715,7 @@ export function registerPointerEvent(eventType, region, callback) {
694
715
  * allows the removal of event listeners from the object target.
695
716
  * @see {@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}
696
717
  * @name releasePointerEvent
697
- * @memberOf me.input
718
+ * @memberof me.input
698
719
  * @public
699
720
  * @function
700
721
  * @param {string} eventType The event type for which the object was registered. See {@link me.input.registerPointerEvent}
@@ -718,7 +739,7 @@ export function releasePointerEvent(eventType, region, callback) {
718
739
  eventType = eventTypes[i];
719
740
  if (handlers.callbacks[eventType]) {
720
741
  if (typeof (callback) !== "undefined") {
721
- arrayUtil.remove(handlers.callbacks[eventType], callback);
742
+ remove(handlers.callbacks[eventType], callback);
722
743
  } else {
723
744
  while (handlers.callbacks[eventType].length > 0) {
724
745
  handlers.callbacks[eventType].pop();
@@ -739,7 +760,7 @@ export function releasePointerEvent(eventType, region, callback) {
739
760
  /**
740
761
  * allows the removal of all registered event listeners from the object target.
741
762
  * @name releaseAllPointerEvents
742
- * @memberOf me.input
763
+ * @memberof me.input
743
764
  * @public
744
765
  * @function
745
766
  * @param {me.Rect|me.Polygon|me.Line|me.Ellipse} region the registered region to release event from
@@ -754,3 +775,45 @@ export function releaseAllPointerEvents(region) {
754
775
  }
755
776
  };
756
777
  };
778
+
779
+ /**
780
+ * request for the pointer to be locked on the parent DOM element.
781
+ * (Must be called in a click event or an event that requires user interaction)
782
+ * @name requestPointerLock
783
+ * @memberof me.input
784
+ * @public
785
+ * @function
786
+ * @param {Function} [success] callback if the request is successful
787
+ * @returns {boolean} return true if the request was successfully submitted
788
+ * @example
789
+ * // register on the pointer lock change event
790
+ * event.on(event.POINTERLOCKCHANGE, (locked)=> {
791
+ * console.log("pointer lock: " + locked);
792
+ * });
793
+ * // request for pointer lock
794
+ * me.input.requestPointerLock();
795
+ */
796
+ export function requestPointerLock() {
797
+ if (device.hasPointerLockSupport) {
798
+ var element = getParent();
799
+ element.requestPointerLock();
800
+ return true;
801
+ }
802
+ return false;
803
+ }
804
+
805
+ /**
806
+ * Initiates an exit from pointer lock state
807
+ * @name exitPointerLock
808
+ * @memberof me.input
809
+ * @public
810
+ * @function
811
+ * @returns {boolean} return true if the request was successfully submitted
812
+ */
813
+ export function exitPointerLock() {
814
+ if (device.hasPointerLockSupport) {
815
+ document.exitPointerLock();
816
+ return true;
817
+ }
818
+ return false;
819
+ }
@@ -1,15 +1,13 @@
1
+ import device from "./../system/device.js";
2
+ import { requestPointerLock, exitPointerLock } from "./../input/input.js";
3
+
1
4
  /**
2
5
  * placeholder for all deprecated classes and corresponding alias for backward compatibility
3
- * @namespace deprecated
4
- * @memberOf me
5
6
  */
6
7
 
7
8
  /**
8
9
  * display a deprecation warning in the console
9
- * @public
10
- * @function
11
- * @memberOf me.deprecated
12
- * @name warning
10
+ * @ignore
13
11
  * @param {string} deprecated deprecated class,function or property name
14
12
  * @param {string} replacement the replacement class, function, or property name
15
13
  * @param {string} version the version since when the lass,function or property is deprecated
@@ -42,17 +40,30 @@ export function warning(deprecated, replacement, version) {
42
40
  if (console.groupCollapsed) {
43
41
  console.groupEnd();
44
42
  }
45
-
46
-
47
43
  };
48
44
 
45
+ /**
46
+ * @public
47
+ * @type {Function}
48
+ * @name turnOnPointerLock
49
+ * @memberof me.device
50
+ * @deprecated since 10.3.0
51
+ * @see me.input.requestPointerLock
52
+ */
53
+ device.turnOnPointerLock = function () {
54
+ warning("me.device.turnOnPointerLock()", "me.input.requestPointerLock()", "10.3.0");
55
+ return requestPointerLock();
56
+ };
49
57
 
50
58
  /**
51
- * Backward compatibility for deprecated method or properties are automatically
52
- * applied when automatically generating an UMD bundle (which is the default since version 9.0).
53
- * @memberof me.deprecated
54
- * @function apply
59
+ * @public
60
+ * @type {Function}
61
+ * @name turnOffPointerLock
62
+ * @memberof me.device
63
+ * @deprecated since 10.3.0
64
+ * @see me.input.exitPointerLock
55
65
  */
56
- export function apply() {
57
- ;
58
- };
66
+ device.turnOffPointerLock = function () {
67
+ warning("me.device.turnOffPointerLock()", "me.input.exitPointerLock()", "10.3.0");
68
+ return exitPointerLock();
69
+ };
@@ -49,7 +49,7 @@ function safeLoadLevel(levelId, options, restart) {
49
49
  /**
50
50
  * Load a TMX level
51
51
  * @name loadTMXLevel
52
- * @memberOf me.level
52
+ * @memberof me.level
53
53
  * @private
54
54
  * @param {string} levelId level id
55
55
  * @param {me.Container} container target container
@@ -76,7 +76,7 @@ function loadTMXLevel(levelId, container, flatten, setViewportBounds) {
76
76
  /**
77
77
  * a level manager. once ressources loaded, the level manager contains all references of defined levels.
78
78
  * @namespace level
79
- * @memberOf me
79
+ * @memberof me
80
80
  */
81
81
 
82
82
  var level = {
@@ -84,7 +84,7 @@ var level = {
84
84
  /**
85
85
  * add a level into the game manager (usually called by the preloader)
86
86
  * @name add
87
- * @memberOf me.level
87
+ * @memberof me.level
88
88
  * @public
89
89
  * @function
90
90
  * @param {string} format level format (only "tmx" supported)
@@ -123,7 +123,7 @@ var level = {
123
123
  * load a level into the game manager<br>
124
124
  * (will also create all level defined entities, etc..)
125
125
  * @name load
126
- * @memberOf me.level
126
+ * @memberof me.level
127
127
  * @public
128
128
  * @function
129
129
  * @param {string} levelId level id
@@ -197,7 +197,7 @@ var level = {
197
197
  /**
198
198
  * return the current level id<br>
199
199
  * @name getCurrentLevelId
200
- * @memberOf me.level
200
+ * @memberof me.level
201
201
  * @public
202
202
  * @function
203
203
  * @returns {string}
@@ -211,7 +211,7 @@ var level = {
211
211
  * for a reference to the live instantiated level,
212
212
  * rather use the container in which it was loaded (e.g. me.game.world)
213
213
  * @name getCurrentLevel
214
- * @memberOf me.level
214
+ * @memberof me.level
215
215
  * @public
216
216
  * @function
217
217
  * @returns {me.TMXTileMap}
@@ -223,7 +223,7 @@ var level = {
223
223
  /**
224
224
  * reload the current level
225
225
  * @name reload
226
- * @memberOf me.level
226
+ * @memberof me.level
227
227
  * @public
228
228
  * @function
229
229
  * @param {object} [options] additional optional parameters
@@ -241,7 +241,7 @@ var level = {
241
241
  /**
242
242
  * load the next level
243
243
  * @name next
244
- * @memberOf me.level
244
+ * @memberof me.level
245
245
  * @public
246
246
  * @function
247
247
  * @param {object} [options] additional optional parameters
@@ -263,7 +263,7 @@ var level = {
263
263
  /**
264
264
  * load the previous level<br>
265
265
  * @name previous
266
- * @memberOf me.level
266
+ * @memberof me.level
267
267
  * @public
268
268
  * @function
269
269
  * @param {object} [options] additional optional parameters
@@ -285,7 +285,7 @@ var level = {
285
285
  /**
286
286
  * return the amount of level preloaded
287
287
  * @name levelCount
288
- * @memberOf me.level
288
+ * @memberof me.level
289
289
  * @public
290
290
  * @function
291
291
  * @returns {number} the amount of level preloaded
@@ -8,7 +8,6 @@ import { clamp } from "./../../math/math.js";
8
8
  * object group definition as defined in Tiled.
9
9
  * (group definition is translated into the virtual `me.game.world` using `me.Container`)
10
10
  * @class TMXGroup
11
- * @constructor
12
11
  * @ignore
13
12
  */
14
13
  export default class TMXGroup {
@@ -20,7 +19,7 @@ export default class TMXGroup {
20
19
  * @public
21
20
  * @type {string}
22
21
  * @name name
23
- * @memberOf me.TMXGroup
22
+ * @memberof me.TMXGroup
24
23
  */
25
24
  this.name = data.name;
26
25
 
@@ -29,7 +28,7 @@ export default class TMXGroup {
29
28
  * @public
30
29
  * @type {number}
31
30
  * @name width
32
- * @memberOf me.TMXGroup
31
+ * @memberof me.TMXGroup
33
32
  */
34
33
  this.width = data.width || 0;
35
34
 
@@ -38,7 +37,7 @@ export default class TMXGroup {
38
37
  * @public
39
38
  * @type {number}
40
39
  * @name height
41
- * @memberOf me.TMXGroup
40
+ * @memberof me.TMXGroup
42
41
  */
43
42
  this.height = data.height || 0;
44
43
 
@@ -47,7 +46,7 @@ export default class TMXGroup {
47
46
  * @public
48
47
  * @type {string}
49
48
  * @name tintcolor
50
- * @memberOf me.TMXGroup
49
+ * @memberof me.TMXGroup
51
50
  */
52
51
  this.tintcolor = data.tintcolor;
53
52
 
@@ -56,7 +55,7 @@ export default class TMXGroup {
56
55
  * @public
57
56
  * @type {number}
58
57
  * @name z
59
- * @memberOf me.TMXGroup
58
+ * @memberof me.TMXGroup
60
59
  */
61
60
  this.z = z;
62
61
 
@@ -66,7 +65,7 @@ export default class TMXGroup {
66
65
  * @public
67
66
  * @type {object[]}
68
67
  * @name name
69
- * @memberOf me.TMXGroup
68
+ * @memberof me.TMXGroup
70
69
  */
71
70
  this.objects = [];
72
71