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.
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +1 -1
- package/dist/melonjs.mjs/application/application.js +1 -1
- package/dist/melonjs.mjs/application/header.js +1 -1
- package/dist/melonjs.mjs/application/resize.js +1 -1
- package/dist/melonjs.mjs/application/settings.js +1 -1
- package/dist/melonjs.mjs/audio/audio.js +1 -1
- package/dist/melonjs.mjs/camera/camera2d.js +3 -3
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +1 -1
- package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
- package/dist/melonjs.mjs/geometries/line.js +1 -1
- package/dist/melonjs.mjs/geometries/path2d.js +1 -1
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +1 -1
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/index.js +4 -3
- package/dist/melonjs.mjs/input/gamepad.js +1 -1
- package/dist/melonjs.mjs/input/input.js +1 -1
- package/dist/melonjs.mjs/input/keyboard.js +1 -1
- package/dist/melonjs.mjs/input/pointer.js +1 -1
- package/dist/melonjs.mjs/input/pointerevent.js +1 -1
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +3 -2
- package/dist/melonjs.mjs/level/level.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
- package/dist/melonjs.mjs/loader/cache.js +1 -1
- package/dist/melonjs.mjs/loader/loader.js +1 -1
- package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parser.js +1 -1
- package/dist/melonjs.mjs/loader/settings.js +1 -1
- package/dist/melonjs.mjs/math/color.js +1 -1
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +1 -1
- package/dist/melonjs.mjs/math/matrix3.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
- package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
- package/dist/melonjs.mjs/math/vector2.js +1 -1
- package/dist/melonjs.mjs/math/vector3.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
- package/dist/melonjs.mjs/particles/emitter.js +1 -1
- package/dist/melonjs.mjs/particles/particle.js +1 -1
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +3 -3
- package/dist/melonjs.mjs/physics/bounds.js +1 -1
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- package/dist/melonjs.mjs/physics/detector.js +4 -4
- package/dist/melonjs.mjs/physics/quadtree.js +1 -1
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +9 -9
- package/dist/melonjs.mjs/physics/world.js +1 -1
- package/dist/melonjs.mjs/plugin/plugin.js +3 -3
- package/dist/melonjs.mjs/renderable/collectable.js +1 -1
- package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
- package/dist/melonjs.mjs/renderable/container.js +14 -14
- package/dist/melonjs.mjs/renderable/draggable.js +121 -0
- package/dist/melonjs.mjs/renderable/dragndrop.js +3 -113
- package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
- package/dist/melonjs.mjs/renderable/light2d.js +1 -1
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/renderable.js +2 -2
- package/dist/melonjs.mjs/renderable/sprite.js +1 -1
- package/dist/melonjs.mjs/renderable/trigger.js +2 -2
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
- package/dist/melonjs.mjs/state/stage.js +1 -1
- package/dist/melonjs.mjs/state/state.js +1 -1
- package/dist/melonjs.mjs/system/device.js +1 -1
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +1 -1
- package/dist/melonjs.mjs/system/platform.js +1 -1
- package/dist/melonjs.mjs/system/pooling.js +1 -1
- package/dist/melonjs.mjs/system/save.js +1 -1
- package/dist/melonjs.mjs/system/timer.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
- package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/text/glyph.js +1 -1
- package/dist/melonjs.mjs/text/text.js +1 -1
- package/dist/melonjs.mjs/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/tweens/easing.js +1 -1
- package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
- package/dist/melonjs.mjs/tweens/tween.js +1 -1
- package/dist/melonjs.mjs/utils/agent.js +1 -1
- package/dist/melonjs.mjs/utils/array.js +1 -1
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +1 -1
- package/dist/melonjs.mjs/utils/string.js +1 -1
- package/dist/melonjs.mjs/utils/utils.js +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +1 -1
- package/dist/melonjs.mjs/video/renderer.js +1 -1
- package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +1 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +1 -1
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1 -1
- package/dist/melonjs.module.js +60 -55
- package/dist/types/camera/camera2d.d.ts +4 -4
- package/dist/types/index.d.ts +1 -1
- package/dist/types/physics/body.d.ts +4 -4
- package/dist/types/physics/detector.d.ts +5 -5
- package/dist/types/physics/sat.d.ts +12 -12
- package/dist/types/renderable/container.d.ts +25 -25
- package/dist/types/renderable/draggable.d.ts +53 -0
- package/dist/types/renderable/dragndrop.d.ts +0 -52
- package/dist/types/renderable/renderable.d.ts +2 -2
- package/package.json +8 -8
- package/src/camera/camera2d.js +2 -2
- package/src/index.js +2 -1
- package/src/lang/deprecated.js +2 -1
- package/src/physics/body.js +2 -2
- package/src/physics/detector.js +3 -3
- package/src/physics/sat.js +8 -8
- package/src/renderable/container.js +13 -13
- package/src/renderable/draggable.js +114 -0
- package/src/renderable/dragndrop.js +0 -109
- package/src/renderable/renderable.js +1 -1
- package/src/renderable/trigger.js +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
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.
|
|
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.
|
|
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.
|
|
27
|
+
* @default "15.1.6"
|
|
28
28
|
* @name plugin.Base#version
|
|
29
29
|
*/
|
|
30
|
-
this.version = "15.1.
|
|
30
|
+
this.version = "15.1.6";
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
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 {
|
|
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.
|
|
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
|
|
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 {
|
|
114
|
+
export { DropTarget };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.1.
|
|
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.
|
|
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
|