melonjs 10.2.0 → 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 (95) hide show
  1. package/README.md +1 -1
  2. package/dist/melonjs.js +4435 -4283
  3. package/dist/melonjs.min.js +4 -4
  4. package/dist/melonjs.module.d.ts +3348 -3833
  5. package/dist/melonjs.module.js +4025 -3920
  6. package/package.json +13 -14
  7. package/src/audio/audio.js +45 -45
  8. package/src/camera/camera2d.js +78 -101
  9. package/src/entity/draggable.js +21 -29
  10. package/src/entity/droptarget.js +24 -31
  11. package/src/entity/entity.js +34 -38
  12. package/src/game.js +8 -8
  13. package/src/{shapes → geometries}/ellipse.js +46 -46
  14. package/src/{shapes → geometries}/line.js +14 -14
  15. package/src/{shapes → geometries}/poly.js +103 -54
  16. package/src/{shapes → geometries}/rectangle.js +73 -120
  17. package/src/index.js +18 -19
  18. package/src/input/gamepad.js +20 -20
  19. package/src/input/input.js +3 -3
  20. package/src/input/keyboard.js +122 -124
  21. package/src/input/pointer.js +102 -62
  22. package/src/input/pointerevent.js +97 -42
  23. package/src/lang/deprecated.js +29 -18
  24. package/src/level/level.js +34 -26
  25. package/src/level/tiled/TMXGroup.js +12 -13
  26. package/src/level/tiled/TMXLayer.js +41 -42
  27. package/src/level/tiled/TMXObject.js +76 -70
  28. package/src/level/tiled/TMXTile.js +13 -15
  29. package/src/level/tiled/TMXTileMap.js +26 -25
  30. package/src/level/tiled/TMXTileset.js +14 -15
  31. package/src/level/tiled/TMXTilesetGroup.js +5 -6
  32. package/src/level/tiled/TMXUtils.js +13 -11
  33. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +3 -4
  34. package/src/level/tiled/renderer/TMXIsometricRenderer.js +3 -4
  35. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -3
  36. package/src/level/tiled/renderer/TMXRenderer.js +18 -19
  37. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +2 -3
  38. package/src/loader/loader.js +46 -40
  39. package/src/loader/loadingscreen.js +7 -7
  40. package/src/math/color.js +68 -88
  41. package/src/math/math.js +33 -33
  42. package/src/math/matrix2.js +70 -71
  43. package/src/math/matrix3.js +90 -91
  44. package/src/math/observable_vector2.js +91 -92
  45. package/src/math/observable_vector3.js +110 -106
  46. package/src/math/vector2.js +116 -104
  47. package/src/math/vector3.js +129 -110
  48. package/src/particles/emitter.js +116 -126
  49. package/src/particles/particle.js +4 -5
  50. package/src/particles/particlecontainer.js +2 -3
  51. package/src/physics/body.js +82 -83
  52. package/src/physics/bounds.js +64 -66
  53. package/src/physics/collision.js +21 -22
  54. package/src/physics/detector.js +13 -13
  55. package/src/physics/quadtree.js +26 -25
  56. package/src/physics/sat.js +21 -21
  57. package/src/physics/world.js +23 -22
  58. package/src/plugin/plugin.js +12 -13
  59. package/src/renderable/GUI.js +20 -26
  60. package/src/renderable/collectable.js +6 -7
  61. package/src/renderable/colorlayer.js +11 -12
  62. package/src/renderable/container.js +98 -81
  63. package/src/renderable/imagelayer.js +33 -35
  64. package/src/renderable/nineslicesprite.js +15 -16
  65. package/src/renderable/renderable.js +112 -111
  66. package/src/renderable/sprite.js +71 -58
  67. package/src/renderable/trigger.js +17 -19
  68. package/src/state/stage.js +14 -15
  69. package/src/state/state.js +78 -78
  70. package/src/system/device.js +137 -180
  71. package/src/system/event.js +116 -104
  72. package/src/system/pooling.js +15 -15
  73. package/src/system/save.js +9 -6
  74. package/src/system/timer.js +33 -33
  75. package/src/text/bitmaptext.js +39 -46
  76. package/src/text/bitmaptextdata.js +14 -15
  77. package/src/text/text.js +55 -58
  78. package/src/tweens/easing.js +5 -5
  79. package/src/tweens/interpolation.js +5 -5
  80. package/src/tweens/tween.js +49 -40
  81. package/src/utils/agent.js +12 -11
  82. package/src/utils/array.js +8 -8
  83. package/src/utils/file.js +7 -7
  84. package/src/utils/function.js +8 -8
  85. package/src/utils/string.js +19 -19
  86. package/src/utils/utils.js +23 -23
  87. package/src/video/canvas/canvas_renderer.js +127 -128
  88. package/src/video/renderer.js +69 -69
  89. package/src/video/texture.js +80 -82
  90. package/src/video/texture_cache.js +2 -4
  91. package/src/video/video.js +38 -38
  92. package/src/video/webgl/buffer/vertex.js +11 -3
  93. package/src/video/webgl/glshader.js +31 -32
  94. package/src/video/webgl/webgl_compositor.js +145 -127
  95. package/src/video/webgl/webgl_renderer.js +196 -175
@@ -1,10 +1,10 @@
1
1
  import EventEmitter from "eventemitter3";
2
2
 
3
3
  /**
4
- * an event system based on nodeJS EventEmitter interface
5
- * @namespace event
6
- * @memberOf me
7
- */
4
+ * an event system based on nodeJS EventEmitter interface
5
+ * @namespace event
6
+ * @memberof me
7
+ */
8
8
 
9
9
  // internal instance of the event emiter
10
10
  var eventEmitter = new EventEmitter();
@@ -13,9 +13,9 @@ var eventEmitter = new EventEmitter();
13
13
  * event when the system is booting
14
14
  * @public
15
15
  * @constant
16
- * @type String
16
+ * @type {string}
17
17
  * @name BOOT
18
- * @memberOf me.event
18
+ * @memberof me.event
19
19
  * @see me.event.on
20
20
  */
21
21
  export const BOOT = "me.boot";
@@ -25,21 +25,21 @@ export const BOOT = "me.boot";
25
25
  * Data passed : none <br>
26
26
  * @public
27
27
  * @constant
28
- * @type String
28
+ * @type {string}
29
29
  * @name STATE_PAUSE
30
- * @memberOf me.event
30
+ * @memberof me.event
31
31
  * @see me.event.on
32
32
  */
33
33
  export const STATE_PAUSE = "me.state.onPause";
34
34
 
35
35
  /**
36
36
  * event for when the game is resumed <br>
37
- * Data passed : {Number} time in ms the game was paused
37
+ * Data passed : {number} time in ms the game was paused
38
38
  * @public
39
39
  * @constant
40
- * @type String
40
+ * @type {string}
41
41
  * @name STATE_RESUME
42
- * @memberOf me.event
42
+ * @memberof me.event
43
43
  * @see me.event.on
44
44
  */
45
45
  export const STATE_RESUME = "me.state.onResume";
@@ -49,21 +49,21 @@ export const STATE_RESUME = "me.state.onResume";
49
49
  * Data passed : none <br>
50
50
  * @public
51
51
  * @constant
52
- * @type String
52
+ * @type {string}
53
53
  * @name STATE_STOP
54
- * @memberOf me.event
54
+ * @memberof me.event
55
55
  * @see me.event.on
56
56
  */
57
57
  export const STATE_STOP = "me.state.onStop";
58
58
 
59
59
  /**
60
60
  * event for when the game is restarted <br>
61
- * Data passed : {Number} time in ms the game was stopped
61
+ * Data passed : {number} time in ms the game was stopped
62
62
  * @public
63
63
  * @constant
64
- * @type String
64
+ * @type {string}
65
65
  * @name STATE_RESTART
66
- * @memberOf me.event
66
+ * @memberof me.event
67
67
  * @see me.event.on
68
68
  */
69
69
  export const STATE_RESTART = "me.state.onRestart";
@@ -73,9 +73,9 @@ export const STATE_RESTART = "me.state.onRestart";
73
73
  * Data passed : none <br>
74
74
  * @public
75
75
  * @constant
76
- * @type String
76
+ * @type {string}
77
77
  * @name VIDEO_INIT
78
- * @memberOf me.event
78
+ * @memberof me.event
79
79
  * @see me.video.init
80
80
  * @see me.event.on
81
81
  */
@@ -86,9 +86,9 @@ export const VIDEO_INIT = "me.video.onInit";
86
86
  * Data passed : none <br>
87
87
  * @public
88
88
  * @constant
89
- * @type String
89
+ * @type {string}
90
90
  * @name GAME_INIT
91
- * @memberOf me.event
91
+ * @memberof me.event
92
92
  * @see me.event.on
93
93
  */
94
94
  export const GAME_INIT = "me.game.onInit";
@@ -98,81 +98,81 @@ export const GAME_INIT = "me.game.onInit";
98
98
  * Data passed : none <br>
99
99
  * @public
100
100
  * @constant
101
- * @type String
101
+ * @type {string}
102
102
  * @name GAME_RESET
103
- * @memberOf me.event
103
+ * @memberof me.event
104
104
  * @see me.event.on
105
105
  */
106
106
  export const GAME_RESET = "me.game.onReset";
107
107
 
108
108
  /**
109
109
  * event for when the engine is about to start a new game loop
110
- * Data passed : {Number} time the current time stamp
110
+ * Data passed : {number} time the current time stamp
111
111
  * @public
112
112
  * @constant
113
- * @type String
113
+ * @type {string}
114
114
  * @name GAME_BEFORE_UPDATE
115
- * @memberOf me.event
115
+ * @memberof me.event
116
116
  * @see me.event.on
117
117
  */
118
118
  export const GAME_BEFORE_UPDATE = "me.game.beforeUpdate";
119
119
 
120
120
  /**
121
121
  * event for the end of the update loop
122
- * Data passed : {Number} time the current time stamp
122
+ * Data passed : {number} time the current time stamp
123
123
  * @public
124
124
  * @constant
125
- * @type String
125
+ * @type {string}
126
126
  * @name GAME_AFTER_UPDATE
127
- * @memberOf me.event
127
+ * @memberof me.event
128
128
  * @see me.event.on
129
129
  */
130
130
  export const GAME_AFTER_UPDATE = "me.game.afterUpdate";
131
131
 
132
132
  /**
133
133
  * Event for when the game is updated (will be impacted by frame skip, frame interpolation and pause/resume state) <br>
134
- * Data passed : {Number} time the current time stamp
134
+ * Data passed : {number} time the current time stamp
135
135
  * @public
136
136
  * @constant
137
- * @type String
137
+ * @type {string}
138
138
  * @name GAME_UPDATE
139
- * @memberOf me.event
139
+ * @memberof me.event
140
140
  * @see me.event.on
141
141
  */
142
142
  export const GAME_UPDATE = "me.game.onUpdate";
143
143
 
144
144
  /**
145
145
  * Event for the end of the draw loop
146
- * Data passed : {Number} time the current time stamp
146
+ * Data passed : {number} time the current time stamp
147
147
  * @public
148
148
  * @constant
149
- * @type String
149
+ * @type {string}
150
150
  * @name GAME_BEFORE_DRAW
151
- * @memberOf me.event
151
+ * @memberof me.event
152
152
  * @see me.event.on
153
153
  */
154
154
  export const GAME_BEFORE_DRAW = "me.game.beforeDraw";
155
155
 
156
156
  /**
157
157
  * Event for the start of the draw loop
158
- * Data passed : {Number} time the current time stamp
158
+ * Data passed : {number} time the current time stamp
159
159
  * @public
160
160
  * @constant
161
- * @type String
161
+ * @type {string}
162
162
  * @name GAME_AFTER_DRAW
163
- * @memberOf me.event
163
+ * @memberof me.event
164
164
  * @see me.event.on
165
165
  */
166
166
  export const GAME_AFTER_DRAW = "me.game.afterDraw";
167
167
 
168
168
  /**
169
169
  * Event for when a level is loaded <br>
170
- * Data passed : {String} Level Name
170
+ * Data passed : {string} Level Name
171
171
  * @public
172
172
  * @constant
173
- * @type String
173
+ * @type {string}
174
174
  * @name LEVEL_LOADED
175
- * @memberOf me.event
175
+ * @memberof me.event
176
176
  * @see me.event.on
177
177
  */
178
178
  export const LEVEL_LOADED = "me.game.onLevelLoaded";
@@ -182,38 +182,38 @@ export const LEVEL_LOADED = "me.game.onLevelLoaded";
182
182
  * Data passed : none <br>
183
183
  * @public
184
184
  * @constant
185
- * @type String
185
+ * @type {string}
186
186
  * @name LOADER_COMPLETE
187
- * @memberOf me.event
187
+ * @memberof me.event
188
188
  * @see me.event.on
189
189
  */
190
190
  export const LOADER_COMPLETE = "me.loader.onload";
191
191
 
192
192
  /**
193
193
  * Event for displaying a load progress indicator <br>
194
- * Data passed : {Number} [0 .. 1], {Resource} resource object<br>
194
+ * Data passed : {number} [0 .. 1], {Resource} resource object<br>
195
195
  * @public
196
196
  * @constant
197
- * @type String
197
+ * @type {string}
198
198
  * @name LOADER_PROGRESS
199
- * @memberOf me.event
199
+ * @memberof me.event
200
200
  * @see me.event.on
201
201
  */
202
202
  export const LOADER_PROGRESS = "me.loader.onProgress";
203
203
 
204
204
  /**
205
205
  * Event for pressing a binded key <br>
206
- * Data passed : {String} user-defined action, {Number} keyCode,
207
- * {Boolean} edge state <br>
206
+ * Data passed : {string} user-defined action, {number} keyCode,
207
+ * {boolean} edge state <br>
208
208
  * Edge-state is for detecting "locked" key bindings. When a locked key
209
209
  * is pressed and held, the first event will have the third argument
210
210
  * set true. Subsequent events will continue firing with the third
211
211
  * argument set false.
212
212
  * @public
213
213
  * @constant
214
- * @type String
214
+ * @type {string}
215
215
  * @name KEYDOWN
216
- * @memberOf me.event
216
+ * @memberof me.event
217
217
  * @see me.event.on
218
218
  * @example
219
219
  * me.input.bindKey(me.input.KEY.X, "jump", true); // Edge-triggered
@@ -234,12 +234,12 @@ export const KEYDOWN = "me.input.keydown";
234
234
 
235
235
  /**
236
236
  * Event for releasing a binded key <br>
237
- * Data passed : {String} user-defined action, {Number} keyCode
237
+ * Data passed : {string} user-defined action, {number} keyCode
238
238
  * @public
239
239
  * @constant
240
- * @type String
240
+ * @type {string}
241
241
  * @name KEYUP
242
- * @memberOf me.event
242
+ * @memberof me.event
243
243
  * @see me.event.on
244
244
  * @example
245
245
  * me.event.on(me.event.KEYUP, (action, keyCode) => {
@@ -258,40 +258,40 @@ export const KEYUP = "me.input.keyup";
258
258
 
259
259
  /**
260
260
  * Event for when a gamepad is connected <br>
261
- * Data passed : {Object} gamepad object
261
+ * Data passed : {object} gamepad object
262
262
  * @public
263
263
  * @constant
264
- * @type String
264
+ * @type {string}
265
265
  * @name GAMEPAD_CONNECTED
266
- * @memberOf me.event
266
+ * @memberof me.event
267
267
  * @see me.event.on
268
268
  */
269
269
  export const GAMEPAD_CONNECTED = "gamepad.connected";
270
270
 
271
271
  /**
272
272
  * Event for when a gamepad is disconnected <br>
273
- * Data passed : {Object} gamepad object
273
+ * Data passed : {object} gamepad object
274
274
  * @public
275
275
  * @constant
276
- * @type String
276
+ * @type {string}
277
277
  * @name GAMEPAD_DISCONNECTED
278
- * @memberOf me.event
278
+ * @memberof me.event
279
279
  * @see me.event.on
280
280
  */
281
281
  export const GAMEPAD_DISCONNECTED = "gamepad.disconnected";
282
282
 
283
283
  /**
284
284
  * Event for when gamepad button/axis state is updated <br>
285
- * Data passed : {Number} index <br>
286
- * Data passed : {String} type : "axes" or "buttons" <br>
287
- * Data passed : {Number} button <br>
288
- * Data passed : {Number} current.value <br>
289
- * Data passed : {Boolean} current.pressed
285
+ * Data passed : {number} index <br>
286
+ * Data passed : {string} type : "axes" or "buttons" <br>
287
+ * Data passed : {number} button <br>
288
+ * Data passed : {number} current.value <br>
289
+ * Data passed : {boolean} current.pressed
290
290
  * @public
291
291
  * @constant
292
- * @type String
292
+ * @type {string}
293
293
  * @name GAMEPAD_UPDATE
294
- * @memberOf me.event
294
+ * @memberof me.event
295
295
  * @see me.event.on
296
296
  */
297
297
  export const GAMEPAD_UPDATE = "gamepad.update";
@@ -301,23 +301,35 @@ export const GAMEPAD_UPDATE = "gamepad.update";
301
301
  * Data passed : {me.Pointer} a Pointer object
302
302
  * @public
303
303
  * @constant
304
- * @type String
304
+ * @type {string}
305
305
  * @name POINTERMOVE
306
- * @memberOf me.event
306
+ * @memberof me.event
307
307
  * @see me.event.on
308
308
  */
309
309
  export const POINTERMOVE = "me.event.pointermove";
310
310
 
311
+ /**
312
+ * Event for onPointerLockChange event <br>
313
+ * Data passed : {boolean} pointer lock status (true/false)
314
+ * @public
315
+ * @constant
316
+ * @type {string}
317
+ * @name POINTERLOCKCHANGE
318
+ * @memberof me.event
319
+ * @see me.event.on
320
+ */
321
+ export const POINTERLOCKCHANGE = "me.event.pointerlockChange";
322
+
311
323
  /**
312
324
  * Event for dragstart events on a Draggable entity <br>
313
325
  * Data passed:
314
- * {Object} the drag event <br>
315
- * {Object} the Draggable entity
326
+ * {object} the drag event <br>
327
+ * {object} the Draggable entity
316
328
  * @public
317
329
  * @constant
318
- * @type String
330
+ * @type {string}
319
331
  * @name DRAGSTART
320
- * @memberOf me.event
332
+ * @memberof me.event
321
333
  * @see me.event.on
322
334
  */
323
335
  export const DRAGSTART = "me.game.dragstart";
@@ -325,13 +337,13 @@ export const DRAGSTART = "me.game.dragstart";
325
337
  /**
326
338
  * Event for dragend events on a Draggable entity <br>
327
339
  * Data passed:
328
- * {Object} the drag event <br>
329
- * {Object} the Draggable entity
340
+ * {object} the drag event <br>
341
+ * {object} the Draggable entity
330
342
  * @public
331
343
  * @constant
332
- * @type String
344
+ * @type {string}
333
345
  * @name DRAGEND
334
- * @memberOf me.event
346
+ * @memberof me.event
335
347
  * @see me.event.on
336
348
  */
337
349
  export const DRAGEND = "me.game.dragend";
@@ -341,9 +353,9 @@ export const DRAGEND = "me.game.dragend";
341
353
  * Data passed : {Event} Event object
342
354
  * @public
343
355
  * @constant
344
- * @type String
356
+ * @type {string}
345
357
  * @name WINDOW_ONRESIZE
346
- * @memberOf me.event
358
+ * @memberof me.event
347
359
  * @see me.event.on
348
360
  */
349
361
  export const WINDOW_ONRESIZE = "window.onresize";
@@ -351,13 +363,13 @@ export const WINDOW_ONRESIZE = "window.onresize";
351
363
  /**
352
364
  * Event for when the canvas is resized <br>
353
365
  * (this usually follows a WINDOW_ONRESIZE event).<br>
354
- * Data passed : {Number} canvas width <br>
355
- * Data passed : {Number} canvas height
366
+ * Data passed : {number} canvas width <br>
367
+ * Data passed : {number} canvas height
356
368
  * @public
357
369
  * @constant
358
- * @type String
370
+ * @type {string}
359
371
  * @name CANVAS_ONRESIZE
360
- * @memberOf me.event
372
+ * @memberof me.event
361
373
  * @see me.event.on
362
374
  */
363
375
  export const CANVAS_ONRESIZE = "canvas.onresize";
@@ -365,13 +377,13 @@ export const CANVAS_ONRESIZE = "canvas.onresize";
365
377
  /**
366
378
  * Event for when the viewport is resized <br>
367
379
  * (this usually follows a WINDOW_ONRESIZE event, when using the `flex` scaling mode is used and after the viewport was updated).<br>
368
- * Data passed : {Number} viewport width <br>
369
- * Data passed : {Number} viewport height
380
+ * Data passed : {number} viewport width <br>
381
+ * Data passed : {number} viewport height
370
382
  * @public
371
383
  * @constant
372
- * @type String
384
+ * @type {string}
373
385
  * @name VIEWPORT_ONRESIZE
374
- * @memberOf me.event
386
+ * @memberof me.event
375
387
  * @see me.event.on
376
388
  */
377
389
  export const VIEWPORT_ONRESIZE = "viewport.onresize";
@@ -381,9 +393,9 @@ export const VIEWPORT_ONRESIZE = "viewport.onresize";
381
393
  * Data passed : {Event} Event object <br>
382
394
  * @public
383
395
  * @constant
384
- * @type String
396
+ * @type {string}
385
397
  * @name WINDOW_ONORIENTATION_CHANGE
386
- * @memberOf me.event
398
+ * @memberof me.event
387
399
  * @see me.event.on
388
400
  */
389
401
  export const WINDOW_ONORIENTATION_CHANGE = "window.orientationchange";
@@ -393,9 +405,9 @@ export const WINDOW_ONORIENTATION_CHANGE = "window.orientationchange";
393
405
  * Data passed : {Event} Event object
394
406
  * @public
395
407
  * @constant
396
- * @type String
408
+ * @type {string}
397
409
  * @name WINDOW_ONSCROLL
398
- * @memberOf me.event
410
+ * @memberof me.event
399
411
  * @see me.event.on
400
412
  */
401
413
  export const WINDOW_ONSCROLL = "window.onscroll";
@@ -405,9 +417,9 @@ export const WINDOW_ONSCROLL = "window.onscroll";
405
417
  * Data passed : {me.Vector2d} viewport position vector
406
418
  * @public
407
419
  * @constant
408
- * @type String
420
+ * @type {string}
409
421
  * @name VIEWPORT_ONCHANGE
410
- * @memberOf me.event
422
+ * @memberof me.event
411
423
  * @see me.event.on
412
424
  */
413
425
  export const VIEWPORT_ONCHANGE = "viewport.onchange";
@@ -417,9 +429,9 @@ export const VIEWPORT_ONCHANGE = "viewport.onchange";
417
429
  * Data passed : {me.WebGLRenderer} the current webgl renderer instance`
418
430
  * @public
419
431
  * @constant
420
- * @type String
432
+ * @type {string}
421
433
  * @name WEBGL_ONCONTEXT_LOST
422
- * @memberOf me.event
434
+ * @memberof me.event
423
435
  * @see me.event.on
424
436
  */
425
437
  export const WEBGL_ONCONTEXT_LOST = "renderer.webglcontextlost";
@@ -429,9 +441,9 @@ export const WEBGL_ONCONTEXT_LOST = "renderer.webglcontextlost";
429
441
  * Data passed : {me.WebGLRenderer} the current webgl renderer instance`
430
442
  * @public
431
443
  * @constant
432
- * @type String
444
+ * @type {string}
433
445
  * @name WEBGL_ONCONTEXT_RESTORED
434
- * @memberOf me.event
446
+ * @memberof me.event
435
447
  * @see me.event.on
436
448
  */
437
449
  export const WEBGL_ONCONTEXT_RESTORED = "renderer.webglcontextrestored";
@@ -439,9 +451,9 @@ export const WEBGL_ONCONTEXT_RESTORED = "renderer.webglcontextrestored";
439
451
  /**
440
452
  * calls each of the listeners registered for a given event.
441
453
  * @function me.event.emit
442
- * @param {(String|Symbol)} event The event name.
443
- * @param {...*} arguments arguments to be passed to all listeners
444
- * @return true if the event had listeners, false otherwise.
454
+ * @param {string|symbol} eventName The event name.
455
+ * @param {object} [...arguments] arguments to be passed to all listeners
456
+ * @returns {boolean} true if the event had listeners, false otherwise.
445
457
  * @example
446
458
  * me.event.emit("event-name", a, b, c);
447
459
  */
@@ -452,8 +464,8 @@ export function emit(eventName, ...args) {
452
464
  /**
453
465
  * Add a listener for a given event.
454
466
  * @function me.event.on
455
- * @param {(String|Symbol)} event The event name.
456
- * @param {Function} fn The listener function.
467
+ * @param {string|symbol} eventName The event name.
468
+ * @param {Function} listener The listener function.
457
469
  * @param {*} [context=this] The context to invoke the listener with.
458
470
  * @returns {EventEmitter} `this`.
459
471
  * @public
@@ -467,8 +479,8 @@ export function on(eventName, listener, context) {
467
479
  /**
468
480
  * Add a one-time listener for a given event.
469
481
  * @function me.event.once
470
- * @param {(String|Symbol)} event The event name.
471
- * @param {Function} fn The listener function.
482
+ * @param {string|symbol} eventName The event name.
483
+ * @param {Function} listener The listener function.
472
484
  * @param {*} [context=this] The context to invoke the listener with.
473
485
  * @returns {EventEmitter} `this`.
474
486
  * @public
@@ -482,8 +494,8 @@ export function once(eventName, listener, context) {
482
494
  /**
483
495
  * remove the given listener for a given event.
484
496
  * @function me.event.off
485
- * @param {(String|Symbol)} event The event name.
486
- * @param {Function} fn The listener function.
497
+ * @param {string|symbol} eventName The event name.
498
+ * @param {Function} listener The listener function.
487
499
  * @returns {EventEmitter} `this`.
488
500
  * @public
489
501
  * @example
@@ -13,7 +13,7 @@ var instance_counter = 0;
13
13
  * found in the map, based on the user defined name in each Object Properties<br>
14
14
  * <img src="images/object_properties.png"/><br>
15
15
  * @namespace me.pool
16
- * @memberOf me
16
+ * @memberof me
17
17
  */
18
18
 
19
19
  var pool = {
@@ -23,9 +23,9 @@ var pool = {
23
23
  * Pooling must be set to true if more than one such objects will be created. <br>
24
24
  * (Note: for an object to be poolable, it must implements a `onResetEvent` method)
25
25
  * @function me.pool.register
26
- * @param {String} className as defined in the Name field of the Object Properties (in Tiled)
27
- * @param {Object} class corresponding Class to be instantiated
28
- * @param {Boolean} [recycling=false] enables object recycling for the specified class
26
+ * @param {string} className as defined in the Name field of the Object Properties (in Tiled)
27
+ * @param {object} classObj corresponding Class to be instantiated
28
+ * @param {boolean} [recycling=false] enables object recycling for the specified class
29
29
  * @example
30
30
  * // implement CherryEntity
31
31
  * class CherryEntity extends Spritesheet {
@@ -51,9 +51,9 @@ var pool = {
51
51
  /**
52
52
  * Pull a new instance of the requested object (if added into the object pool)
53
53
  * @function me.pool.pull
54
- * @param {String} className as used in {@link me.pool.register}
55
- * @param {} [arguments...] arguments to be passed when instantiating/reinitializing the object
56
- * @return {Object} the instance of the requested object
54
+ * @param {string} name as used in {@link me.pool.register}
55
+ * @param {object} [...arguments] arguments to be passed when instantiating/reinitializing the object
56
+ * @returns {object} the instance of the requested object
57
57
  * @example
58
58
  * me.pool.register("bullet", BulletEntity, true);
59
59
  * me.pool.register("enemy", EnemyEntity, true);
@@ -125,9 +125,9 @@ var pool = {
125
125
  * otherwise this function won't work
126
126
  * @function me.pool.push
127
127
  * @throws will throw an error if the object cannot be recycled
128
- * @param {Object} instance to be recycled
129
- * @param {Boolean} [throwOnError=true] throw an exception if the object cannot be recycled
130
- * @return {Boolean} true if the object was successfully recycled in the object pool
128
+ * @param {object} obj instance to be recycled
129
+ * @param {boolean} [throwOnError=true] throw an exception if the object cannot be recycled
130
+ * @returns {boolean} true if the object was successfully recycled in the object pool
131
131
  */
132
132
  push(obj, throwOnError = true) {
133
133
  if (!this.poolable(obj)) {
@@ -148,8 +148,8 @@ var pool = {
148
148
  /**
149
149
  * Check if an object with the provided name is registered
150
150
  * @function me.pool.exists
151
- * @param {String} name of the registered object class
152
- * @return {Boolean} true if the classname is registered
151
+ * @param {string} name of the registered object class
152
+ * @returns {boolean} true if the classname is registered
153
153
  */
154
154
  exists(name) {
155
155
  return name in objectClass;
@@ -160,8 +160,8 @@ var pool = {
160
160
  * (was properly registered with the recycling feature enable)
161
161
  * @function me.pool.poolable
162
162
  * @see me.pool.register
163
- * @param {Object} object
164
- * @return {Boolean} true if the object is poolable
163
+ * @param {object} obj object to be checked
164
+ * @returns {boolean} true if the object is poolable
165
165
  * @example
166
166
  * if (!me.pool.poolable(myCherryEntity)) {
167
167
  * // object was not properly registered
@@ -179,7 +179,7 @@ var pool = {
179
179
  /**
180
180
  * returns the amount of object instance currently in the pool
181
181
  * @function me.pool.getInstanceCount
182
- * @return {Number} amount of object instance
182
+ * @returns {number} amount of object instance
183
183
  */
184
184
  getInstanceCount() {
185
185
  return instance_counter;
@@ -30,13 +30,16 @@ import * as event from "./../system/event.js";
30
30
  * // Remove "lives" from localStorage
31
31
  * me.save.remove("lives");
32
32
  * @namespace me.save
33
- * @memberOf me
33
+ * @memberof me
34
34
  */
35
35
 
36
36
  // Variable to hold the object data
37
37
  var data = {};
38
38
 
39
- // a function to check if the given key is a reserved word
39
+ /**
40
+ * a function to check if the given key is a reserved word
41
+ * @ignore
42
+ */
40
43
  function isReserved(key) {
41
44
  return (key === "add" || key === "remove");
42
45
  }
@@ -62,9 +65,9 @@ var save = {
62
65
  /**
63
66
  * Add new keys to localStorage and set them to the given default values if they do not exist
64
67
  * @name add
65
- * @memberOf me.save
68
+ * @memberof me.save
66
69
  * @function
67
- * @param {Object} props key and corresponding values
70
+ * @param {object} props key and corresponding values
68
71
  * @example
69
72
  * // Initialize "score" and "lives" with default values
70
73
  * me.save.add({ score : 0, lives : 3 });
@@ -116,9 +119,9 @@ var save = {
116
119
  /**
117
120
  * Remove a key from localStorage
118
121
  * @name remove
119
- * @memberOf me.save
122
+ * @memberof me.save
120
123
  * @function
121
- * @param {String} key key to be removed
124
+ * @param {string} key key to be removed
122
125
  * @example
123
126
  * // Remove the "score" key from localStorage
124
127
  * me.save.remove("score");