melonjs 15.3.0 → 15.4.1

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 (287) 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 +53 -5
  6. package/dist/melonjs.mjs/application/header.js +2 -2
  7. package/dist/melonjs.mjs/application/resize.js +4 -8
  8. package/dist/melonjs.mjs/application/settings.js +5 -5
  9. package/dist/melonjs.mjs/audio/audio.js +4 -6
  10. package/dist/melonjs.mjs/camera/camera2d.js +12 -14
  11. package/dist/melonjs.mjs/const.js +1 -1
  12. package/dist/melonjs.mjs/entity/entity.js +3 -4
  13. package/dist/melonjs.mjs/geometries/ellipse.js +26 -59
  14. package/dist/melonjs.mjs/geometries/line.js +18 -25
  15. package/dist/melonjs.mjs/geometries/path2d.js +16 -13
  16. package/dist/melonjs.mjs/geometries/point.js +8 -16
  17. package/dist/melonjs.mjs/geometries/poly.js +40 -97
  18. package/dist/melonjs.mjs/geometries/rectangle.js +37 -91
  19. package/dist/melonjs.mjs/geometries/roundrect.js +26 -35
  20. package/dist/melonjs.mjs/index.js +6 -6
  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 +3 -3
  24. package/dist/melonjs.mjs/input/pointer.js +4 -4
  25. package/dist/melonjs.mjs/input/pointerevent.js +6 -7
  26. package/dist/melonjs.mjs/lang/console.js +1 -1
  27. package/dist/melonjs.mjs/lang/deprecated.js +2 -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 +16 -33
  31. package/dist/melonjs.mjs/level/tiled/TMXObject.js +3 -4
  32. package/dist/melonjs.mjs/level/tiled/TMXTile.js +4 -4
  33. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +3 -3
  34. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +4 -7
  35. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
  36. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +26 -29
  37. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +3 -3
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  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 +4 -5
  49. package/dist/melonjs.mjs/loader/settings.js +1 -1
  50. package/dist/melonjs.mjs/math/color.js +2 -2
  51. package/dist/melonjs.mjs/math/math.js +1 -1
  52. package/dist/melonjs.mjs/math/matrix2.js +5 -59
  53. package/dist/melonjs.mjs/math/matrix3.js +82 -141
  54. package/dist/melonjs.mjs/math/observable_vector2.js +7 -7
  55. package/dist/melonjs.mjs/math/observable_vector3.js +5 -5
  56. package/dist/melonjs.mjs/math/vector2.js +7 -91
  57. package/dist/melonjs.mjs/math/vector3.js +6 -90
  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 +2 -2
  65. package/dist/melonjs.mjs/particles/particle.js +2 -2
  66. package/dist/melonjs.mjs/particles/settings.js +1 -1
  67. package/dist/melonjs.mjs/physics/body.js +22 -20
  68. package/dist/melonjs.mjs/physics/bounds.js +27 -33
  69. package/dist/melonjs.mjs/physics/collision.js +5 -5
  70. package/dist/melonjs.mjs/physics/detector.js +10 -10
  71. package/dist/melonjs.mjs/physics/quadtree.js +5 -5
  72. package/dist/melonjs.mjs/physics/response.js +1 -1
  73. package/dist/melonjs.mjs/physics/sat.js +3 -4
  74. package/dist/melonjs.mjs/physics/world.js +6 -9
  75. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  76. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  77. package/dist/melonjs.mjs/renderable/colorlayer.js +4 -4
  78. package/dist/melonjs.mjs/renderable/container.js +25 -25
  79. package/dist/melonjs.mjs/renderable/draggable.js +1 -1
  80. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  81. package/dist/melonjs.mjs/renderable/imagelayer.js +4 -4
  82. package/dist/melonjs.mjs/renderable/light2d.js +3 -3
  83. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  84. package/dist/melonjs.mjs/renderable/renderable.js +26 -26
  85. package/dist/melonjs.mjs/renderable/sprite.js +3 -3
  86. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +421 -0
  87. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +195 -0
  88. package/dist/melonjs.mjs/renderable/text/glyph.js +65 -0
  89. package/dist/melonjs.mjs/renderable/text/text.js +422 -0
  90. package/dist/melonjs.mjs/renderable/text/textmetrics.js +175 -0
  91. package/dist/melonjs.mjs/renderable/text/textstyle.js +21 -0
  92. package/dist/melonjs.mjs/renderable/trigger.js +10 -10
  93. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -7
  94. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +7 -7
  95. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +3 -3
  96. package/dist/melonjs.mjs/state/stage.js +2 -2
  97. package/dist/melonjs.mjs/state/state.js +1 -38
  98. package/dist/melonjs.mjs/system/device.js +49 -10
  99. package/dist/melonjs.mjs/system/dom.js +1 -1
  100. package/dist/melonjs.mjs/system/event.js +24 -2
  101. package/dist/melonjs.mjs/system/platform.js +18 -18
  102. package/dist/melonjs.mjs/system/pooling.js +10 -10
  103. package/dist/melonjs.mjs/system/save.js +1 -1
  104. package/dist/melonjs.mjs/system/timer.js +1 -1
  105. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  106. package/dist/melonjs.mjs/text/bitmaptextdata.js +3 -6
  107. package/dist/melonjs.mjs/text/glyph.js +1 -1
  108. package/dist/melonjs.mjs/text/text.js +1 -1
  109. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  110. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  111. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  112. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  113. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  114. package/dist/melonjs.mjs/utils/agent.js +1 -1
  115. package/dist/melonjs.mjs/utils/array.js +1 -1
  116. package/dist/melonjs.mjs/utils/file.js +1 -1
  117. package/dist/melonjs.mjs/utils/function.js +2 -3
  118. package/dist/melonjs.mjs/utils/string.js +1 -1
  119. package/dist/melonjs.mjs/utils/utils.js +1 -1
  120. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +3 -7
  121. package/dist/melonjs.mjs/video/renderer.js +16 -16
  122. package/dist/melonjs.mjs/video/texture/atlas.js +13 -13
  123. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  124. package/dist/melonjs.mjs/video/texture/canvas_texture.js +15 -15
  125. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  126. package/dist/melonjs.mjs/video/video.js +4 -4
  127. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  128. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +13 -14
  129. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  130. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +2 -3
  131. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  132. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  133. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  134. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/utils/precision.js +4 -4
  138. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  139. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  141. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +50 -52
  142. package/dist/melonjs.module.js +1137 -1576
  143. package/dist/types/application/application.d.ts +28 -4
  144. package/dist/types/application/header.d.ts +2 -2
  145. package/dist/types/application/settings.d.ts +23 -23
  146. package/dist/types/audio/audio.d.ts +3 -5
  147. package/dist/types/camera/camera2d.d.ts +13 -16
  148. package/dist/types/entity/entity.d.ts +0 -1
  149. package/dist/types/geometries/ellipse.d.ts +18 -50
  150. package/dist/types/geometries/path2d.d.ts +1 -1
  151. package/dist/types/geometries/point.d.ts +5 -13
  152. package/dist/types/geometries/poly.d.ts +26 -75
  153. package/dist/types/geometries/rectangle.d.ts +12 -58
  154. package/dist/types/geometries/roundrect.d.ts +2 -11
  155. package/dist/types/index.d.ts +3 -3
  156. package/dist/types/input/gamepad.d.ts +31 -31
  157. package/dist/types/input/keyboard.d.ts +105 -105
  158. package/dist/types/input/pointer.d.ts +21 -21
  159. package/dist/types/input/pointerevent.d.ts +6 -6
  160. package/dist/types/level/tiled/TMXLayer.d.ts +1 -1
  161. package/dist/types/math/matrix2.d.ts +9 -63
  162. package/dist/types/math/matrix3.d.ts +9 -68
  163. package/dist/types/math/observable_vector2.d.ts +2 -2
  164. package/dist/types/math/observable_vector3.d.ts +2 -2
  165. package/dist/types/math/vector2.d.ts +8 -92
  166. package/dist/types/math/vector3.d.ts +8 -92
  167. package/dist/types/particles/settings.d.ts +29 -29
  168. package/dist/types/physics/body.d.ts +10 -8
  169. package/dist/types/physics/bounds.d.ts +24 -30
  170. package/dist/types/physics/collision.d.ts +12 -12
  171. package/dist/types/physics/detector.d.ts +1 -1
  172. package/dist/types/physics/world.d.ts +4 -7
  173. package/dist/types/renderable/container.d.ts +19 -19
  174. package/dist/types/renderable/imagelayer.d.ts +6 -6
  175. package/dist/types/renderable/light2d.d.ts +7 -7
  176. package/dist/types/renderable/renderable.d.ts +9 -16
  177. package/dist/types/renderable/text/bitmaptext.d.ts +151 -0
  178. package/dist/types/renderable/text/bitmaptextdata.d.ts +35 -0
  179. package/dist/types/renderable/text/glyph.d.ts +28 -0
  180. package/dist/types/renderable/text/text.d.ts +159 -0
  181. package/dist/types/renderable/text/textmetrics.d.ts +47 -0
  182. package/dist/types/renderable/text/textstyle.d.ts +5 -0
  183. package/dist/types/renderable/ui/uibaseelement.d.ts +0 -1
  184. package/dist/types/renderable/ui/uispriteelement.d.ts +0 -1
  185. package/dist/types/renderable/ui/uitextbutton.d.ts +2 -7
  186. package/dist/types/state/state.d.ts +11 -11
  187. package/dist/types/system/device.d.ts +15 -9
  188. package/dist/types/system/event.d.ts +20 -0
  189. package/dist/types/system/platform.d.ts +17 -17
  190. package/dist/types/utils/function.d.ts +1 -2
  191. package/dist/types/video/renderer.d.ts +13 -13
  192. package/dist/types/video/texture/canvas_texture.d.ts +14 -14
  193. package/dist/types/video/video.d.ts +2 -2
  194. package/dist/types/video/webgl/buffer/vertex.d.ts +2 -2
  195. package/dist/types/video/webgl/compositors/compositor.d.ts +24 -13
  196. package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +0 -1
  197. package/dist/types/video/webgl/compositors/quad_compositor.d.ts +0 -1
  198. package/dist/types/video/webgl/utils/precision.d.ts +1 -1
  199. package/dist/types/video/webgl/webgl_renderer.d.ts +47 -50
  200. package/package.json +15 -15
  201. package/src/application/application.js +51 -3
  202. package/src/application/header.js +1 -1
  203. package/src/application/resize.js +3 -7
  204. package/src/application/settings.js +4 -4
  205. package/src/audio/audio.js +3 -5
  206. package/src/camera/camera2d.js +11 -13
  207. package/src/entity/entity.js +2 -3
  208. package/src/geometries/ellipse.js +25 -58
  209. package/src/geometries/line.js +17 -24
  210. package/src/geometries/path2d.js +15 -12
  211. package/src/geometries/point.js +7 -15
  212. package/src/geometries/poly.js +39 -96
  213. package/src/geometries/rectangle.js +36 -90
  214. package/src/geometries/roundrect.js +25 -34
  215. package/src/index.js +4 -4
  216. package/src/input/keyboard.js +2 -2
  217. package/src/input/pointer.js +3 -3
  218. package/src/input/pointerevent.js +5 -6
  219. package/src/lang/deprecated.js +1 -1
  220. package/src/level/tiled/TMXLayer.js +15 -32
  221. package/src/level/tiled/TMXObject.js +2 -3
  222. package/src/level/tiled/TMXTile.js +3 -3
  223. package/src/level/tiled/TMXTileMap.js +2 -2
  224. package/src/level/tiled/TMXTileset.js +3 -6
  225. package/src/level/tiled/TMXTilesetGroup.js +1 -1
  226. package/src/level/tiled/TMXUtils.js +25 -28
  227. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
  228. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  229. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  230. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  231. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  232. package/src/loader/parser.js +3 -4
  233. package/src/math/color.js +1 -1
  234. package/src/math/matrix2.js +4 -58
  235. package/src/math/matrix3.js +81 -140
  236. package/src/math/observable_vector2.js +6 -6
  237. package/src/math/observable_vector3.js +4 -4
  238. package/src/math/vector2.js +6 -90
  239. package/src/math/vector3.js +5 -89
  240. package/src/particles/emitter.js +1 -1
  241. package/src/particles/particle.js +1 -1
  242. package/src/physics/body.js +21 -19
  243. package/src/physics/bounds.js +26 -32
  244. package/src/physics/collision.js +4 -4
  245. package/src/physics/detector.js +9 -9
  246. package/src/physics/quadtree.js +4 -4
  247. package/src/physics/sat.js +2 -3
  248. package/src/physics/world.js +5 -8
  249. package/src/polyfill/roundrect.js +163 -163
  250. package/src/renderable/collectable.js +1 -1
  251. package/src/renderable/colorlayer.js +3 -3
  252. package/src/renderable/container.js +24 -24
  253. package/src/renderable/imagelayer.js +3 -3
  254. package/src/renderable/light2d.js +2 -2
  255. package/src/renderable/nineslicesprite.js +1 -1
  256. package/src/renderable/renderable.js +25 -25
  257. package/src/renderable/sprite.js +2 -2
  258. package/src/{text → renderable/text}/bitmaptext.js +8 -8
  259. package/src/{text → renderable/text}/bitmaptextdata.js +4 -7
  260. package/src/{text → renderable/text}/glyph.js +1 -1
  261. package/src/{text → renderable/text}/text.js +16 -17
  262. package/src/{text → renderable/text}/textmetrics.js +2 -2
  263. package/src/renderable/trigger.js +9 -9
  264. package/src/renderable/ui/uibaseelement.js +6 -6
  265. package/src/renderable/ui/uispriteelement.js +6 -6
  266. package/src/renderable/ui/uitextbutton.js +2 -2
  267. package/src/state/stage.js +1 -1
  268. package/src/state/state.js +0 -49
  269. package/src/system/device.js +48 -9
  270. package/src/system/event.js +22 -0
  271. package/src/system/platform.js +18 -18
  272. package/src/system/pooling.js +9 -9
  273. package/src/tweens/tween.js +1 -1
  274. package/src/utils/function.js +1 -2
  275. package/src/video/canvas/canvas_renderer.js +2 -6
  276. package/src/video/renderer.js +15 -15
  277. package/src/video/texture/atlas.js +12 -12
  278. package/src/video/texture/canvas_texture.js +14 -14
  279. package/src/video/video.js +3 -3
  280. package/src/video/webgl/buffer/vertex.js +2 -2
  281. package/src/video/webgl/compositors/compositor.js +12 -13
  282. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  283. package/src/video/webgl/compositors/quad_compositor.js +1 -2
  284. package/src/video/webgl/glshader.js +1 -1
  285. package/src/video/webgl/utils/precision.js +3 -3
  286. package/src/video/webgl/webgl_renderer.js +49 -51
  287. /package/src/{text → renderable/text}/textstyle.js +0 -0
@@ -11,7 +11,7 @@ import state from "./../state/state.js";
11
11
  * an object representing the physic world, and responsible for managing and updating all childs and physics
12
12
  * @augments Container
13
13
  */
14
- export default class World extends Container {
14
+ export default class World extends Container {
15
15
  /**
16
16
  * @param {number} [x=0] - position of the container (accessible via the inherited pos.x property)
17
17
  * @param {number} [y=0] - position of the container (accessible via the inherited pos.y property)
@@ -50,13 +50,10 @@ import state from "./../state/state.js";
50
50
  this.gravity = new Vector2d(0, 0.98);
51
51
 
52
52
  /**
53
- * Specify the rendering method for tile layers. <br>
54
- * if false visible part of the layers are rendered dynamically,<br>
55
- * if true the entire layers are first rendered into an offscreen canvas.<br>
56
- * the "best" rendering method depends of your game
57
- * (amount of layer, layer size, amount of tiles per layer, etc.)<br>
58
- * note : rendering method is also configurable per layer by adding this
59
- * property to your layer (in Tiled).
53
+ * Enabled pre-rendering for all tile layers. <br>
54
+ * If false layers are rendered dynamically, if true layers are first fully rendered into an offscreen canvas.<br>
55
+ * the "best" rendering method depends of your game (amount of layer, layer size, amount of tiles per layer, etc.)<br>
56
+ * Note : rendering method is also configurable per layer by adding a boolean "preRender" property to your layer in Tiled ({@link https://doc.mapeditor.org/en/stable/manual/custom-properties/#adding-properties}).
60
57
  * @type {boolean}
61
58
  * @default false
62
59
  */
@@ -4,234 +4,234 @@
4
4
  */
5
5
  (() => {
6
6
 
7
- "use strict";
7
+ "use strict";
8
8
 
9
- /** @ignore */
10
- function roundRect(x, y, w, h, radii) {
11
-
12
- if (!([x, y, w, h].every((input) => Number.isFinite(input)))) {
13
-
14
- return;
15
-
16
- }
17
-
18
- radii = parseRadiiArgument(radii);
9
+ /** @ignore */
10
+ function roundRect(x, y, w, h, radii) {
19
11
 
20
- let upperLeft, upperRight, lowerRight, lowerLeft;
12
+ if (!([x, y, w, h].every((input) => Number.isFinite(input)))) {
21
13
 
22
- if (radii.length === 4) {
14
+ return;
23
15
 
24
- upperLeft = toCornerPoint(radii[0]);
25
- upperRight = toCornerPoint(radii[1]);
26
- lowerRight = toCornerPoint(radii[2]);
27
- lowerLeft = toCornerPoint(radii[3]);
16
+ }
28
17
 
29
- } else if (radii.length === 3) {
18
+ radii = parseRadiiArgument(radii);
30
19
 
31
- upperLeft = toCornerPoint(radii[0]);
32
- upperRight = toCornerPoint(radii[1]);
33
- lowerLeft = toCornerPoint(radii[1]);
34
- lowerRight = toCornerPoint(radii[2]);
20
+ let upperLeft, upperRight, lowerRight, lowerLeft;
35
21
 
36
- } else if (radii.length === 2) {
22
+ if (radii.length === 4) {
37
23
 
38
- upperLeft = toCornerPoint(radii[0]);
39
- lowerRight = toCornerPoint(radii[0]);
40
- upperRight = toCornerPoint(radii[1]);
41
- lowerLeft = toCornerPoint(radii[1]);
24
+ upperLeft = toCornerPoint(radii[0]);
25
+ upperRight = toCornerPoint(radii[1]);
26
+ lowerRight = toCornerPoint(radii[2]);
27
+ lowerLeft = toCornerPoint(radii[3]);
42
28
 
43
- } else if (radii.length === 1) {
29
+ } else if (radii.length === 3) {
44
30
 
45
- upperLeft = toCornerPoint(radii[0]);
46
- upperRight = toCornerPoint(radii[0]);
47
- lowerRight = toCornerPoint(radii[0]);
48
- lowerLeft = toCornerPoint(radii[0]);
31
+ upperLeft = toCornerPoint(radii[0]);
32
+ upperRight = toCornerPoint(radii[1]);
33
+ lowerLeft = toCornerPoint(radii[1]);
34
+ lowerRight = toCornerPoint(radii[2]);
49
35
 
50
- } else {
36
+ } else if (radii.length === 2) {
51
37
 
52
- throw new Error(radii.length + " is not a valid size for radii sequence.");
38
+ upperLeft = toCornerPoint(radii[0]);
39
+ lowerRight = toCornerPoint(radii[0]);
40
+ upperRight = toCornerPoint(radii[1]);
41
+ lowerLeft = toCornerPoint(radii[1]);
53
42
 
54
- }
43
+ } else if (radii.length === 1) {
55
44
 
56
- const corners = [upperLeft, upperRight, lowerRight, lowerLeft];
57
- const negativeCorner = corners.find(({x, y}) => x < 0 || y < 0);
58
- //const negativeValue = negativeCorner?.x < 0 ? negativeCorner.x : negativeCorner?.y
45
+ upperLeft = toCornerPoint(radii[0]);
46
+ upperRight = toCornerPoint(radii[0]);
47
+ lowerRight = toCornerPoint(radii[0]);
48
+ lowerLeft = toCornerPoint(radii[0]);
59
49
 
60
- if (corners.some(({x, y}) => !Number.isFinite(x) || !Number.isFinite(y))) {
50
+ } else {
61
51
 
62
- return;
52
+ throw new Error(radii.length + " is not a valid size for radii sequence.");
63
53
 
64
- }
54
+ }
65
55
 
66
- if (negativeCorner) {
56
+ const corners = [upperLeft, upperRight, lowerRight, lowerLeft];
57
+ const negativeCorner = corners.find(({x, y}) => x < 0 || y < 0);
58
+ //const negativeValue = negativeCorner?.x < 0 ? negativeCorner.x : negativeCorner?.y
67
59
 
68
- throw new Error("Radius value " + negativeCorner + " is negative.");
60
+ if (corners.some(({x, y}) => !Number.isFinite(x) || !Number.isFinite(y))) {
69
61
 
70
- }
62
+ return;
71
63
 
72
- fixOverlappingCorners(corners);
64
+ }
73
65
 
74
- if (w < 0 && h < 0) {
66
+ if (negativeCorner) {
75
67
 
76
- this.moveTo(x - upperLeft.x, y);
77
- this.ellipse(x + w + upperRight.x, y - upperRight.y, upperRight.x, upperRight.y, 0, -Math.PI * 1.5, -Math.PI);
78
- this.ellipse(x + w + lowerRight.x, y + h + lowerRight.y, lowerRight.x, lowerRight.y, 0, -Math.PI, -Math.PI / 2);
79
- this.ellipse(x - lowerLeft.x, y + h + lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, -Math.PI / 2, 0);
80
- this.ellipse(x - upperLeft.x, y - upperLeft.y, upperLeft.x, upperLeft.y, 0, 0, -Math.PI / 2);
68
+ throw new Error("Radius value " + negativeCorner + " is negative.");
81
69
 
82
- } else if (w < 0) {
70
+ }
83
71
 
84
- this.moveTo(x - upperLeft.x, y);
85
- this.ellipse(x + w + upperRight.x, y + upperRight.y, upperRight.x, upperRight.y, 0, -Math.PI / 2, -Math.PI, 1);
86
- this.ellipse(x + w + lowerRight.x, y + h - lowerRight.y, lowerRight.x, lowerRight.y, 0, -Math.PI, -Math.PI * 1.5, 1);
87
- this.ellipse(x - lowerLeft.x, y + h - lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, Math.PI / 2, 0, 1);
88
- this.ellipse(x - upperLeft.x, y + upperLeft.y, upperLeft.x, upperLeft.y, 0, 0, -Math.PI / 2, 1);
72
+ fixOverlappingCorners(corners);
89
73
 
90
- } else if (h < 0) {
74
+ if (w < 0 && h < 0) {
91
75
 
92
- this.moveTo(x + upperLeft.x, y);
93
- this.ellipse(x + w - upperRight.x, y - upperRight.y, upperRight.x, upperRight.y, 0, Math.PI / 2, 0, 1);
94
- this.ellipse(x + w - lowerRight.x, y + h + lowerRight.y, lowerRight.x, lowerRight.y, 0, 0, -Math.PI / 2, 1);
95
- this.ellipse(x + lowerLeft.x, y + h + lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, -Math.PI / 2, -Math.PI, 1);
96
- this.ellipse(x + upperLeft.x, y - upperLeft.y, upperLeft.x, upperLeft.y, 0, -Math.PI, -Math.PI * 1.5, 1);
76
+ this.moveTo(x - upperLeft.x, y);
77
+ this.ellipse(x + w + upperRight.x, y - upperRight.y, upperRight.x, upperRight.y, 0, -Math.PI * 1.5, -Math.PI);
78
+ this.ellipse(x + w + lowerRight.x, y + h + lowerRight.y, lowerRight.x, lowerRight.y, 0, -Math.PI, -Math.PI / 2);
79
+ this.ellipse(x - lowerLeft.x, y + h + lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, -Math.PI / 2, 0);
80
+ this.ellipse(x - upperLeft.x, y - upperLeft.y, upperLeft.x, upperLeft.y, 0, 0, -Math.PI / 2);
97
81
 
98
- } else {
82
+ } else if (w < 0) {
99
83
 
100
- this.moveTo(x + upperLeft.x, y);
101
- this.ellipse(x + w - upperRight.x, y + upperRight.y, upperRight.x, upperRight.y, 0, -Math.PI / 2, 0);
102
- this.ellipse(x + w - lowerRight.x, y + h - lowerRight.y, lowerRight.x, lowerRight.y, 0, 0, Math.PI / 2);
103
- this.ellipse(x + lowerLeft.x, y + h - lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, Math.PI / 2, Math.PI);
104
- this.ellipse(x + upperLeft.x, y + upperLeft.y, upperLeft.x, upperLeft.y, 0, Math.PI, Math.PI * 1.5);
84
+ this.moveTo(x - upperLeft.x, y);
85
+ this.ellipse(x + w + upperRight.x, y + upperRight.y, upperRight.x, upperRight.y, 0, -Math.PI / 2, -Math.PI, 1);
86
+ this.ellipse(x + w + lowerRight.x, y + h - lowerRight.y, lowerRight.x, lowerRight.y, 0, -Math.PI, -Math.PI * 1.5, 1);
87
+ this.ellipse(x - lowerLeft.x, y + h - lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, Math.PI / 2, 0, 1);
88
+ this.ellipse(x - upperLeft.x, y + upperLeft.y, upperLeft.x, upperLeft.y, 0, 0, -Math.PI / 2, 1);
105
89
 
106
- }
90
+ } else if (h < 0) {
107
91
 
108
- this.closePath();
109
- this.moveTo(x, y);
92
+ this.moveTo(x + upperLeft.x, y);
93
+ this.ellipse(x + w - upperRight.x, y - upperRight.y, upperRight.x, upperRight.y, 0, Math.PI / 2, 0, 1);
94
+ this.ellipse(x + w - lowerRight.x, y + h + lowerRight.y, lowerRight.x, lowerRight.y, 0, 0, -Math.PI / 2, 1);
95
+ this.ellipse(x + lowerLeft.x, y + h + lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, -Math.PI / 2, -Math.PI, 1);
96
+ this.ellipse(x + upperLeft.x, y - upperLeft.y, upperLeft.x, upperLeft.y, 0, -Math.PI, -Math.PI * 1.5, 1);
110
97
 
111
- /** @ignore */
112
- function toDOMPointInit(value) {
98
+ } else {
113
99
 
114
- const {x, y, z, w} = value;
115
- return {x, y, z, w};
100
+ this.moveTo(x + upperLeft.x, y);
101
+ this.ellipse(x + w - upperRight.x, y + upperRight.y, upperRight.x, upperRight.y, 0, -Math.PI / 2, 0);
102
+ this.ellipse(x + w - lowerRight.x, y + h - lowerRight.y, lowerRight.x, lowerRight.y, 0, 0, Math.PI / 2);
103
+ this.ellipse(x + lowerLeft.x, y + h - lowerLeft.y, lowerLeft.x, lowerLeft.y, 0, Math.PI / 2, Math.PI);
104
+ this.ellipse(x + upperLeft.x, y + upperLeft.y, upperLeft.x, upperLeft.y, 0, Math.PI, Math.PI * 1.5);
116
105
 
117
- }
106
+ }
118
107
 
119
- /** @ignore */
120
- function parseRadiiArgument(value) {
108
+ this.closePath();
109
+ this.moveTo(x, y);
121
110
 
122
- // https://webidl.spec.whatwg.org/#es-union
123
- // with 'optional (unrestricted double or DOMPointInit
124
- // or sequence<(unrestricted double or DOMPointInit)>) radii = 0'
125
- const type = typeof value;
111
+ /** @ignore */
112
+ function toDOMPointInit(value) {
126
113
 
127
- if (type === "undefined" || value === null) {
114
+ const {x, y, z, w} = value;
115
+ return {x, y, z, w};
128
116
 
129
- return [0];
117
+ }
130
118
 
131
- }
132
- if (type === "function") {
119
+ /** @ignore */
120
+ function parseRadiiArgument(value) {
133
121
 
134
- return [NaN];
122
+ // https://webidl.spec.whatwg.org/#es-union
123
+ // with 'optional (unrestricted double or DOMPointInit
124
+ // or sequence<(unrestricted double or DOMPointInit)>) radii = 0'
125
+ const type = typeof value;
135
126
 
136
- }
137
- if (type === "object") {
127
+ if (type === "undefined" || value === null) {
138
128
 
139
- if (typeof value[Symbol.iterator] === "function") {
129
+ return [0];
140
130
 
141
- return [...value].map((elem) => {
142
- // https://webidl.spec.whatwg.org/#es-union
143
- // with '(unrestricted double or DOMPointInit)'
144
- const elemType = typeof elem;
145
- if (elemType === "undefined" || elem === null) {
146
- return 0;
147
131
  }
148
- if (elemType === "function") {
149
- return NaN;
150
- }
151
- if (elemType === "object") {
152
- return toDOMPointInit(elem);
153
- }
154
- return toUnrestrictedNumber(elem);
155
- });
132
+ if (type === "function") {
156
133
 
157
- }
134
+ return [NaN];
158
135
 
159
- return [toDOMPointInit(value)];
136
+ }
137
+ if (type === "object") {
138
+
139
+ if (typeof value[Symbol.iterator] === "function") {
140
+
141
+ return [...value].map((elem) => {
142
+ // https://webidl.spec.whatwg.org/#es-union
143
+ // with '(unrestricted double or DOMPointInit)'
144
+ const elemType = typeof elem;
145
+ if (elemType === "undefined" || elem === null) {
146
+ return 0;
147
+ }
148
+ if (elemType === "function") {
149
+ return NaN;
150
+ }
151
+ if (elemType === "object") {
152
+ return toDOMPointInit(elem);
153
+ }
154
+ return toUnrestrictedNumber(elem);
155
+ });
156
+
157
+ }
158
+
159
+ return [toDOMPointInit(value)];
160
160
 
161
- }
161
+ }
162
162
 
163
- return [toUnrestrictedNumber(value)];
163
+ return [toUnrestrictedNumber(value)];
164
164
 
165
- }
165
+ }
166
166
 
167
- /** @ignore */
168
- function toUnrestrictedNumber(value) {
167
+ /** @ignore */
168
+ function toUnrestrictedNumber(value) {
169
169
 
170
- return +value;
170
+ return +value;
171
171
 
172
- }
172
+ }
173
173
 
174
- /** @ignore */
175
- function toCornerPoint(value) {
174
+ /** @ignore */
175
+ function toCornerPoint(value) {
176
176
 
177
- const asNumber = toUnrestrictedNumber(value);
178
- if (Number.isFinite(asNumber)) {
177
+ const asNumber = toUnrestrictedNumber(value);
178
+ if (Number.isFinite(asNumber)) {
179
179
 
180
- return {
181
- x: asNumber,
182
- y: asNumber
183
- };
180
+ return {
181
+ x: asNumber,
182
+ y: asNumber
183
+ };
184
184
 
185
- }
186
- if (Object(value) === value) {
185
+ }
186
+ if (Object(value) === value) {
187
187
 
188
- return {
189
- x: toUnrestrictedNumber(value.x || 0),
190
- y: toUnrestrictedNumber(value.y || 0)
191
- };
188
+ return {
189
+ x: toUnrestrictedNumber(value.x || 0),
190
+ y: toUnrestrictedNumber(value.y || 0)
191
+ };
192
192
 
193
- }
193
+ }
194
194
 
195
- return {
196
- x: NaN,
197
- y: NaN
198
- };
195
+ return {
196
+ x: NaN,
197
+ y: NaN
198
+ };
199
199
 
200
- }
200
+ }
201
201
 
202
- /** @ignore */
203
- function fixOverlappingCorners(corners) {
204
- const [upperLeft, upperRight, lowerRight, lowerLeft] = corners;
205
- const factors = [
206
- Math.abs(w) / (upperLeft.x + upperRight.x),
207
- Math.abs(h) / (upperRight.y + lowerRight.y),
208
- Math.abs(w) / (lowerRight.x + lowerLeft.x),
209
- Math.abs(h) / (upperLeft.y + lowerLeft.y)
210
- ];
211
- const minFactor = Math.min(...factors);
212
- if (minFactor <= 1) {
213
- corners.forEach((radii) => {
214
- radii.x *= minFactor;
215
- radii.y *= minFactor;
216
- });
217
- }
202
+ /** @ignore */
203
+ function fixOverlappingCorners(corners) {
204
+ const [upperLeft, upperRight, lowerRight, lowerLeft] = corners;
205
+ const factors = [
206
+ Math.abs(w) / (upperLeft.x + upperRight.x),
207
+ Math.abs(h) / (upperRight.y + lowerRight.y),
208
+ Math.abs(w) / (lowerRight.x + lowerLeft.x),
209
+ Math.abs(h) / (upperLeft.y + lowerLeft.y)
210
+ ];
211
+ const minFactor = Math.min(...factors);
212
+ if (minFactor <= 1) {
213
+ corners.forEach((radii) => {
214
+ radii.x *= minFactor;
215
+ radii.y *= minFactor;
216
+ });
217
+ }
218
+ }
218
219
  }
219
- }
220
220
 
221
- if (globalThis.CanvasRenderingContext2D) {
222
- if (typeof globalThis.Path2D.prototype.roundRect === "undefined") {
223
- globalThis.Path2D.prototype.roundRect = roundRect;
221
+ if (globalThis.CanvasRenderingContext2D) {
222
+ if (typeof globalThis.Path2D.prototype.roundRect === "undefined") {
223
+ globalThis.Path2D.prototype.roundRect = roundRect;
224
+ }
224
225
  }
225
- }
226
- if (globalThis.CanvasRenderingContext2D) {
227
- if (typeof globalThis.CanvasRenderingContext2D.prototype.roundRect === "undefined") {
228
- globalThis.CanvasRenderingContext2D.prototype.roundRect = roundRect;
226
+ if (globalThis.CanvasRenderingContext2D) {
227
+ if (typeof globalThis.CanvasRenderingContext2D.prototype.roundRect === "undefined") {
228
+ globalThis.CanvasRenderingContext2D.prototype.roundRect = roundRect;
229
+ }
229
230
  }
230
- }
231
- if (globalThis.OffscreenCanvasRenderingContext2D) {
232
- if (typeof globalThis.OffscreenCanvasRenderingContext2D.prototype.roundRect === "undefined") {
233
- globalThis.OffscreenCanvasRenderingContext2D.prototype.roundRect = roundRect;
231
+ if (globalThis.OffscreenCanvasRenderingContext2D) {
232
+ if (typeof globalThis.OffscreenCanvasRenderingContext2D.prototype.roundRect === "undefined") {
233
+ globalThis.OffscreenCanvasRenderingContext2D.prototype.roundRect = roundRect;
234
+ }
234
235
  }
235
- }
236
236
 
237
237
  })();
@@ -8,7 +8,7 @@ import pool from "./../system/pooling.js";
8
8
  * a basic collectable helper class for immovable object (e.g. a coin)
9
9
  * @augments Sprite
10
10
  */
11
- export default class Collectable extends Sprite {
11
+ export default class Collectable extends Sprite {
12
12
  /**
13
13
  * @param {number} x - the x coordinates of the collectable
14
14
  * @param {number} y - the y coordinates of the collectable
@@ -7,7 +7,7 @@ import Renderable from "./renderable.js";
7
7
  * a generic Color Layer Object. Fills the entire Canvas with the color not just the container the object belongs to.
8
8
  * @augments Renderable
9
9
  */
10
- export default class ColorLayer extends Renderable {
10
+ export default class ColorLayer extends Renderable {
11
11
  /**
12
12
  * @param {string} name - Layer name
13
13
  * @param {Color|string} color - CSS color
@@ -24,9 +24,9 @@ import Renderable from "./renderable.js";
24
24
  * @name color
25
25
  * @memberof ColorLayer#
26
26
  */
27
- this.color = pool.pull("Color").parseCSS(color);
27
+ this.color = pool.pull("Color").parseCSS(color);
28
28
 
29
- this.onResetEvent(name, color, z);
29
+ this.onResetEvent(name, color, z);
30
30
 
31
31
  }
32
32
 
@@ -22,7 +22,7 @@ let globalFloatingCounter = 0;
22
22
  * Container represents a collection of child objects
23
23
  * @augments Renderable
24
24
  */
25
- export default class Container extends Renderable {
25
+ export default class Container extends Renderable {
26
26
  /**
27
27
  * @param {number} [x=0] - position of the container (accessible via the inherited pos.x property)
28
28
  * @param {number} [y=0] - position of the container (accessible via the inherited pos.y property)
@@ -177,7 +177,7 @@ let globalFloatingCounter = 0;
177
177
  * will not be in any container. <br>
178
178
  * if the given child implements a onActivateEvent method, that method will be called
179
179
  * once the child is added to this container.
180
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
180
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be added
181
181
  * @param {number} [z] - forces the z index of the child to the specified value
182
182
  * @returns {Renderable} the added child
183
183
  */
@@ -210,7 +210,7 @@ let globalFloatingCounter = 0;
210
210
  // set the child z value if required
211
211
  if (typeof(child.pos) !== "undefined") {
212
212
  if (typeof(z) === "number") {
213
- child.pos.z = z;
213
+ child.pos.z = z;
214
214
  } else if (this.autoDepth === true) {
215
215
  child.pos.z = this.getChildren().length;
216
216
  }
@@ -231,7 +231,7 @@ let globalFloatingCounter = 0;
231
231
 
232
232
  // if a physic body(ies) to the game world
233
233
  if (this.isAttachedToRoot()) {
234
- var worldContainer = this.getRootAncestor();
234
+ let worldContainer = this.getRootAncestor();
235
235
  if (child.body instanceof Body) {
236
236
  worldContainer.addBody(child.body);
237
237
  }
@@ -259,8 +259,8 @@ let globalFloatingCounter = 0;
259
259
  /**
260
260
  * Add a child to the container at the specified index<br>
261
261
  * (the list won't be sorted after insertion)
262
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
263
- * @param {number} index
262
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be added
263
+ * @param {number} index - The index at which to insert the child
264
264
  * @returns {Renderable} the added child
265
265
  */
266
266
  addChildAt(child, index) {
@@ -301,7 +301,7 @@ let globalFloatingCounter = 0;
301
301
 
302
302
  // if a physic body(ies) to the game world
303
303
  if (this.isAttachedToRoot()) {
304
- var worldContainer = this.getRootAncestor();
304
+ let worldContainer = this.getRootAncestor();
305
305
  if (child.body instanceof Body) {
306
306
  worldContainer.addBody(child.body);
307
307
  }
@@ -370,8 +370,8 @@ let globalFloatingCounter = 0;
370
370
 
371
371
  /**
372
372
  * Swaps the position (z-index) of 2 children
373
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
374
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child2
373
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be added
374
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child2 - Child to be added
375
375
  */
376
376
  swapChildren(child, child2) {
377
377
  let index = this.getChildIndex(child);
@@ -395,7 +395,7 @@ let globalFloatingCounter = 0;
395
395
 
396
396
  /**
397
397
  * Returns the Child at the specified index
398
- * @param {number} index
398
+ * @param {number} index - The index of the child
399
399
  * @returns {Renderable} the child at the specified index
400
400
  */
401
401
  getChildAt(index) {
@@ -409,7 +409,7 @@ let globalFloatingCounter = 0;
409
409
 
410
410
  /**
411
411
  * Returns the index of the given Child
412
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
412
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - The child object
413
413
  * @returns {number} index
414
414
  */
415
415
  getChildIndex(child) {
@@ -418,7 +418,7 @@ let globalFloatingCounter = 0;
418
418
 
419
419
  /**
420
420
  * Returns the next child within the container or undefined if none
421
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
421
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - The child object
422
422
  * @returns {Renderable} child
423
423
  */
424
424
  getNextChild(child) {
@@ -431,7 +431,7 @@ let globalFloatingCounter = 0;
431
431
 
432
432
  /**
433
433
  * Returns true if contains the specified Child
434
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
434
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - The child object
435
435
  * @returns {boolean}
436
436
  */
437
437
  hasChild(child) {
@@ -490,7 +490,7 @@ let globalFloatingCounter = 0;
490
490
 
491
491
  /**
492
492
  * returns the list of childs with the specified class type
493
- * @param {object} classType
493
+ * @param {object} classType - Class type
494
494
  * @returns {Renderable[]} Array of children
495
495
  */
496
496
  getChildByType(classType) {
@@ -570,7 +570,7 @@ let globalFloatingCounter = 0;
570
570
 
571
571
  /**
572
572
  * Checks if this container is root or if it's attached to the root container.
573
- * @returns {boolean}
573
+ * @returns {boolean} true if this container is root or if it's attached to the root container
574
574
  */
575
575
  isAttachedToRoot() {
576
576
  if (this.root === true) {
@@ -589,7 +589,7 @@ let globalFloatingCounter = 0;
589
589
 
590
590
  /**
591
591
  * Returns the instance of the root container (i.e. the current application World container).
592
- * @returns {Container}
592
+ * @returns {Container} root container
593
593
  */
594
594
  getRootAncestor() {
595
595
  if (this.root === true) {
@@ -639,7 +639,7 @@ let globalFloatingCounter = 0;
639
639
  /**
640
640
  * Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed. <br>
641
641
  * if the given child implements a onDeactivateEvent() method, that method will be called once the child is removed from this container.
642
- * @param {RendRenderable|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapTexterable} child
642
+ * @param {RendRenderable|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapTexterable} child - Child to be removed
643
643
  * @param {boolean} [keepalive=false] - true to prevent calling child.destroy()
644
644
  */
645
645
  removeChild(child, keepalive) {
@@ -655,7 +655,7 @@ let globalFloatingCounter = 0;
655
655
  * Removes (and optionally destroys) a child from the container.<br>
656
656
  * (removal is immediate and unconditional)<br>
657
657
  * Never use keepalive=true with objects from {@link pool}. Doing so will create a memory leak.
658
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
658
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be removed
659
659
  * @param {boolean} [keepalive=False] - True to prevent calling child.destroy()
660
660
  */
661
661
  removeChildNow(child, keepalive) {
@@ -667,7 +667,7 @@ let globalFloatingCounter = 0;
667
667
  // remove the body first to avoid a condition where a body can be detached
668
668
  // from its parent, before the body is removed from the game world
669
669
  if (child.body instanceof Body) {
670
- this.getRootAncestor().removeBody(child.body);
670
+ this.getRootAncestor().removeBody(child.body);
671
671
  }
672
672
 
673
673
  if (!keepalive) {
@@ -718,7 +718,7 @@ let globalFloatingCounter = 0;
718
718
 
719
719
  /**
720
720
  * Move the child in the group one step forward (z depth).
721
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
721
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be moved
722
722
  */
723
723
  moveUp(child) {
724
724
  let childIndex = this.getChildIndex(child);
@@ -732,7 +732,7 @@ let globalFloatingCounter = 0;
732
732
 
733
733
  /**
734
734
  * Move the child in the group one step backward (z depth).
735
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
735
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be moved
736
736
  */
737
737
  moveDown(child) {
738
738
  let childIndex = this.getChildIndex(child);
@@ -746,7 +746,7 @@ let globalFloatingCounter = 0;
746
746
 
747
747
  /**
748
748
  * Move the specified child to the top(z depth).
749
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
749
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be moved
750
750
  */
751
751
  moveToTop(child) {
752
752
  let childIndex = this.getChildIndex(child);
@@ -763,7 +763,7 @@ let globalFloatingCounter = 0;
763
763
 
764
764
  /**
765
765
  * Move the specified child the bottom (z depth).
766
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child
766
+ * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be moved
767
767
  */
768
768
  moveToBottom(child) {
769
769
  let childIndex = this.getChildIndex(child);
@@ -779,7 +779,7 @@ let globalFloatingCounter = 0;
779
779
  }
780
780
 
781
781
  /**
782
- * Manually trigger the sort of all the childs in the container</p>
782
+ * Manually trigger the sort of all the childs in the container
783
783
  * @param {boolean} [recursive=false] - recursively sort all containers if true
784
784
  */
785
785
  sort(recursive) {