melonjs 15.1.4 → 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 (174) 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 +3 -6
  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 +5 -5
  16. package/dist/melonjs.mjs/geometries/point.js +1 -1
  17. package/dist/melonjs.mjs/geometries/poly.js +3 -3
  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 +10 -10
  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 +4 -4
  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 +4 -4
  37. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
  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 +2 -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 +4 -3
  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 +2 -2
  69. package/dist/melonjs.mjs/physics/collision.js +1 -1
  70. package/dist/melonjs.mjs/physics/detector.js +5 -5
  71. package/dist/melonjs.mjs/physics/quadtree.js +2 -2
  72. package/dist/melonjs.mjs/physics/response.js +1 -1
  73. package/dist/melonjs.mjs/physics/sat.js +13 -12
  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 +48 -38
  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 +7 -10
  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 +7 -4
  88. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +8 -2
  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 +3 -3
  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 +2 -2
  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 +3 -6
  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 +2 -2
  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 +153 -135
  137. package/dist/types/camera/camera2d.d.ts +4 -4
  138. package/dist/types/index.d.ts +1 -1
  139. package/dist/types/loader/loader.d.ts +9 -4
  140. package/dist/types/physics/body.d.ts +4 -4
  141. package/dist/types/physics/detector.d.ts +5 -5
  142. package/dist/types/physics/sat.d.ts +12 -12
  143. package/dist/types/renderable/container.d.ts +25 -25
  144. package/dist/types/renderable/draggable.d.ts +53 -0
  145. package/dist/types/renderable/dragndrop.d.ts +0 -52
  146. package/dist/types/renderable/renderable.d.ts +3 -3
  147. package/package.json +11 -11
  148. package/src/camera/camera2d.js +2 -2
  149. package/src/entity/entity.js +2 -5
  150. package/src/geometries/path2d.js +4 -4
  151. package/src/geometries/poly.js +2 -2
  152. package/src/index.js +2 -1
  153. package/src/input/pointerevent.js +9 -9
  154. package/src/lang/deprecated.js +2 -1
  155. package/src/level/tiled/TMXLayer.js +3 -3
  156. package/src/level/tiled/TMXUtils.js +3 -3
  157. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  158. package/src/loader/loader.js +3 -2
  159. package/src/physics/body.js +2 -2
  160. package/src/physics/bounds.js +1 -1
  161. package/src/physics/detector.js +4 -4
  162. package/src/physics/quadtree.js +1 -1
  163. package/src/physics/sat.js +11 -11
  164. package/src/renderable/container.js +47 -37
  165. package/src/renderable/draggable.js +114 -0
  166. package/src/renderable/dragndrop.js +0 -109
  167. package/src/renderable/renderable.js +6 -9
  168. package/src/renderable/trigger.js +1 -1
  169. package/src/renderable/ui/uibaseelement.js +6 -3
  170. package/src/renderable/ui/uispriteelement.js +7 -1
  171. package/src/text/bitmaptext.js +2 -2
  172. package/src/text/text.js +1 -1
  173. package/src/video/canvas/canvas_renderer.js +2 -5
  174. package/src/video/texture/canvas_texture.js +1 -1
@@ -236,18 +236,18 @@ export default class Camera2d extends Renderable {
236
236
  * set the camera position around the specified object
237
237
  * @name focusOn
238
238
  * @memberof Camera2d
239
- * @param {Renderable} target - the renderable to focus the camera on
239
+ * @param {Renderable|Entity|Sprite|NineSliceSprite} target - the renderable to focus the camera on
240
240
  */
241
- focusOn(target: Renderable): void;
241
+ focusOn(target: Renderable | Entity | Sprite | NineSliceSprite): void;
242
242
  /**
243
243
  * check if the specified renderable is in the camera
244
244
  * @name isVisible
245
245
  * @memberof Camera2d
246
- * @param {Renderable} obj - to be checked against
246
+ * @param {Renderable|Entity|Sprite|NineSliceSprite} obj - to be checked against
247
247
  * @param {boolean} [floating = obj.floating] - if visibility check should be done against screen coordinates
248
248
  * @returns {boolean}
249
249
  */
250
- isVisible(obj: Renderable, floating?: boolean | undefined): boolean;
250
+ isVisible(obj: Renderable | Entity | Sprite | NineSliceSprite, floating?: boolean | undefined): boolean;
251
251
  /**
252
252
  * convert the given "local" (screen) coordinates into world coordinates
253
253
  * @name localToWorld
@@ -88,7 +88,7 @@ import UISpriteElement from "./renderable/ui/uispriteelement.js";
88
88
  import Collectable from "./renderable/collectable.js";
89
89
  import Trigger from "./renderable/trigger.js";
90
90
  import Light2d from "./renderable/light2d.js";
91
- import { Draggable } from "./renderable/dragndrop.js";
91
+ import { Draggable } from "./renderable/draggable.js";
92
92
  import { DropTarget } from "./renderable/dragndrop.js";
93
93
  import TMXRenderer from "./level/tiled/renderer/TMXRenderer.js";
94
94
  import TMXOrthogonalRenderer from "./level/tiled/renderer/TMXOrthogonalRenderer.js";
@@ -2,8 +2,9 @@
2
2
  * an asset definition to be used with the loader
3
3
  * @typedef {object} loader.Asset
4
4
  * @property {string} name - name of the asset
5
- * @property {string} type - the type of the asset : "audio", binary", "image", "json","js", "tmx", "tsx", "fontface"
6
- * @property {string} src - path and/or file name of the resource (for audio assets only the path is required)
5
+ * @property {string} type - the type of the asset : "audio", binary", "image", "json", "js", "tmx", "tmj", "tsx", "tsj", "fontface"
6
+ * @property {string} [src] - path and/or file name of the resource (for audio assets only the path is required)
7
+ * @property {string} [data] - TMX data if not provided through a src url
7
8
  * @property {boolean} [stream] - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
8
9
  * @see loader.preload
9
10
  * @see loader.load
@@ -145,13 +146,17 @@ export namespace loader {
145
146
  */
146
147
  name: string;
147
148
  /**
148
- * - the type of the asset : "audio", binary", "image", "json","js", "tmx", "tsx", "fontface"
149
+ * - the type of the asset : "audio", binary", "image", "json", "js", "tmx", "tmj", "tsx", "tsj", "fontface"
149
150
  */
150
151
  type: string;
151
152
  /**
152
153
  * - path and/or file name of the resource (for audio assets only the path is required)
153
154
  */
154
- src: string;
155
+ src?: string | undefined;
156
+ /**
157
+ * - TMX data if not provided through a src url
158
+ */
159
+ data?: string | undefined;
155
160
  /**
156
161
  * - Set to true to force HTML5 Audio, which allows not to wait for large file to be downloaded before playing.
157
162
  */
@@ -5,19 +5,19 @@
5
5
  */
6
6
  export default class Body {
7
7
  /**
8
- * @param {Renderable} ancestor - the parent object this body is attached to
8
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} ancestor - the parent object this body is attached to
9
9
  * @param {Rect|Rect[]|Polygon|Polygon[]|Line|Line[]|Ellipse|Ellipse[]|Point|Point[]|Bounds|Bounds[]|object} [shapes] - a initial shape, list of shapes, or JSON object defining the body
10
10
  * @param {Function} [onBodyUpdate] - callback for when the body is updated (e.g. add/remove shapes)
11
11
  */
12
- constructor(ancestor: Renderable, shapes?: Rect | Rect[] | Polygon | Polygon[] | Line | Line[] | Ellipse | Ellipse[] | Point | Point[] | Bounds | Bounds[] | object, onBodyUpdate?: Function | undefined);
12
+ constructor(ancestor: Renderable | Container | Entity | Sprite | NineSliceSprite, shapes?: Rect | Rect[] | Polygon | Polygon[] | Line | Line[] | Ellipse | Ellipse[] | Point | Point[] | Bounds | Bounds[] | object, onBodyUpdate?: Function | undefined);
13
13
  /**
14
14
  * a reference to the parent object that contains this body,
15
15
  * or undefined if it has not been added to one.
16
16
  * @public
17
- * @type {Renderable}
17
+ * @type {Renderable|Container|Entity|Sprite|NineSliceSprite}
18
18
  * @default undefined
19
19
  */
20
- public ancestor: Renderable;
20
+ public ancestor: Renderable | Container | Entity | Sprite | NineSliceSprite;
21
21
  /**
22
22
  * The AABB bounds box reprensenting this body
23
23
  * @public
@@ -16,11 +16,11 @@ export default class Detector {
16
16
  /**
17
17
  * determine if two objects should collide (based on both respective objects body collision mask and type).<br>
18
18
  * you can redefine this function if you need any specific rules over what should collide with what.
19
- * @param {Renderable} a - a reference to the object A.
20
- * @param {Renderable} b - a reference to the object B.
19
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
20
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
21
21
  * @returns {boolean} true if they should collide, false otherwise
22
22
  */
23
- shouldCollide(a: Renderable, b: Renderable): boolean;
23
+ shouldCollide(a: Renderable | Container | Entity | Sprite | NineSliceSprite, b: Renderable | Container | Entity | Sprite | NineSliceSprite): boolean;
24
24
  /**
25
25
  * detect collision between two bodies.
26
26
  * @param {Body} bodyA - a reference to body A.
@@ -31,10 +31,10 @@ export default class Detector {
31
31
  /**
32
32
  * find all the collisions for the specified object using a broadphase algorithm
33
33
  * @ignore
34
- * @param {Renderable} objA - object to be tested for collision
34
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} objA - object to be tested for collision
35
35
  * @returns {boolean} in case of collision, false otherwise
36
36
  */
37
- collisions(objA: Renderable): boolean;
37
+ collisions(objA: Renderable | Container | Entity | Sprite | NineSliceSprite): boolean;
38
38
  /**
39
39
  * Checks for object colliding with the given line
40
40
  * @ignore
@@ -1,48 +1,48 @@
1
1
  /**
2
2
  * Checks whether polygons collide.
3
3
  * @ignore
4
- * @param {Renderable} a - a reference to the object A.
4
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
5
5
  * @param {Polygon} polyA - a reference to the object A Polygon to be tested
6
- * @param {Renderable} b - a reference to the object B.
6
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
7
7
  * @param {Polygon} polyB - a reference to the object B Polygon to be tested
8
8
  * @param {Response=} response - Response object (optional) that will be populated if they intersect.
9
9
  * @returns {boolean} true if they intersect, false if they don't.
10
10
  */
11
- export function testPolygonPolygon(a: Renderable, polyA: Polygon, b: Renderable, polyB: Polygon, response?: Response | undefined): boolean;
11
+ export function testPolygonPolygon(a: Renderable | Container | Entity | Sprite | NineSliceSprite, polyA: Polygon, b: Renderable | Container | Entity | Sprite | NineSliceSprite, polyB: Polygon, response?: Response | undefined): boolean;
12
12
  /**
13
13
  * Check if two Ellipse collide.
14
14
  * @ignore
15
- * @param {Renderable} a - a reference to the object A.
15
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
16
16
  * @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
17
- * @param {Renderable} b - a reference to the object B.
17
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
18
18
  * @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
19
19
  * @param {Response=} response - Response object (optional) that will be populated if
20
20
  * the circles intersect.
21
21
  * @returns {boolean} true if the circles intersect, false if they don't.
22
22
  */
23
- export function testEllipseEllipse(a: Renderable, ellipseA: Ellipse, b: Renderable, ellipseB: Ellipse, response?: Response | undefined): boolean;
23
+ export function testEllipseEllipse(a: Renderable | Container | Entity | Sprite | NineSliceSprite, ellipseA: Ellipse, b: Renderable | Container | Entity | Sprite | NineSliceSprite, ellipseB: Ellipse, response?: Response | undefined): boolean;
24
24
  /**
25
25
  * Check if a polygon and an ellipse collide.
26
26
  * @ignore
27
- * @param {Renderable} a - a reference to the object A.
27
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
28
28
  * @param {Polygon} polyA - a reference to the object A Polygon to be tested
29
- * @param {Renderable} b - a reference to the object B.
29
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
30
30
  * @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
31
31
  * @param {Response=} response - Response object (optional) that will be populated if they intersect.
32
32
  * @returns {boolean} true if they intersect, false if they don't.
33
33
  */
34
- export function testPolygonEllipse(a: Renderable, polyA: Polygon, b: Renderable, ellipseB: Ellipse, response?: Response | undefined): boolean;
34
+ export function testPolygonEllipse(a: Renderable | Container | Entity | Sprite | NineSliceSprite, polyA: Polygon, b: Renderable | Container | Entity | Sprite | NineSliceSprite, ellipseB: Ellipse, response?: Response | undefined): boolean;
35
35
  /**
36
36
  * Check if an ellipse and a polygon collide. <br>
37
37
  * **NOTE:** This is slightly less efficient than testPolygonEllipse as it just
38
38
  * runs testPolygonEllipse and reverses the response at the end.
39
39
  * @ignore
40
- * @param {Renderable} a - a reference to the object A.
40
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
41
41
  * @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
42
- * @param {Renderable} b - a reference to the object B.
42
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
43
43
  * @param {Polygon} polyB - a reference to the object B Polygon to be tested
44
44
  * @param {Response=} response - Response object (optional) that will be populated if
45
45
  * they intersect.
46
46
  * @returns {boolean} true if they intersect, false if they don't.
47
47
  */
48
- export function testEllipsePolygon(a: Renderable, ellipseA: Ellipse, b: Renderable, polyB: Polygon, response?: Response | undefined): boolean;
48
+ export function testEllipsePolygon(a: Renderable | Container | Entity | Sprite | NineSliceSprite, ellipseA: Ellipse, b: Renderable | Container | Entity | Sprite | NineSliceSprite, polyB: Polygon, response?: Response | undefined): boolean;
@@ -93,19 +93,19 @@ export default class Container extends Renderable {
93
93
  * will not be in any container. <br>
94
94
  * if the given child implements a onActivateEvent method, that method will be called
95
95
  * once the child is added to this container.
96
- * @param {Renderable} child
96
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
97
97
  * @param {number} [z] - forces the z index of the child to the specified value
98
98
  * @returns {Renderable} the added child
99
99
  */
100
- addChild(child: Renderable, z?: number | undefined): Renderable;
100
+ addChild(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, z?: number | undefined): Renderable;
101
101
  /**
102
102
  * Add a child to the container at the specified index<br>
103
103
  * (the list won't be sorted after insertion)
104
- * @param {Renderable} child
104
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
105
105
  * @param {number} index
106
106
  * @returns {Renderable} the added child
107
107
  */
108
- addChildAt(child: Renderable, index: number): Renderable;
108
+ addChildAt(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, index: number): Renderable;
109
109
  /**
110
110
  * The forEach() method executes a provided function once per child element. <br>
111
111
  * the callback function is invoked with three arguments: <br>
@@ -127,10 +127,10 @@ export default class Container extends Renderable {
127
127
  forEach(callback: Function, thisArg?: object | undefined, ...args: any[]): void;
128
128
  /**
129
129
  * Swaps the position (z-index) of 2 children
130
- * @param {Renderable} child
131
- * @param {Renderable} child2
130
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
131
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child2
132
132
  */
133
- swapChildren(child: Renderable, child2: Renderable): void;
133
+ swapChildren(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, child2: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
134
134
  /**
135
135
  * Returns the Child at the specified index
136
136
  * @param {number} index
@@ -139,22 +139,22 @@ export default class Container extends Renderable {
139
139
  getChildAt(index: number): Renderable;
140
140
  /**
141
141
  * Returns the index of the given Child
142
- * @param {Renderable} child
142
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
143
143
  * @returns {number} index
144
144
  */
145
- getChildIndex(child: Renderable): number;
145
+ getChildIndex(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): number;
146
146
  /**
147
147
  * Returns the next child within the container or undefined if none
148
- * @param {Renderable} child
148
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
149
149
  * @returns {Renderable} child
150
150
  */
151
- getNextChild(child: Renderable): Renderable;
151
+ getNextChild(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): Renderable;
152
152
  /**
153
153
  * Returns true if contains the specified Child
154
- * @param {Renderable} child
154
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
155
155
  * @returns {boolean}
156
156
  */
157
- hasChild(child: Renderable): boolean;
157
+ hasChild(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): boolean;
158
158
  /**
159
159
  * return the child corresponding to the given property and value.<br>
160
160
  * note : avoid calling this function every frame since
@@ -223,18 +223,18 @@ export default class Container extends Renderable {
223
223
  /**
224
224
  * Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed. <br>
225
225
  * if the given child implements a onDeactivateEvent() method, that method will be called once the child is removed from this container.
226
- * @param {Renderable} child
226
+ * @param {RendRenderable|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapTexterable} child
227
227
  * @param {boolean} [keepalive=false] - true to prevent calling child.destroy()
228
228
  */
229
- removeChild(child: Renderable, keepalive?: boolean | undefined): void;
229
+ removeChild(child: RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable, keepalive?: boolean | undefined): void;
230
230
  /**
231
231
  * Removes (and optionally destroys) a child from the container.<br>
232
232
  * (removal is immediate and unconditional)<br>
233
233
  * Never use keepalive=true with objects from {@link pool}. Doing so will create a memory leak.
234
- * @param {Renderable} child
234
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
235
235
  * @param {boolean} [keepalive=False] - True to prevent calling child.destroy()
236
236
  */
237
- removeChildNow(child: Renderable, keepalive?: boolean | undefined): void;
237
+ removeChildNow(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, keepalive?: boolean | undefined): void;
238
238
  /**
239
239
  * Automatically set the specified property of all childs to the given value
240
240
  * @param {string} prop - property name
@@ -244,24 +244,24 @@ export default class Container extends Renderable {
244
244
  setChildsProperty(prop: string, value: object, recursive?: boolean | undefined): void;
245
245
  /**
246
246
  * Move the child in the group one step forward (z depth).
247
- * @param {Renderable} child
247
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
248
248
  */
249
- moveUp(child: Renderable): void;
249
+ moveUp(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
250
250
  /**
251
251
  * Move the child in the group one step backward (z depth).
252
- * @param {Renderable} child
252
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
253
253
  */
254
- moveDown(child: Renderable): void;
254
+ moveDown(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
255
255
  /**
256
256
  * Move the specified child to the top(z depth).
257
- * @param {Renderable} child
257
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
258
258
  */
259
- moveToTop(child: Renderable): void;
259
+ moveToTop(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
260
260
  /**
261
261
  * Move the specified child the bottom (z depth).
262
- * @param {Renderable} child
262
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
263
263
  */
264
- moveToBottom(child: Renderable): void;
264
+ moveToBottom(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText): void;
265
265
  /**
266
266
  * Manually trigger the sort of all the childs in the container</p>
267
267
  * @param {boolean} [recursive=false] - recursively sort all containers if true
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @classdesc
3
+ * A Draggable base object
4
+ * @see DropTarget
5
+ * @augments Renderable
6
+ */
7
+ export class Draggable extends Renderable {
8
+ dragging: boolean;
9
+ dragId: any;
10
+ grabOffset: Vector2d;
11
+ /**
12
+ * Initializes the events the modules needs to listen to
13
+ * It translates the pointer events to me.events
14
+ * in order to make them pass through the system and to make
15
+ * this module testable. Then we subscribe this module to the
16
+ * transformed events.
17
+ * @name initEvents
18
+ * @memberof Draggable
19
+ * @private
20
+ */
21
+ private initEvents;
22
+ /**
23
+ * Gets called when the user starts dragging the entity
24
+ * @name dragStart
25
+ * @memberof Draggable
26
+ * @param {object} e - the pointer event
27
+ * @returns {boolean} false if the object is being dragged
28
+ */
29
+ dragStart(e: object): boolean;
30
+ /**
31
+ * Gets called when the user drags this entity around
32
+ * @name dragMove
33
+ * @memberof Draggable
34
+ * @param {object} e - the pointer event
35
+ */
36
+ dragMove(e: object): void;
37
+ /**
38
+ * Gets called when the user stops dragging the entity
39
+ * @name dragEnd
40
+ * @memberof Draggable
41
+ * @returns {boolean} false if the object stopped being dragged
42
+ */
43
+ dragEnd(): boolean;
44
+ /**
45
+ * Destructor
46
+ * @name destroy
47
+ * @memberof Draggable
48
+ * @ignore
49
+ */
50
+ destroy(): void;
51
+ }
52
+ import Renderable from "./../renderable/renderable.js";
53
+ import Vector2d from "./../math/vector2.js";
@@ -1,54 +1,3 @@
1
- /**
2
- * @classdesc
3
- * A Draggable base object
4
- * @see DropTarget
5
- * @augments Renderable
6
- */
7
- export class Draggable extends Renderable {
8
- dragging: boolean;
9
- dragId: any;
10
- grabOffset: Vector2d;
11
- /**
12
- * Initializes the events the modules needs to listen to
13
- * It translates the pointer events to me.events
14
- * in order to make them pass through the system and to make
15
- * this module testable. Then we subscribe this module to the
16
- * transformed events.
17
- * @name initEvents
18
- * @memberof Draggable
19
- * @private
20
- */
21
- private initEvents;
22
- /**
23
- * Gets called when the user starts dragging the entity
24
- * @name dragStart
25
- * @memberof Draggable
26
- * @param {object} e - the pointer event
27
- * @returns {boolean} false if the object is being dragged
28
- */
29
- dragStart(e: object): boolean;
30
- /**
31
- * Gets called when the user drags this entity around
32
- * @name dragMove
33
- * @memberof Draggable
34
- * @param {object} e - the pointer event
35
- */
36
- dragMove(e: object): void;
37
- /**
38
- * Gets called when the user stops dragging the entity
39
- * @name dragEnd
40
- * @memberof Draggable
41
- * @returns {boolean} false if the object stopped being dragged
42
- */
43
- dragEnd(): boolean;
44
- /**
45
- * Destructor
46
- * @name destroy
47
- * @memberof Draggable
48
- * @ignore
49
- */
50
- destroy(): void;
51
- }
52
1
  /**
53
2
  * @classdesc
54
3
  * a base drop target object
@@ -115,4 +64,3 @@ export class DropTarget extends Renderable {
115
64
  destroy(): void;
116
65
  }
117
66
  import Renderable from "./../renderable/renderable.js";
118
- import Vector2d from "./../math/vector2.js";
@@ -205,7 +205,7 @@ export default class Renderable extends Rect {
205
205
  };
206
206
  _inViewport: boolean;
207
207
  /**
208
- * Whether the renderable object is floating, or contained in a floating container
208
+ * Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container
209
209
  * @see Renderable#floating
210
210
  * @type {boolean}
211
211
  */
@@ -380,7 +380,7 @@ export default class Renderable extends Rect {
380
380
  * onCollision callback, triggered in case of collision,
381
381
  * when this renderable body is colliding with another one
382
382
  * @param {ResponseObject} response - the collision response object
383
- * @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
383
+ * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
384
384
  * @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
385
385
  * @example
386
386
  * // colision handler
@@ -396,7 +396,7 @@ export default class Renderable extends Rect {
396
396
  * return true;
397
397
  * },
398
398
  */
399
- onCollision(response: ResponseObject, other: Renderable): boolean;
399
+ onCollision(response: ResponseObject, other: Renderable | Container | Entity | Sprite | NineSliceSprite): boolean;
400
400
  /**
401
401
  * Destroy function<br>
402
402
  * @ignore
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "melonjs",
3
- "version": "15.1.4",
3
+ "version": "15.1.6",
4
4
  "description": "melonJS Game Engine",
5
5
  "homepage": "http://www.melonjs.org/",
6
6
  "type": "module",
@@ -53,13 +53,13 @@
53
53
  ],
54
54
  "dependencies": {
55
55
  "@teppeis/multimaps": "^3.0.0",
56
- "core-js": "^3.30.1",
56
+ "core-js": "^3.30.2",
57
57
  "earcut": "2.2.4",
58
- "eventemitter3": "^5.0.0",
58
+ "eventemitter3": "^5.0.1",
59
59
  "howler": "2.2.3"
60
60
  },
61
61
  "devDependencies": {
62
- "@babel/eslint-parser": "^7.21.3",
62
+ "@babel/eslint-parser": "^7.21.8",
63
63
  "@babel/plugin-syntax-import-assertions": "^7.20.0",
64
64
  "@fastify/static": "^6.10.1",
65
65
  "@melonjs/webdoc-theme": "^1.1.1",
@@ -68,21 +68,21 @@
68
68
  "@rollup/plugin-node-resolve": "^15.0.2",
69
69
  "@rollup/plugin-replace": "^5.0.2",
70
70
  "@webdoc/cli": "^2.2.0",
71
- "chromedriver": "^112.0.0",
71
+ "chromedriver": "^113.0.0",
72
72
  "cross-env": "^7.0.3",
73
73
  "del-cli": "^5.0.0",
74
- "eslint": "^8.39.0",
75
- "eslint-plugin-jsdoc": "^43.1.1",
74
+ "eslint": "^8.40.0",
75
+ "eslint-plugin-jsdoc": "^44.1.0",
76
76
  "expect": "^29.5.0",
77
77
  "expect-mocha-image-snapshot": "^3.0.13",
78
- "fastify": "^4.16.3",
78
+ "fastify": "^4.17.0",
79
79
  "mocha": "^10.2.0",
80
80
  "npm-self-link": "^1.1.7",
81
- "puppeteer": "^19.11.1",
82
- "rollup": "^3.21.0",
81
+ "puppeteer": "^20.1.2",
82
+ "rollup": "^3.21.6",
83
83
  "rollup-plugin-bundle-size": "^1.0.3",
84
84
  "rollup-plugin-string": "^3.0.0",
85
- "terser": "^5.17.1",
85
+ "terser": "^5.17.3",
86
86
  "typescript": "^5.0.4"
87
87
  },
88
88
  "scripts": {
@@ -574,7 +574,7 @@ let targetV = new Vector2d();
574
574
  * set the camera position around the specified object
575
575
  * @name focusOn
576
576
  * @memberof Camera2d
577
- * @param {Renderable} target - the renderable to focus the camera on
577
+ * @param {Renderable|Entity|Sprite|NineSliceSprite} target - the renderable to focus the camera on
578
578
  */
579
579
  focusOn(target) {
580
580
  let bounds = target.getBounds();
@@ -588,7 +588,7 @@ let targetV = new Vector2d();
588
588
  * check if the specified renderable is in the camera
589
589
  * @name isVisible
590
590
  * @memberof Camera2d
591
- * @param {Renderable} obj - to be checked against
591
+ * @param {Renderable|Entity|Sprite|NineSliceSprite} obj - to be checked against
592
592
  * @param {boolean} [floating = obj.floating] - if visibility check should be done against screen coordinates
593
593
  * @returns {boolean}
594
594
  */
@@ -180,11 +180,8 @@ import Body from "./../physics/body.js";
180
180
  }
181
181
 
182
182
  if (absolute === true) {
183
- bounds.centerOn(this.pos.x + bounds.x + bounds.width / 2, this.pos.y + bounds.y + bounds.height / 2);
184
- if (typeof this.ancestor !== "undefined" && typeof this.ancestor.addChild === "function" && this.floating !== true) {
185
- bounds.translate(this.ancestor.getAbsolutePosition());
186
- }
187
-
183
+ var absPos = this.getAbsolutePosition();
184
+ bounds.centerOn(absPos.x + bounds.x + bounds.width / 2, absPos.y + bounds.y + bounds.height / 2);
188
185
  }
189
186
 
190
187
  return bounds;
@@ -235,10 +235,10 @@ import earcut from "earcut";
235
235
  const cos_rotation = Math.cos(rotation);
236
236
  const sin_rotation = Math.sin(rotation);
237
237
  for (let j = 0; j < nr_of_interpolation_points; j++) {
238
- let _x1 = radiusX * Math.cos(angle);
239
- let _y1 = radiusY * Math.sin(angle);
240
- let _x2 = x + _x1 * cos_rotation - _y1 * sin_rotation;
241
- let _y2 = y + _x1 * sin_rotation + _y1 * cos_rotation;
238
+ const _x1 = radiusX * Math.cos(angle);
239
+ const _y1 = radiusY * Math.sin(angle);
240
+ const _x2 = x + _x1 * cos_rotation - _y1 * sin_rotation;
241
+ const _y2 = y + _x1 * sin_rotation + _y1 * cos_rotation;
242
242
  points.push(pool.pull("Point", _x2, _y2));
243
243
  angle += direction * dangle;
244
244
  }
@@ -432,8 +432,8 @@ import pool from "./../system/pooling.js";
432
432
 
433
433
  //http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
434
434
  for (let i = 0, j = len - 1; i < len; j = i++) {
435
- let iy = points[i].y + posy, ix = points[i].x + posx,
436
- jy = points[j].y + posy, jx = points[j].x + posx;
435
+ const iy = points[i].y + posy, ix = points[i].x + posx,
436
+ jy = points[j].y + posy, jx = points[j].x + posx;
437
437
  if (((iy > _y) !== (jy > _y)) && (_x < (jx - ix) * (_y - iy) / (jy - iy) + ix)) {
438
438
  intersects = !intersects;
439
439
  }
package/src/index.js CHANGED
@@ -42,7 +42,8 @@ import Light2d from "./renderable/light2d.js";
42
42
  import Text from "./text/text.js";
43
43
  import BitmapText from "./text/bitmaptext.js";
44
44
  import BitmapTextData from "./text/bitmaptextdata.js";
45
- import { Draggable, DropTarget } from "./renderable/dragndrop.js";
45
+ import { Draggable } from "./renderable/draggable.js";
46
+ import { DropTarget } from "./renderable/dragndrop.js";
46
47
  import TMXRenderer from "./level/tiled/renderer/TMXRenderer.js";
47
48
  import TMXOrthogonalRenderer from "./level/tiled/renderer/TMXOrthogonalRenderer.js";
48
49
  import TMXIsometricRenderer from "./level/tiled/renderer/TMXIsometricRenderer.js";
@@ -210,7 +210,7 @@ function enablePointerEvent() {
210
210
  */
211
211
  function findActiveEvent(activeEventList, eventTypes) {
212
212
  for (let i = 0; i < eventTypes.length; i++) {
213
- let event = activeEventList.indexOf(eventTypes[i]);
213
+ const event = activeEventList.indexOf(eventTypes[i]);
214
214
  if (event !== -1) {
215
215
  return eventTypes[i];
216
216
  }
@@ -223,7 +223,7 @@ function findActiveEvent(activeEventList, eventTypes) {
223
223
  function findAllActiveEvents(activeEventList, eventTypes) {
224
224
  let events = [];
225
225
  for (let i = 0; i < eventTypes.length; i++) {
226
- let event = activeEventList.indexOf(eventTypes[i]);
226
+ const event = activeEventList.indexOf(eventTypes[i]);
227
227
  if (event !== -1) {
228
228
  events.push(eventTypes[i]);
229
229
  }
@@ -293,10 +293,10 @@ function dispatchEvent(normalizedEvents) {
293
293
 
294
294
  for (let c = candidates.length, candidate; c--, (candidate = candidates[c]);) {
295
295
  if (eventHandlers.has(candidate) && (candidate.isKinematic !== true)) {
296
- let handlers = eventHandlers.get(candidate);
297
- let region = handlers.region;
298
- let ancestor = region.ancestor;
299
- let bounds = region.getBounds();
296
+ const handlers = eventHandlers.get(candidate);
297
+ const region = handlers.region;
298
+ const ancestor = region.ancestor;
299
+ const bounds = region.getBounds();
300
300
  let eventInBounds = false;
301
301
 
302
302
  if (region.isFloating === true) {
@@ -404,7 +404,7 @@ function normalizeEvent(originalEvent) {
404
404
  if (device.touchEvent && originalEvent.changedTouches) {
405
405
  // iOS/Android Touch event
406
406
  for (let i = 0, l = originalEvent.changedTouches.length; i < l; i++) {
407
- let touchEvent = originalEvent.changedTouches[i];
407
+ const touchEvent = originalEvent.changedTouches[i];
408
408
  _pointer = T_POINTERS.pop();
409
409
  _pointer.setEvent(
410
410
  originalEvent,
@@ -682,7 +682,7 @@ export function registerPointerEvent(eventType, region, callback) {
682
682
  // allocate array if not defined
683
683
  let handlers = eventHandlers.get(region);
684
684
  for (let i = 0; i < eventTypes.length; i++) {
685
- eventType = eventTypes[i];
685
+ const eventType = eventTypes[i];
686
686
  if (handlers.callbacks[eventType]) {
687
687
  handlers.callbacks[eventType].push(callback);
688
688
  } else {
@@ -715,7 +715,7 @@ export function releasePointerEvent(eventType, region, callback) {
715
715
  let handlers = eventHandlers.get(region);
716
716
  if (typeof (handlers) !== "undefined") {
717
717
  for (let i = 0; i < eventTypes.length; i++) {
718
- eventType = eventTypes[i];
718
+ const eventType = eventTypes[i];
719
719
  if (handlers.callbacks[eventType]) {
720
720
  if (typeof (callback) !== "undefined") {
721
721
  remove(handlers.callbacks[eventType], callback);