melonjs 15.1.5 → 15.1.6

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 (157) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  2. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  5. package/dist/melonjs.mjs/application/application.js +1 -1
  6. package/dist/melonjs.mjs/application/header.js +1 -1
  7. package/dist/melonjs.mjs/application/resize.js +1 -1
  8. package/dist/melonjs.mjs/application/settings.js +1 -1
  9. package/dist/melonjs.mjs/audio/audio.js +1 -1
  10. package/dist/melonjs.mjs/camera/camera2d.js +3 -3
  11. package/dist/melonjs.mjs/const.js +1 -1
  12. package/dist/melonjs.mjs/entity/entity.js +1 -1
  13. package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
  14. package/dist/melonjs.mjs/geometries/line.js +1 -1
  15. package/dist/melonjs.mjs/geometries/path2d.js +1 -1
  16. package/dist/melonjs.mjs/geometries/point.js +1 -1
  17. package/dist/melonjs.mjs/geometries/poly.js +1 -1
  18. package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
  19. package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
  20. package/dist/melonjs.mjs/index.js +4 -3
  21. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  22. package/dist/melonjs.mjs/input/input.js +1 -1
  23. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  24. package/dist/melonjs.mjs/input/pointer.js +1 -1
  25. package/dist/melonjs.mjs/input/pointerevent.js +1 -1
  26. package/dist/melonjs.mjs/lang/console.js +1 -1
  27. package/dist/melonjs.mjs/lang/deprecated.js +3 -2
  28. package/dist/melonjs.mjs/level/level.js +1 -1
  29. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  30. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
  31. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  32. package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
  33. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +1 -1
  34. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
  35. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
  36. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
  37. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  44. package/dist/melonjs.mjs/loader/cache.js +1 -1
  45. package/dist/melonjs.mjs/loader/loader.js +1 -1
  46. package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
  47. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  48. package/dist/melonjs.mjs/loader/parser.js +1 -1
  49. package/dist/melonjs.mjs/loader/settings.js +1 -1
  50. package/dist/melonjs.mjs/math/color.js +1 -1
  51. package/dist/melonjs.mjs/math/math.js +1 -1
  52. package/dist/melonjs.mjs/math/matrix2.js +1 -1
  53. package/dist/melonjs.mjs/math/matrix3.js +1 -1
  54. package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
  55. package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
  56. package/dist/melonjs.mjs/math/vector2.js +1 -1
  57. package/dist/melonjs.mjs/math/vector3.js +1 -1
  58. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  61. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  62. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  63. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  64. package/dist/melonjs.mjs/particles/emitter.js +1 -1
  65. package/dist/melonjs.mjs/particles/particle.js +1 -1
  66. package/dist/melonjs.mjs/particles/settings.js +1 -1
  67. package/dist/melonjs.mjs/physics/body.js +3 -3
  68. package/dist/melonjs.mjs/physics/bounds.js +1 -1
  69. package/dist/melonjs.mjs/physics/collision.js +1 -1
  70. package/dist/melonjs.mjs/physics/detector.js +4 -4
  71. package/dist/melonjs.mjs/physics/quadtree.js +1 -1
  72. package/dist/melonjs.mjs/physics/response.js +1 -1
  73. package/dist/melonjs.mjs/physics/sat.js +9 -9
  74. package/dist/melonjs.mjs/physics/world.js +1 -1
  75. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  76. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  77. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  78. package/dist/melonjs.mjs/renderable/container.js +14 -14
  79. package/dist/melonjs.mjs/renderable/draggable.js +121 -0
  80. package/dist/melonjs.mjs/renderable/dragndrop.js +3 -113
  81. package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
  82. package/dist/melonjs.mjs/renderable/light2d.js +1 -1
  83. package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
  84. package/dist/melonjs.mjs/renderable/renderable.js +2 -2
  85. package/dist/melonjs.mjs/renderable/sprite.js +1 -1
  86. package/dist/melonjs.mjs/renderable/trigger.js +2 -2
  87. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
  88. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
  89. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
  90. package/dist/melonjs.mjs/state/stage.js +1 -1
  91. package/dist/melonjs.mjs/state/state.js +1 -1
  92. package/dist/melonjs.mjs/system/device.js +1 -1
  93. package/dist/melonjs.mjs/system/dom.js +1 -1
  94. package/dist/melonjs.mjs/system/event.js +1 -1
  95. package/dist/melonjs.mjs/system/platform.js +1 -1
  96. package/dist/melonjs.mjs/system/pooling.js +1 -1
  97. package/dist/melonjs.mjs/system/save.js +1 -1
  98. package/dist/melonjs.mjs/system/timer.js +1 -1
  99. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  100. package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
  101. package/dist/melonjs.mjs/text/glyph.js +1 -1
  102. package/dist/melonjs.mjs/text/text.js +1 -1
  103. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  104. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  105. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  106. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  107. package/dist/melonjs.mjs/tweens/tween.js +1 -1
  108. package/dist/melonjs.mjs/utils/agent.js +1 -1
  109. package/dist/melonjs.mjs/utils/array.js +1 -1
  110. package/dist/melonjs.mjs/utils/file.js +1 -1
  111. package/dist/melonjs.mjs/utils/function.js +1 -1
  112. package/dist/melonjs.mjs/utils/string.js +1 -1
  113. package/dist/melonjs.mjs/utils/utils.js +1 -1
  114. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
  115. package/dist/melonjs.mjs/video/renderer.js +1 -1
  116. package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
  117. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  118. package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
  119. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  120. package/dist/melonjs.mjs/video/video.js +1 -1
  121. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
  122. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
  123. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
  124. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
  125. package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
  126. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  127. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  128. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  129. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  130. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  131. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  132. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  133. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  134. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1 -1
  136. package/dist/melonjs.module.js +60 -55
  137. package/dist/types/camera/camera2d.d.ts +4 -4
  138. package/dist/types/index.d.ts +1 -1
  139. package/dist/types/physics/body.d.ts +4 -4
  140. package/dist/types/physics/detector.d.ts +5 -5
  141. package/dist/types/physics/sat.d.ts +12 -12
  142. package/dist/types/renderable/container.d.ts +25 -25
  143. package/dist/types/renderable/draggable.d.ts +53 -0
  144. package/dist/types/renderable/dragndrop.d.ts +0 -52
  145. package/dist/types/renderable/renderable.d.ts +2 -2
  146. package/package.json +8 -8
  147. package/src/camera/camera2d.js +2 -2
  148. package/src/index.js +2 -1
  149. package/src/lang/deprecated.js +2 -1
  150. package/src/physics/body.js +2 -2
  151. package/src/physics/detector.js +3 -3
  152. package/src/physics/sat.js +8 -8
  153. package/src/renderable/container.js +13 -13
  154. package/src/renderable/draggable.js +114 -0
  155. package/src/renderable/dragndrop.js +0 -109
  156. package/src/renderable/renderable.js +1 -1
  157. package/src/renderable/trigger.js +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -47,8 +47,8 @@ class Detector {
47
47
  /**
48
48
  * determine if two objects should collide (based on both respective objects body collision mask and type).<br>
49
49
  * you can redefine this function if you need any specific rules over what should collide with what.
50
- * @param {Renderable} a - a reference to the object A.
51
- * @param {Renderable} b - a reference to the object B.
50
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
51
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
52
52
  * @returns {boolean} true if they should collide, false otherwise
53
53
  */
54
54
  shouldCollide(a, b) {
@@ -101,7 +101,7 @@ class Detector {
101
101
  /**
102
102
  * find all the collisions for the specified object using a broadphase algorithm
103
103
  * @ignore
104
- * @param {Renderable} objA - object to be tested for collision
104
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} objA - object to be tested for collision
105
105
  * @returns {boolean} in case of collision, false otherwise
106
106
  */
107
107
  collisions(objA) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -195,9 +195,9 @@ function vornoiRegion(line, point) {
195
195
  /**
196
196
  * Checks whether polygons collide.
197
197
  * @ignore
198
- * @param {Renderable} a - a reference to the object A.
198
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
199
199
  * @param {Polygon} polyA - a reference to the object A Polygon to be tested
200
- * @param {Renderable} b - a reference to the object B.
200
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
201
201
  * @param {Polygon} polyB - a reference to the object B Polygon to be tested
202
202
  * @param {Response=} response - Response object (optional) that will be populated if they intersect.
203
203
  * @returns {boolean} true if they intersect, false if they don't.
@@ -249,9 +249,9 @@ function testPolygonPolygon(a, polyA, b, polyB, response) {
249
249
  /**
250
250
  * Check if two Ellipse collide.
251
251
  * @ignore
252
- * @param {Renderable} a - a reference to the object A.
252
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
253
253
  * @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
254
- * @param {Renderable} b - a reference to the object B.
254
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
255
255
  * @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
256
256
  * @param {Response=} response - Response object (optional) that will be populated if
257
257
  * the circles intersect.
@@ -290,9 +290,9 @@ function testEllipseEllipse(a, ellipseA, b, ellipseB, response) {
290
290
  /**
291
291
  * Check if a polygon and an ellipse collide.
292
292
  * @ignore
293
- * @param {Renderable} a - a reference to the object A.
293
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
294
294
  * @param {Polygon} polyA - a reference to the object A Polygon to be tested
295
- * @param {Renderable} b - a reference to the object B.
295
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
296
296
  * @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
297
297
  * @param {Response=} response - Response object (optional) that will be populated if they intersect.
298
298
  * @returns {boolean} true if they intersect, false if they don't.
@@ -456,9 +456,9 @@ function testPolygonEllipse(a, polyA, b, ellipseB, response) {
456
456
  * **NOTE:** This is slightly less efficient than testPolygonEllipse as it just
457
457
  * runs testPolygonEllipse and reverses the response at the end.
458
458
  * @ignore
459
- * @param {Renderable} a - a reference to the object A.
459
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
460
460
  * @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
461
- * @param {Renderable} b - a reference to the object B.
461
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
462
462
  * @param {Polygon} polyB - a reference to the object B Polygon to be tested
463
463
  * @param {Response=} response - Response object (optional) that will be populated if
464
464
  * they intersect.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -24,10 +24,10 @@ class BasePlugin {
24
24
  * this can be overridden by the plugin
25
25
  * @public
26
26
  * @type {string}
27
- * @default "15.1.5"
27
+ * @default "15.1.6"
28
28
  * @name plugin.Base#version
29
29
  */
30
- this.version = "15.1.5";
30
+ this.version = "15.1.6";
31
31
  }
32
32
  }
33
33
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -183,7 +183,7 @@ let globalFloatingCounter = 0;
183
183
  * will not be in any container. <br>
184
184
  * if the given child implements a onActivateEvent method, that method will be called
185
185
  * once the child is added to this container.
186
- * @param {Renderable} child
186
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
187
187
  * @param {number} [z] - forces the z index of the child to the specified value
188
188
  * @returns {Renderable} the added child
189
189
  */
@@ -265,7 +265,7 @@ let globalFloatingCounter = 0;
265
265
  /**
266
266
  * Add a child to the container at the specified index<br>
267
267
  * (the list won't be sorted after insertion)
268
- * @param {Renderable} child
268
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
269
269
  * @param {number} index
270
270
  * @returns {Renderable} the added child
271
271
  */
@@ -376,8 +376,8 @@ let globalFloatingCounter = 0;
376
376
 
377
377
  /**
378
378
  * Swaps the position (z-index) of 2 children
379
- * @param {Renderable} child
380
- * @param {Renderable} child2
379
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
380
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child2
381
381
  */
382
382
  swapChildren(child, child2) {
383
383
  let index = this.getChildIndex(child);
@@ -415,7 +415,7 @@ let globalFloatingCounter = 0;
415
415
 
416
416
  /**
417
417
  * Returns the index of the given Child
418
- * @param {Renderable} child
418
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
419
419
  * @returns {number} index
420
420
  */
421
421
  getChildIndex(child) {
@@ -424,7 +424,7 @@ let globalFloatingCounter = 0;
424
424
 
425
425
  /**
426
426
  * Returns the next child within the container or undefined if none
427
- * @param {Renderable} child
427
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
428
428
  * @returns {Renderable} child
429
429
  */
430
430
  getNextChild(child) {
@@ -437,7 +437,7 @@ let globalFloatingCounter = 0;
437
437
 
438
438
  /**
439
439
  * Returns true if contains the specified Child
440
- * @param {Renderable} child
440
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
441
441
  * @returns {boolean}
442
442
  */
443
443
  hasChild(child) {
@@ -645,7 +645,7 @@ let globalFloatingCounter = 0;
645
645
  /**
646
646
  * Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed. <br>
647
647
  * if the given child implements a onDeactivateEvent() method, that method will be called once the child is removed from this container.
648
- * @param {Renderable} child
648
+ * @param {RendRenderable|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapTexterable} child
649
649
  * @param {boolean} [keepalive=false] - true to prevent calling child.destroy()
650
650
  */
651
651
  removeChild(child, keepalive) {
@@ -661,7 +661,7 @@ let globalFloatingCounter = 0;
661
661
  * Removes (and optionally destroys) a child from the container.<br>
662
662
  * (removal is immediate and unconditional)<br>
663
663
  * Never use keepalive=true with objects from {@link pool}. Doing so will create a memory leak.
664
- * @param {Renderable} child
664
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
665
665
  * @param {boolean} [keepalive=False] - True to prevent calling child.destroy()
666
666
  */
667
667
  removeChildNow(child, keepalive) {
@@ -724,7 +724,7 @@ let globalFloatingCounter = 0;
724
724
 
725
725
  /**
726
726
  * Move the child in the group one step forward (z depth).
727
- * @param {Renderable} child
727
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
728
728
  */
729
729
  moveUp(child) {
730
730
  let childIndex = this.getChildIndex(child);
@@ -738,7 +738,7 @@ let globalFloatingCounter = 0;
738
738
 
739
739
  /**
740
740
  * Move the child in the group one step backward (z depth).
741
- * @param {Renderable} child
741
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
742
742
  */
743
743
  moveDown(child) {
744
744
  let childIndex = this.getChildIndex(child);
@@ -752,7 +752,7 @@ let globalFloatingCounter = 0;
752
752
 
753
753
  /**
754
754
  * Move the specified child to the top(z depth).
755
- * @param {Renderable} child
755
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
756
756
  */
757
757
  moveToTop(child) {
758
758
  let childIndex = this.getChildIndex(child);
@@ -769,7 +769,7 @@ let globalFloatingCounter = 0;
769
769
 
770
770
  /**
771
771
  * Move the specified child the bottom (z depth).
772
- * @param {Renderable} child
772
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
773
773
  */
774
774
  moveToBottom(child) {
775
775
  let childIndex = this.getChildIndex(child);
@@ -0,0 +1,121 @@
1
+ /*!
2
+ * melonJS Game Engine - v15.1.6
3
+ * http://www.melonjs.org
4
+ * melonjs is licensed under the MIT License.
5
+ * http://www.opensource.org/licenses/mit-license
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
+ */
8
+ import Vector2d from '../math/vector2.js';
9
+ import { emit, DRAGSTART, DRAGEND, on, POINTERMOVE, off } from '../system/event.js';
10
+ import Renderable from './renderable.js';
11
+ import { registerPointerEvent, releasePointerEvent } from '../input/pointerevent.js';
12
+
13
+ /**
14
+ * @classdesc
15
+ * A Draggable base object
16
+ * @see DropTarget
17
+ * @augments Renderable
18
+ */
19
+ class Draggable extends Renderable {
20
+ /**
21
+ * @param {number} x - the x coordinates of the draggable object
22
+ * @param {number} y - the y coordinates of the draggable object
23
+ * @param {number} width - draggable object width
24
+ * @param {number} height - draggable object height
25
+ */
26
+ constructor(x, y, width, height) {
27
+ super(x, y, width, height);
28
+ this.isKinematic = false;
29
+ this.dragging = false;
30
+ this.dragId = null;
31
+ this.grabOffset = new Vector2d(0, 0);
32
+ this.initEvents();
33
+ }
34
+
35
+ /**
36
+ * Initializes the events the modules needs to listen to
37
+ * It translates the pointer events to me.events
38
+ * in order to make them pass through the system and to make
39
+ * this module testable. Then we subscribe this module to the
40
+ * transformed events.
41
+ * @name initEvents
42
+ * @memberof Draggable
43
+ * @private
44
+ */
45
+ initEvents() {
46
+ registerPointerEvent("pointerdown", this, (e) => emit(DRAGSTART, e, this));
47
+ registerPointerEvent("pointerup", this, (e) => emit(DRAGEND, e, this));
48
+ registerPointerEvent("pointercancel", this, (e) => emit(DRAGEND, e, this));
49
+ on(POINTERMOVE, (e) => this.dragMove(e));
50
+ on(DRAGSTART, (e, draggable) => {
51
+ if (draggable === this) {
52
+ this.dragStart(e);
53
+ }
54
+ });
55
+ on(DRAGEND, (e, draggable) => {
56
+ if (draggable === this) {
57
+ this.dragEnd(e);
58
+ }
59
+ });
60
+ }
61
+
62
+ /**
63
+ * Gets called when the user starts dragging the entity
64
+ * @name dragStart
65
+ * @memberof Draggable
66
+ * @param {object} e - the pointer event
67
+ * @returns {boolean} false if the object is being dragged
68
+ */
69
+ dragStart(e) {
70
+ if (this.dragging === false) {
71
+ this.dragging = true;
72
+ this.grabOffset.set(e.gameX, e.gameY);
73
+ this.grabOffset.sub(this.pos);
74
+ return false;
75
+ }
76
+ }
77
+
78
+ /**
79
+ * Gets called when the user drags this entity around
80
+ * @name dragMove
81
+ * @memberof Draggable
82
+ * @param {object} e - the pointer event
83
+ */
84
+ dragMove(e) {
85
+ if (this.dragging === true) {
86
+ this.pos.set(e.gameX, e.gameY, this.pos.z); //TODO : z ?
87
+ this.pos.sub(this.grabOffset);
88
+ }
89
+ }
90
+
91
+ /**
92
+ * Gets called when the user stops dragging the entity
93
+ * @name dragEnd
94
+ * @memberof Draggable
95
+ * @returns {boolean} false if the object stopped being dragged
96
+ */
97
+ dragEnd() {
98
+ if (this.dragging === true) {
99
+ this.dragging = false;
100
+ return false;
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Destructor
106
+ * @name destroy
107
+ * @memberof Draggable
108
+ * @ignore
109
+ */
110
+ destroy() {
111
+ off(POINTERMOVE, this.dragMove);
112
+ off(DRAGSTART, this.dragStart);
113
+ off(DRAGEND, this.dragEnd);
114
+ releasePointerEvent("pointerdown", this);
115
+ releasePointerEvent("pointerup", this);
116
+ releasePointerEvent("pointercancel", this);
117
+ super.destroy();
118
+ }
119
+ }
120
+
121
+ export { Draggable };
@@ -1,122 +1,12 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
6
  * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
- import Vector2d from '../math/vector2.js';
9
- import { emit, DRAGSTART, DRAGEND, on, POINTERMOVE, off } from '../system/event.js';
8
+ import { on, DRAGEND, off } from '../system/event.js';
10
9
  import Renderable from './renderable.js';
11
- import { registerPointerEvent, releasePointerEvent } from '../input/pointerevent.js';
12
-
13
- /**
14
- * @classdesc
15
- * A Draggable base object
16
- * @see DropTarget
17
- * @augments Renderable
18
- */
19
- class Draggable extends Renderable {
20
- /**
21
- * @param {number} x - the x coordinates of the draggable object
22
- * @param {number} y - the y coordinates of the draggable object
23
- * @param {number} width - draggable object width
24
- * @param {number} height - draggable object height
25
- */
26
- constructor(x, y, width, height) {
27
- super(x, y, width, height);
28
- this.isKinematic = false;
29
- this.dragging = false;
30
- this.dragId = null;
31
- this.grabOffset = new Vector2d(0, 0);
32
- this.initEvents();
33
- }
34
-
35
- /**
36
- * Initializes the events the modules needs to listen to
37
- * It translates the pointer events to me.events
38
- * in order to make them pass through the system and to make
39
- * this module testable. Then we subscribe this module to the
40
- * transformed events.
41
- * @name initEvents
42
- * @memberof Draggable
43
- * @private
44
- */
45
- initEvents() {
46
- registerPointerEvent("pointerdown", this, (e) => emit(DRAGSTART, e, this));
47
- registerPointerEvent("pointerup", this, (e) => emit(DRAGEND, e, this));
48
- registerPointerEvent("pointercancel", this, (e) => emit(DRAGEND, e, this));
49
- on(POINTERMOVE, (e) => this.dragMove(e));
50
- on(DRAGSTART, (e, draggable) => {
51
- if (draggable === this) {
52
- this.dragStart(e);
53
- }
54
- });
55
- on(DRAGEND, (e, draggable) => {
56
- if (draggable === this) {
57
- this.dragEnd(e);
58
- }
59
- });
60
- }
61
-
62
- /**
63
- * Gets called when the user starts dragging the entity
64
- * @name dragStart
65
- * @memberof Draggable
66
- * @param {object} e - the pointer event
67
- * @returns {boolean} false if the object is being dragged
68
- */
69
- dragStart(e) {
70
- if (this.dragging === false) {
71
- this.dragging = true;
72
- this.grabOffset.set(e.gameX, e.gameY);
73
- this.grabOffset.sub(this.pos);
74
- return false;
75
- }
76
- }
77
-
78
- /**
79
- * Gets called when the user drags this entity around
80
- * @name dragMove
81
- * @memberof Draggable
82
- * @param {object} e - the pointer event
83
- */
84
- dragMove(e) {
85
- if (this.dragging === true) {
86
- this.pos.set(e.gameX, e.gameY, this.pos.z); //TODO : z ?
87
- this.pos.sub(this.grabOffset);
88
- }
89
- }
90
-
91
- /**
92
- * Gets called when the user stops dragging the entity
93
- * @name dragEnd
94
- * @memberof Draggable
95
- * @returns {boolean} false if the object stopped being dragged
96
- */
97
- dragEnd() {
98
- if (this.dragging === true) {
99
- this.dragging = false;
100
- return false;
101
- }
102
- }
103
-
104
- /**
105
- * Destructor
106
- * @name destroy
107
- * @memberof Draggable
108
- * @ignore
109
- */
110
- destroy() {
111
- off(POINTERMOVE, this.dragMove);
112
- off(DRAGSTART, this.dragStart);
113
- off(DRAGEND, this.dragEnd);
114
- releasePointerEvent("pointerdown", this);
115
- releasePointerEvent("pointerup", this);
116
- releasePointerEvent("pointercancel", this);
117
- super.destroy();
118
- }
119
- }
120
10
 
121
11
  /**
122
12
  * @classdesc
@@ -221,4 +111,4 @@ class DropTarget extends Renderable {
221
111
  }
222
112
  }
223
113
 
224
- export { Draggable, DropTarget };
114
+ export { DropTarget };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -732,7 +732,7 @@ import { releaseAllPointerEvents } from '../input/pointerevent.js';
732
732
  * onCollision callback, triggered in case of collision,
733
733
  * when this renderable body is colliding with another one
734
734
  * @param {ResponseObject} response - the collision response object
735
- * @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
735
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
736
736
  * @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
737
737
  * @example
738
738
  * // colision handler
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -143,7 +143,7 @@ import pool from '../system/pooling.js';
143
143
  * @name onCollision
144
144
  * @memberof Trigger
145
145
  * @param {ResponseObject} response - the collision response object
146
- * @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
146
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
147
147
  * @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
148
148
  */
149
149
  onCollision(response, other) { // eslint-disable-line no-unused-vars
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.1.5
2
+ * melonJS Game Engine - v15.1.6
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license