melonjs 17.3.0 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. package/{dist/types → build}/application/application.d.ts +16 -10
  2. package/build/application/application.d.ts.map +1 -0
  3. package/build/application/defaultApplicationSettings.d.ts +18 -0
  4. package/build/application/defaultApplicationSettings.d.ts.map +1 -0
  5. package/build/application/header.d.ts +11 -0
  6. package/build/application/header.d.ts.map +1 -0
  7. package/{dist/types → build}/application/resize.d.ts +2 -0
  8. package/build/application/resize.d.ts.map +1 -0
  9. package/build/application/scaleMethods.d.ts +44 -0
  10. package/build/application/scaleMethods.d.ts.map +1 -0
  11. package/build/application/settings.d.ts +85 -0
  12. package/build/application/settings.d.ts.map +1 -0
  13. package/{dist/types → build}/audio/audio.d.ts +37 -59
  14. package/build/audio/audio.d.ts.map +1 -0
  15. package/{dist/types → build}/camera/camera2d.d.ts +42 -75
  16. package/build/camera/camera2d.d.ts.map +1 -0
  17. package/build/const.d.ts +14 -0
  18. package/build/const.d.ts.map +1 -0
  19. package/build/geometries/earcut.d.ts +3 -0
  20. package/build/geometries/earcut.d.ts.map +1 -0
  21. package/build/geometries/ellipse.d.ts +117 -0
  22. package/build/geometries/ellipse.d.ts.map +1 -0
  23. package/build/geometries/line.d.ts +39 -0
  24. package/build/geometries/line.d.ts.map +1 -0
  25. package/build/geometries/observablePoint.d.ts +75 -0
  26. package/build/geometries/observablePoint.d.ts.map +1 -0
  27. package/{dist/types → build}/geometries/path2d.d.ts +11 -5
  28. package/build/geometries/path2d.d.ts.map +1 -0
  29. package/build/geometries/point.d.ts +44 -0
  30. package/build/geometries/point.d.ts.map +1 -0
  31. package/build/geometries/polygon.d.ts +182 -0
  32. package/build/geometries/polygon.d.ts.map +1 -0
  33. package/build/geometries/rectangle.d.ts +135 -0
  34. package/build/geometries/rectangle.d.ts.map +1 -0
  35. package/build/geometries/roundrect.d.ts +67 -0
  36. package/build/geometries/roundrect.d.ts.map +1 -0
  37. package/build/geometries/toarccanvas.d.ts +28 -0
  38. package/build/geometries/toarccanvas.d.ts.map +1 -0
  39. package/{dist/types → build}/index.d.ts +41 -45
  40. package/build/index.d.ts.map +1 -0
  41. package/build/index.js +28318 -0
  42. package/build/index.js.map +7 -0
  43. package/{dist/types → build}/input/gamepad.d.ts +3 -11
  44. package/build/input/gamepad.d.ts.map +1 -0
  45. package/{dist/types → build}/input/input.d.ts +4 -2
  46. package/build/input/input.d.ts.map +1 -0
  47. package/build/input/key.d.ts +105 -0
  48. package/build/input/key.d.ts.map +1 -0
  49. package/build/input/keyboard.d.ts +72 -0
  50. package/build/input/keyboard.d.ts.map +1 -0
  51. package/build/input/pointer.d.ts +180 -0
  52. package/build/input/pointer.d.ts.map +1 -0
  53. package/{dist/types → build}/input/pointerevent.d.ts +17 -15
  54. package/build/input/pointerevent.d.ts.map +1 -0
  55. package/{dist/types → build}/lang/console.d.ts +1 -0
  56. package/build/lang/console.d.ts.map +1 -0
  57. package/build/lang/deprecated.d.ts +24 -0
  58. package/build/lang/deprecated.d.ts.map +1 -0
  59. package/{dist/types → build}/level/level.d.ts +7 -7
  60. package/build/level/level.d.ts.map +1 -0
  61. package/{dist/types → build}/level/tiled/TMXGroup.d.ts +2 -2
  62. package/build/level/tiled/TMXGroup.d.ts.map +1 -0
  63. package/{dist/types → build}/level/tiled/TMXLayer.d.ts +4 -4
  64. package/build/level/tiled/TMXLayer.d.ts.map +1 -0
  65. package/{dist/types → build}/level/tiled/TMXObject.d.ts +3 -3
  66. package/build/level/tiled/TMXObject.d.ts.map +1 -0
  67. package/{dist/types → build}/level/tiled/TMXTile.d.ts +4 -5
  68. package/build/level/tiled/TMXTile.d.ts.map +1 -0
  69. package/{dist/types → build}/level/tiled/TMXTileMap.d.ts +4 -4
  70. package/build/level/tiled/TMXTileMap.d.ts.map +1 -0
  71. package/{dist/types → build}/level/tiled/TMXTileset.d.ts +3 -3
  72. package/build/level/tiled/TMXTileset.d.ts.map +1 -0
  73. package/{dist/types → build}/level/tiled/TMXTilesetGroup.d.ts +1 -1
  74. package/build/level/tiled/TMXTilesetGroup.d.ts.map +1 -0
  75. package/{dist/types → build}/level/tiled/TMXUtils.d.ts +2 -1
  76. package/build/level/tiled/TMXUtils.d.ts.map +1 -0
  77. package/{dist/types → build}/level/tiled/constants.d.ts +1 -0
  78. package/build/level/tiled/constants.d.ts.map +1 -0
  79. package/{dist/types → build}/level/tiled/renderer/TMXHexagonalRenderer.d.ts +3 -4
  80. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -0
  81. package/{dist/types → build}/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -3
  82. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -0
  83. package/{dist/types → build}/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +1 -2
  84. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -0
  85. package/{dist/types → build}/level/tiled/renderer/TMXRenderer.d.ts +7 -7
  86. package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -0
  87. package/{dist/types → build}/level/tiled/renderer/TMXStaggeredRenderer.d.ts +1 -2
  88. package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -0
  89. package/{dist/types → build}/level/tiled/renderer/autodetect.d.ts +4 -3
  90. package/build/level/tiled/renderer/autodetect.d.ts.map +1 -0
  91. package/build/loader/cache.d.ts +10 -0
  92. package/build/loader/cache.d.ts.map +1 -0
  93. package/{dist/types → build}/loader/loader.d.ts +29 -53
  94. package/build/loader/loader.d.ts.map +1 -0
  95. package/{dist/types → build}/loader/loadingscreen.d.ts +1 -0
  96. package/build/loader/loadingscreen.d.ts.map +1 -0
  97. package/{dist/types → build}/loader/parsers/binary.d.ts +2 -1
  98. package/build/loader/parsers/binary.d.ts.map +1 -0
  99. package/{dist/types → build}/loader/parsers/compressed_textures/compressed_image.d.ts +1 -0
  100. package/build/loader/parsers/compressed_textures/compressed_image.d.ts.map +1 -0
  101. package/build/loader/parsers/compressed_textures/parseDDS.d.ts +2 -0
  102. package/build/loader/parsers/compressed_textures/parseDDS.d.ts.map +1 -0
  103. package/build/loader/parsers/compressed_textures/parseKTX.d.ts +2 -0
  104. package/build/loader/parsers/compressed_textures/parseKTX.d.ts.map +1 -0
  105. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts +2 -0
  106. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts.map +1 -0
  107. package/build/loader/parsers/compressed_textures/parsePKM.d.ts +2 -0
  108. package/build/loader/parsers/compressed_textures/parsePKM.d.ts.map +1 -0
  109. package/build/loader/parsers/compressed_textures/parsePVR.d.ts +2 -0
  110. package/build/loader/parsers/compressed_textures/parsePVR.d.ts.map +1 -0
  111. package/{dist/types → build}/loader/parsers/fetchdata.d.ts +2 -1
  112. package/build/loader/parsers/fetchdata.d.ts.map +1 -0
  113. package/{dist/types → build}/loader/parsers/fontface.d.ts +2 -1
  114. package/build/loader/parsers/fontface.d.ts.map +1 -0
  115. package/{dist/types → build}/loader/parsers/image.d.ts +2 -1
  116. package/build/loader/parsers/image.d.ts.map +1 -0
  117. package/{dist/types → build}/loader/parsers/json.d.ts +2 -1
  118. package/build/loader/parsers/json.d.ts.map +1 -0
  119. package/{dist/types → build}/loader/parsers/script.d.ts +2 -1
  120. package/build/loader/parsers/script.d.ts.map +1 -0
  121. package/{dist/types → build}/loader/parsers/tmx.d.ts +2 -1
  122. package/build/loader/parsers/tmx.d.ts.map +1 -0
  123. package/{dist/types → build}/loader/parsers/video.d.ts +2 -1
  124. package/build/loader/parsers/video.d.ts.map +1 -0
  125. package/build/math/color.d.ts +192 -0
  126. package/build/math/color.d.ts.map +1 -0
  127. package/build/math/math.d.ts +128 -0
  128. package/build/math/math.d.ts.map +1 -0
  129. package/build/math/matrix2d.d.ts +163 -0
  130. package/build/math/matrix2d.d.ts.map +1 -0
  131. package/build/math/matrix3d.d.ts +188 -0
  132. package/build/math/matrix3d.d.ts.map +1 -0
  133. package/build/math/observableVector2d.d.ts +286 -0
  134. package/build/math/observableVector2d.d.ts.map +1 -0
  135. package/build/math/observableVector2d_old.d.ts +76 -0
  136. package/build/math/observableVector2d_old.d.ts.map +1 -0
  137. package/build/math/observableVector3d.d.ts +283 -0
  138. package/build/math/observableVector3d.d.ts.map +1 -0
  139. package/build/math/observableVector3d_old.d.ts +81 -0
  140. package/build/math/observableVector3d_old.d.ts.map +1 -0
  141. package/build/math/vector2d.d.ts +253 -0
  142. package/build/math/vector2d.d.ts.map +1 -0
  143. package/build/math/vector3d.d.ts +242 -0
  144. package/build/math/vector3d.d.ts.map +1 -0
  145. package/{dist/types → build}/particles/emitter.d.ts +16 -40
  146. package/build/particles/emitter.d.ts.map +1 -0
  147. package/build/particles/particle.d.ts +47 -0
  148. package/build/particles/particle.d.ts.map +1 -0
  149. package/{dist/types → build}/particles/settings.d.ts +1 -0
  150. package/build/particles/settings.d.ts.map +1 -0
  151. package/{dist/types → build}/physics/body.d.ts +39 -21
  152. package/build/physics/body.d.ts.map +1 -0
  153. package/build/physics/bounds.d.ts +192 -0
  154. package/build/physics/bounds.d.ts.map +1 -0
  155. package/{dist/types → build}/physics/collision.d.ts +6 -4
  156. package/build/physics/collision.d.ts.map +1 -0
  157. package/{dist/types → build}/physics/detector.d.ts +13 -5
  158. package/build/physics/detector.d.ts.map +1 -0
  159. package/{dist/types → build}/physics/quadtree.d.ts +7 -18
  160. package/build/physics/quadtree.d.ts.map +1 -0
  161. package/{dist/types → build}/physics/response.d.ts +46 -5
  162. package/build/physics/response.d.ts.map +1 -0
  163. package/{dist/types → build}/physics/sat.d.ts +8 -0
  164. package/build/physics/sat.d.ts.map +1 -0
  165. package/{dist/types → build}/physics/world.d.ts +9 -4
  166. package/build/physics/world.d.ts.map +1 -0
  167. package/{dist/types → build}/plugin/plugin.d.ts +11 -18
  168. package/build/plugin/plugin.d.ts.map +1 -0
  169. package/build/polyfill/console.d.ts +2 -0
  170. package/build/polyfill/console.d.ts.map +1 -0
  171. package/build/polyfill/index.d.ts +6 -0
  172. package/build/polyfill/index.d.ts.map +1 -0
  173. package/build/polyfill/roundrect.d.ts +2 -0
  174. package/build/polyfill/roundrect.d.ts.map +1 -0
  175. package/build/pool.d.ts +39 -0
  176. package/build/pool.d.ts.map +1 -0
  177. package/{dist/types → build}/renderable/collectable.d.ts +2 -2
  178. package/build/renderable/collectable.d.ts.map +1 -0
  179. package/build/renderable/colorlayer.d.ts +41 -0
  180. package/build/renderable/colorlayer.d.ts.map +1 -0
  181. package/{dist/types → build}/renderable/container.d.ts +50 -19
  182. package/build/renderable/container.d.ts.map +1 -0
  183. package/{dist/types → build}/renderable/draggable.d.ts +5 -13
  184. package/build/renderable/draggable.d.ts.map +1 -0
  185. package/{dist/types → build}/renderable/dragndrop.d.ts +12 -21
  186. package/build/renderable/dragndrop.d.ts.map +1 -0
  187. package/{dist/types → build}/renderable/entity/entity.d.ts +17 -11
  188. package/build/renderable/entity/entity.d.ts.map +1 -0
  189. package/{dist/types → build}/renderable/imagelayer.d.ts +28 -8
  190. package/build/renderable/imagelayer.d.ts.map +1 -0
  191. package/build/renderable/light2d.d.ts +73 -0
  192. package/build/renderable/light2d.d.ts.map +1 -0
  193. package/{dist/types → build}/renderable/nineslicesprite.d.ts +9 -3
  194. package/build/renderable/nineslicesprite.d.ts.map +1 -0
  195. package/{dist/types → build}/renderable/renderable.d.ts +71 -50
  196. package/build/renderable/renderable.d.ts.map +1 -0
  197. package/{dist/types → build}/renderable/sprite.d.ts +34 -13
  198. package/build/renderable/sprite.d.ts.map +1 -0
  199. package/{dist/types → build}/renderable/text/bitmaptext.d.ts +7 -8
  200. package/build/renderable/text/bitmaptext.d.ts.map +1 -0
  201. package/build/renderable/text/bitmaptextdata.d.ts +17 -0
  202. package/build/renderable/text/bitmaptextdata.d.ts.map +1 -0
  203. package/{dist/types → build}/renderable/text/glyph.d.ts +15 -3
  204. package/build/renderable/text/glyph.d.ts.map +1 -0
  205. package/{dist/types → build}/renderable/text/text.d.ts +7 -16
  206. package/build/renderable/text/text.d.ts.map +1 -0
  207. package/{dist/types → build}/renderable/text/textmetrics.d.ts +8 -9
  208. package/build/renderable/text/textmetrics.d.ts.map +1 -0
  209. package/{dist/types → build}/renderable/text/textstyle.d.ts +1 -0
  210. package/build/renderable/text/textstyle.d.ts.map +1 -0
  211. package/{dist/types → build}/renderable/trigger.d.ts +22 -7
  212. package/build/renderable/trigger.d.ts.map +1 -0
  213. package/{dist/types → build}/renderable/ui/uibaseelement.d.ts +7 -7
  214. package/build/renderable/ui/uibaseelement.d.ts.map +1 -0
  215. package/{dist/types → build}/renderable/ui/uispriteelement.d.ts +4 -6
  216. package/build/renderable/ui/uispriteelement.d.ts.map +1 -0
  217. package/{dist/types → build}/renderable/ui/uitextbutton.d.ts +17 -4
  218. package/build/renderable/ui/uitextbutton.d.ts.map +1 -0
  219. package/{dist/types → build}/state/stage.d.ts +3 -3
  220. package/build/state/stage.d.ts.map +1 -0
  221. package/{dist/types → build}/state/state.d.ts +10 -9
  222. package/build/state/state.d.ts.map +1 -0
  223. package/{dist/types → build}/system/device.d.ts +49 -80
  224. package/build/system/device.d.ts.map +1 -0
  225. package/build/system/dom.d.ts +2 -0
  226. package/build/system/dom.d.ts.map +1 -0
  227. package/{dist/types → build}/system/event.d.ts +124 -291
  228. package/build/system/event.d.ts.map +1 -0
  229. package/build/system/eventEmitter.d.ts +19 -0
  230. package/build/system/eventEmitter.d.ts.map +1 -0
  231. package/build/system/eventEmitter.spec.d.ts +2 -0
  232. package/build/system/eventEmitter.spec.d.ts.map +1 -0
  233. package/{dist/types/system/pooling.d.ts → build/system/legacy_pool.d.ts} +22 -7
  234. package/build/system/legacy_pool.d.ts.map +1 -0
  235. package/build/system/platform.d.ts +34 -0
  236. package/build/system/platform.d.ts.map +1 -0
  237. package/build/system/pool.d.ts +26 -0
  238. package/build/system/pool.d.ts.map +1 -0
  239. package/build/system/save.d.ts +3 -0
  240. package/build/system/save.d.ts.map +1 -0
  241. package/build/system/timer.d.ts +118 -0
  242. package/build/system/timer.d.ts.map +1 -0
  243. package/build/tweens/easing.d.ts +93 -0
  244. package/build/tweens/easing.d.ts.map +1 -0
  245. package/build/tweens/interpolation.d.ts +7 -0
  246. package/build/tweens/interpolation.d.ts.map +1 -0
  247. package/build/tweens/tween.d.ts +234 -0
  248. package/build/tweens/tween.d.ts.map +1 -0
  249. package/build/utils/agent.d.ts +16 -0
  250. package/build/utils/agent.d.ts.map +1 -0
  251. package/build/utils/array-multimap.d.ts +14 -0
  252. package/build/utils/array-multimap.d.ts.map +1 -0
  253. package/build/utils/array.d.ts +30 -0
  254. package/build/utils/array.d.ts.map +1 -0
  255. package/build/utils/file.d.ts +16 -0
  256. package/build/utils/file.d.ts.map +1 -0
  257. package/build/utils/function.d.ts +24 -0
  258. package/build/utils/function.d.ts.map +1 -0
  259. package/build/utils/semver.d.ts +2 -0
  260. package/build/utils/semver.d.ts.map +1 -0
  261. package/build/utils/string.d.ts +35 -0
  262. package/build/utils/string.d.ts.map +1 -0
  263. package/build/utils/types.d.ts +5 -0
  264. package/build/utils/types.d.ts.map +1 -0
  265. package/build/utils/utils.d.ts +49 -0
  266. package/build/utils/utils.d.ts.map +1 -0
  267. package/build/version.d.ts +5 -0
  268. package/build/version.d.ts.map +1 -0
  269. package/{dist/types → build}/video/canvas/canvas_renderer.d.ts +58 -22
  270. package/build/video/canvas/canvas_renderer.d.ts.map +1 -0
  271. package/{dist/types → build}/video/renderer.d.ts +38 -17
  272. package/build/video/renderer.d.ts.map +1 -0
  273. package/{dist/types → build}/video/rendertarget/canvasrendertarget.d.ts +20 -10
  274. package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -0
  275. package/{dist/types → build}/video/texture/atlas.d.ts +14 -9
  276. package/build/video/texture/atlas.d.ts.map +1 -0
  277. package/{dist/types → build}/video/texture/cache.d.ts +4 -3
  278. package/build/video/texture/cache.d.ts.map +1 -0
  279. package/{dist/types → build}/video/texture/parser/aseprite.d.ts +1 -0
  280. package/build/video/texture/parser/aseprite.d.ts.map +1 -0
  281. package/{dist/types → build}/video/texture/parser/spritesheet.d.ts +1 -0
  282. package/build/video/texture/parser/spritesheet.d.ts.map +1 -0
  283. package/{dist/types → build}/video/texture/parser/texturepacker.d.ts +1 -0
  284. package/build/video/texture/parser/texturepacker.d.ts.map +1 -0
  285. package/build/video/utils/autodetect.d.ts +8 -0
  286. package/build/video/utils/autodetect.d.ts.map +1 -0
  287. package/{dist/types → build}/video/video.d.ts +4 -3
  288. package/build/video/video.d.ts.map +1 -0
  289. package/{dist/types → build}/video/webgl/buffer/vertex.d.ts +5 -6
  290. package/build/video/webgl/buffer/vertex.d.ts.map +1 -0
  291. package/{dist/types → build}/video/webgl/compositors/compositor.d.ts +9 -2
  292. package/build/video/webgl/compositors/compositor.d.ts.map +1 -0
  293. package/{dist/types → build}/video/webgl/compositors/primitive_compositor.d.ts +7 -3
  294. package/build/video/webgl/compositors/primitive_compositor.d.ts.map +1 -0
  295. package/{dist/types → build}/video/webgl/compositors/quad_compositor.d.ts +5 -5
  296. package/build/video/webgl/compositors/quad_compositor.d.ts.map +1 -0
  297. package/{dist/types → build}/video/webgl/glshader.d.ts +2 -2
  298. package/build/video/webgl/glshader.d.ts.map +1 -0
  299. package/{dist/types → build}/video/webgl/utils/attributes.d.ts +1 -0
  300. package/build/video/webgl/utils/attributes.d.ts.map +1 -0
  301. package/{dist/types → build}/video/webgl/utils/precision.d.ts +1 -0
  302. package/build/video/webgl/utils/precision.d.ts.map +1 -0
  303. package/{dist/types → build}/video/webgl/utils/program.d.ts +1 -0
  304. package/build/video/webgl/utils/program.d.ts.map +1 -0
  305. package/{dist/types → build}/video/webgl/utils/string.d.ts +1 -0
  306. package/build/video/webgl/utils/string.d.ts.map +1 -0
  307. package/{dist/types → build}/video/webgl/utils/uniforms.d.ts +1 -0
  308. package/build/video/webgl/utils/uniforms.d.ts.map +1 -0
  309. package/{dist/types → build}/video/webgl/webgl_renderer.d.ts +55 -43
  310. package/build/video/webgl/webgl_renderer.d.ts.map +1 -0
  311. package/package.json +83 -105
  312. package/LICENSE.md +0 -21
  313. package/README.md +0 -223
  314. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +0 -14
  315. package/dist/melonjs.mjs/_virtual/earcut.js +0 -10
  316. package/dist/melonjs.mjs/_virtual/howler.js +0 -10
  317. package/dist/melonjs.mjs/_virtual/index.js +0 -10
  318. package/dist/melonjs.mjs/_virtual/re.js +0 -10
  319. package/dist/melonjs.mjs/application/application.js +0 -437
  320. package/dist/melonjs.mjs/application/header.js +0 -35
  321. package/dist/melonjs.mjs/application/resize.js +0 -123
  322. package/dist/melonjs.mjs/application/settings.js +0 -65
  323. package/dist/melonjs.mjs/audio/audio.js +0 -618
  324. package/dist/melonjs.mjs/camera/camera2d.js +0 -729
  325. package/dist/melonjs.mjs/const.js +0 -32
  326. package/dist/melonjs.mjs/geometries/ellipse.js +0 -245
  327. package/dist/melonjs.mjs/geometries/line.js +0 -108
  328. package/dist/melonjs.mjs/geometries/path2d.js +0 -474
  329. package/dist/melonjs.mjs/geometries/point.js +0 -80
  330. package/dist/melonjs.mjs/geometries/poly.js +0 -433
  331. package/dist/melonjs.mjs/geometries/rectangle.js +0 -330
  332. package/dist/melonjs.mjs/geometries/roundrect.js +0 -165
  333. package/dist/melonjs.mjs/geometries/toarccanvas.js +0 -103
  334. package/dist/melonjs.mjs/index.js +0 -239
  335. package/dist/melonjs.mjs/input/gamepad.js +0 -495
  336. package/dist/melonjs.mjs/input/input.js +0 -26
  337. package/dist/melonjs.mjs/input/keyboard.js +0 -470
  338. package/dist/melonjs.mjs/input/pointer.js +0 -393
  339. package/dist/melonjs.mjs/input/pointerevent.js +0 -803
  340. package/dist/melonjs.mjs/lang/console.js +0 -44
  341. package/dist/melonjs.mjs/lang/deprecated.js +0 -200
  342. package/dist/melonjs.mjs/level/level.js +0 -298
  343. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +0 -120
  344. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +0 -432
  345. package/dist/melonjs.mjs/level/tiled/TMXObject.js +0 -295
  346. package/dist/melonjs.mjs/level/tiled/TMXTile.js +0 -177
  347. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +0 -574
  348. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +0 -292
  349. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +0 -74
  350. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +0 -417
  351. package/dist/melonjs.mjs/level/tiled/constants.js +0 -17
  352. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +0 -503
  353. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +0 -215
  354. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -155
  355. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +0 -113
  356. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +0 -107
  357. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +0 -38
  358. package/dist/melonjs.mjs/loader/cache.js +0 -30
  359. package/dist/melonjs.mjs/loader/loader.js +0 -728
  360. package/dist/melonjs.mjs/loader/loadingscreen.js +0 -118
  361. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +0 -10
  362. package/dist/melonjs.mjs/loader/parsers/binary.js +0 -42
  363. package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +0 -58
  364. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +0 -13
  365. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +0 -13
  366. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +0 -13
  367. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +0 -13
  368. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +0 -136
  369. package/dist/melonjs.mjs/loader/parsers/fetchdata.js +0 -62
  370. package/dist/melonjs.mjs/loader/parsers/fontface.js +0 -62
  371. package/dist/melonjs.mjs/loader/parsers/image.js +0 -129
  372. package/dist/melonjs.mjs/loader/parsers/json.js +0 -43
  373. package/dist/melonjs.mjs/loader/parsers/script.js +0 -46
  374. package/dist/melonjs.mjs/loader/parsers/tmx.js +0 -103
  375. package/dist/melonjs.mjs/loader/parsers/video.js +0 -99
  376. package/dist/melonjs.mjs/math/color.js +0 -635
  377. package/dist/melonjs.mjs/math/math.js +0 -221
  378. package/dist/melonjs.mjs/math/matrix2.js +0 -487
  379. package/dist/melonjs.mjs/math/matrix3.js +0 -621
  380. package/dist/melonjs.mjs/math/observable_vector2.js +0 -468
  381. package/dist/melonjs.mjs/math/observable_vector3.js +0 -558
  382. package/dist/melonjs.mjs/math/vector2.js +0 -431
  383. package/dist/melonjs.mjs/math/vector3.js +0 -468
  384. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +0 -45
  385. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +0 -130
  386. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +0 -694
  387. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +0 -352
  388. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +0 -12
  389. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +0 -3246
  390. package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +0 -165
  391. package/dist/melonjs.mjs/node_modules/semver/classes/range.js +0 -565
  392. package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +0 -317
  393. package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +0 -17
  394. package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +0 -68
  395. package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +0 -73
  396. package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +0 -18
  397. package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +0 -14
  398. package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +0 -16
  399. package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +0 -76
  400. package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +0 -14
  401. package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +0 -14
  402. package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +0 -14
  403. package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +0 -30
  404. package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +0 -14
  405. package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +0 -14
  406. package/dist/melonjs.mjs/node_modules/semver/functions/major.js +0 -14
  407. package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +0 -14
  408. package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +0 -14
  409. package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +0 -27
  410. package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +0 -14
  411. package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +0 -17
  412. package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +0 -14
  413. package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +0 -14
  414. package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +0 -21
  415. package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +0 -14
  416. package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +0 -17
  417. package/dist/melonjs.mjs/node_modules/semver/index.js +0 -140
  418. package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +0 -44
  419. package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +0 -18
  420. package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +0 -32
  421. package/dist/melonjs.mjs/node_modules/semver/internal/lrucache.js +0 -49
  422. package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +0 -24
  423. package/dist/melonjs.mjs/node_modules/semver/internal/re.js +0 -234
  424. package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +0 -15
  425. package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +0 -18
  426. package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +0 -15
  427. package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +0 -37
  428. package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +0 -36
  429. package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +0 -74
  430. package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +0 -98
  431. package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +0 -59
  432. package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +0 -261
  433. package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +0 -19
  434. package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +0 -22
  435. package/dist/melonjs.mjs/particles/emitter.js +0 -265
  436. package/dist/melonjs.mjs/particles/particle.js +0 -186
  437. package/dist/melonjs.mjs/particles/settings.js +0 -317
  438. package/dist/melonjs.mjs/physics/body.js +0 -706
  439. package/dist/melonjs.mjs/physics/bounds.js +0 -409
  440. package/dist/melonjs.mjs/physics/collision.js +0 -130
  441. package/dist/melonjs.mjs/physics/detector.js +0 -218
  442. package/dist/melonjs.mjs/physics/quadtree.js +0 -396
  443. package/dist/melonjs.mjs/physics/response.js +0 -57
  444. package/dist/melonjs.mjs/physics/sat.js +0 -483
  445. package/dist/melonjs.mjs/physics/world.js +0 -224
  446. package/dist/melonjs.mjs/plugin/plugin.js +0 -168
  447. package/dist/melonjs.mjs/renderable/collectable.js +0 -60
  448. package/dist/melonjs.mjs/renderable/colorlayer.js +0 -78
  449. package/dist/melonjs.mjs/renderable/container.js +0 -994
  450. package/dist/melonjs.mjs/renderable/draggable.js +0 -121
  451. package/dist/melonjs.mjs/renderable/dragndrop.js +0 -114
  452. package/dist/melonjs.mjs/renderable/entity/entity.js +0 -254
  453. package/dist/melonjs.mjs/renderable/imagelayer.js +0 -288
  454. package/dist/melonjs.mjs/renderable/light2d.js +0 -164
  455. package/dist/melonjs.mjs/renderable/nineslicesprite.js +0 -242
  456. package/dist/melonjs.mjs/renderable/renderable.js +0 -860
  457. package/dist/melonjs.mjs/renderable/sprite.js +0 -694
  458. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +0 -421
  459. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +0 -195
  460. package/dist/melonjs.mjs/renderable/text/glyph.js +0 -65
  461. package/dist/melonjs.mjs/renderable/text/text.js +0 -424
  462. package/dist/melonjs.mjs/renderable/text/textmetrics.js +0 -176
  463. package/dist/melonjs.mjs/renderable/text/textstyle.js +0 -21
  464. package/dist/melonjs.mjs/renderable/trigger.js +0 -158
  465. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +0 -285
  466. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +0 -231
  467. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +0 -146
  468. package/dist/melonjs.mjs/state/stage.js +0 -235
  469. package/dist/melonjs.mjs/state/state.js +0 -548
  470. package/dist/melonjs.mjs/system/device.js +0 -872
  471. package/dist/melonjs.mjs/system/dom.js +0 -79
  472. package/dist/melonjs.mjs/system/event.js +0 -606
  473. package/dist/melonjs.mjs/system/platform.js +0 -43
  474. package/dist/melonjs.mjs/system/pooling.js +0 -182
  475. package/dist/melonjs.mjs/system/save.js +0 -157
  476. package/dist/melonjs.mjs/system/timer.js +0 -274
  477. package/dist/melonjs.mjs/tweens/easing.js +0 -334
  478. package/dist/melonjs.mjs/tweens/interpolation.js +0 -112
  479. package/dist/melonjs.mjs/tweens/tween.js +0 -479
  480. package/dist/melonjs.mjs/utils/agent.js +0 -77
  481. package/dist/melonjs.mjs/utils/array.js +0 -63
  482. package/dist/melonjs.mjs/utils/file.js +0 -54
  483. package/dist/melonjs.mjs/utils/function.js +0 -69
  484. package/dist/melonjs.mjs/utils/string.js +0 -82
  485. package/dist/melonjs.mjs/utils/utils.js +0 -139
  486. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +0 -883
  487. package/dist/melonjs.mjs/video/renderer.js +0 -393
  488. package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +0 -310
  489. package/dist/melonjs.mjs/video/texture/atlas.js +0 -460
  490. package/dist/melonjs.mjs/video/texture/cache.js +0 -186
  491. package/dist/melonjs.mjs/video/texture/parser/aseprite.js +0 -78
  492. package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +0 -77
  493. package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +0 -64
  494. package/dist/melonjs.mjs/video/utils/autodetect.js +0 -27
  495. package/dist/melonjs.mjs/video/video.js +0 -142
  496. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +0 -146
  497. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +0 -234
  498. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +0 -77
  499. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +0 -254
  500. package/dist/melonjs.mjs/video/webgl/glshader.js +0 -166
  501. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +0 -10
  502. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +0 -10
  503. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +0 -10
  504. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +0 -10
  505. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +0 -25
  506. package/dist/melonjs.mjs/video/webgl/utils/precision.js +0 -38
  507. package/dist/melonjs.mjs/video/webgl/utils/program.js +0 -67
  508. package/dist/melonjs.mjs/video/webgl/utils/string.js +0 -25
  509. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +0 -92
  510. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +0 -1199
  511. package/dist/melonjs.module.js +0 -42838
  512. package/dist/types/application/header.d.ts +0 -5
  513. package/dist/types/application/settings.d.ts +0 -105
  514. package/dist/types/const.d.ts +0 -21
  515. package/dist/types/geometries/ellipse.d.ts +0 -127
  516. package/dist/types/geometries/line.d.ts +0 -11
  517. package/dist/types/geometries/point.d.ts +0 -46
  518. package/dist/types/geometries/poly.d.ts +0 -175
  519. package/dist/types/geometries/rectangle.d.ts +0 -130
  520. package/dist/types/geometries/roundrect.d.ts +0 -43
  521. package/dist/types/geometries/toarccanvas.d.ts +0 -10
  522. package/dist/types/input/keyboard.d.ts +0 -205
  523. package/dist/types/input/pointer.d.ts +0 -261
  524. package/dist/types/lang/deprecated.d.ts +0 -68
  525. package/dist/types/loader/cache.d.ts +0 -9
  526. package/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts +0 -1
  527. package/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts +0 -1
  528. package/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts +0 -1
  529. package/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts +0 -1
  530. package/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts +0 -1
  531. package/dist/types/math/color.d.ts +0 -179
  532. package/dist/types/math/math.d.ts +0 -149
  533. package/dist/types/math/matrix2.d.ts +0 -165
  534. package/dist/types/math/matrix3.d.ts +0 -177
  535. package/dist/types/math/observable_vector2.d.ts +0 -278
  536. package/dist/types/math/observable_vector3.d.ts +0 -277
  537. package/dist/types/math/vector2.d.ts +0 -255
  538. package/dist/types/math/vector3.d.ts +0 -266
  539. package/dist/types/particles/particle.d.ts +0 -32
  540. package/dist/types/physics/bounds.d.ts +0 -195
  541. package/dist/types/polyfill/console.d.ts +0 -1
  542. package/dist/types/polyfill/index.d.ts +0 -1
  543. package/dist/types/polyfill/roundrect.d.ts +0 -1
  544. package/dist/types/renderable/colorlayer.d.ts +0 -28
  545. package/dist/types/renderable/light2d.d.ts +0 -58
  546. package/dist/types/renderable/text/bitmaptextdata.d.ts +0 -35
  547. package/dist/types/system/dom.d.ts +0 -1
  548. package/dist/types/system/platform.d.ts +0 -33
  549. package/dist/types/system/save.d.ts +0 -25
  550. package/dist/types/system/timer.d.ts +0 -126
  551. package/dist/types/tweens/easing.d.ts +0 -46
  552. package/dist/types/tweens/interpolation.d.ts +0 -18
  553. package/dist/types/tweens/tween.d.ts +0 -195
  554. package/dist/types/utils/agent.d.ts +0 -21
  555. package/dist/types/utils/array.d.ts +0 -39
  556. package/dist/types/utils/file.d.ts +0 -27
  557. package/dist/types/utils/function.d.ts +0 -31
  558. package/dist/types/utils/string.d.ts +0 -50
  559. package/dist/types/utils/utils.d.ts +0 -54
  560. package/dist/types/video/utils/autodetect.d.ts +0 -5
  561. package/src/application/application.js +0 -429
  562. package/src/application/header.js +0 -26
  563. package/src/application/resize.js +0 -114
  564. package/src/application/settings.js +0 -56
  565. package/src/audio/audio.js +0 -617
  566. package/src/camera/camera2d.js +0 -724
  567. package/src/const.js +0 -23
  568. package/src/geometries/ellipse.js +0 -236
  569. package/src/geometries/line.js +0 -99
  570. package/src/geometries/path2d.js +0 -464
  571. package/src/geometries/point.js +0 -71
  572. package/src/geometries/poly.js +0 -424
  573. package/src/geometries/rectangle.js +0 -321
  574. package/src/geometries/roundrect.js +0 -156
  575. package/src/geometries/toarccanvas.js +0 -94
  576. package/src/index.js +0 -315
  577. package/src/input/gamepad.js +0 -487
  578. package/src/input/input.js +0 -17
  579. package/src/input/keyboard.js +0 -461
  580. package/src/input/pointer.js +0 -386
  581. package/src/input/pointerevent.js +0 -794
  582. package/src/lang/console.js +0 -36
  583. package/src/lang/deprecated.js +0 -192
  584. package/src/level/level.js +0 -290
  585. package/src/level/tiled/TMXGroup.js +0 -111
  586. package/src/level/tiled/TMXLayer.js +0 -424
  587. package/src/level/tiled/TMXObject.js +0 -286
  588. package/src/level/tiled/TMXTile.js +0 -168
  589. package/src/level/tiled/TMXTileMap.js +0 -569
  590. package/src/level/tiled/TMXTileset.js +0 -284
  591. package/src/level/tiled/TMXTilesetGroup.js +0 -66
  592. package/src/level/tiled/TMXUtils.js +0 -408
  593. package/src/level/tiled/constants.js +0 -8
  594. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +0 -497
  595. package/src/level/tiled/renderer/TMXIsometricRenderer.js +0 -208
  596. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -149
  597. package/src/level/tiled/renderer/TMXRenderer.js +0 -103
  598. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +0 -100
  599. package/src/level/tiled/renderer/autodetect.js +0 -29
  600. package/src/loader/cache.js +0 -22
  601. package/src/loader/loader.js +0 -727
  602. package/src/loader/loadingscreen.js +0 -112
  603. package/src/loader/melonjs_logo.png +0 -0
  604. package/src/loader/parsers/binary.js +0 -33
  605. package/src/loader/parsers/compressed_textures/compressed_image.js +0 -49
  606. package/src/loader/parsers/compressed_textures/parseDDS.js +0 -5
  607. package/src/loader/parsers/compressed_textures/parseKTX.js +0 -5
  608. package/src/loader/parsers/compressed_textures/parseKTX2.js +0 -5
  609. package/src/loader/parsers/compressed_textures/parsePKM.js +0 -5
  610. package/src/loader/parsers/compressed_textures/parsePVR.js +0 -127
  611. package/src/loader/parsers/fetchdata.js +0 -53
  612. package/src/loader/parsers/fontface.js +0 -54
  613. package/src/loader/parsers/image.js +0 -120
  614. package/src/loader/parsers/json.js +0 -35
  615. package/src/loader/parsers/script.js +0 -37
  616. package/src/loader/parsers/tmx.js +0 -95
  617. package/src/loader/parsers/video.js +0 -90
  618. package/src/math/color.js +0 -627
  619. package/src/math/math.js +0 -212
  620. package/src/math/matrix2.js +0 -479
  621. package/src/math/matrix3.js +0 -613
  622. package/src/math/observable_vector2.js +0 -460
  623. package/src/math/observable_vector3.js +0 -550
  624. package/src/math/vector2.js +0 -423
  625. package/src/math/vector3.js +0 -460
  626. package/src/particles/emitter.js +0 -258
  627. package/src/particles/particle.js +0 -178
  628. package/src/particles/settings.js +0 -310
  629. package/src/physics/body.js +0 -698
  630. package/src/physics/bounds.js +0 -401
  631. package/src/physics/collision.js +0 -123
  632. package/src/physics/detector.js +0 -209
  633. package/src/physics/quadtree.js +0 -387
  634. package/src/physics/response.js +0 -48
  635. package/src/physics/sat.js +0 -473
  636. package/src/physics/world.js +0 -216
  637. package/src/plugin/plugin.js +0 -159
  638. package/src/polyfill/console.js +0 -11
  639. package/src/polyfill/index.js +0 -13
  640. package/src/polyfill/roundrect.js +0 -237
  641. package/src/renderable/collectable.js +0 -51
  642. package/src/renderable/colorlayer.js +0 -70
  643. package/src/renderable/container.js +0 -985
  644. package/src/renderable/draggable.js +0 -114
  645. package/src/renderable/dragndrop.js +0 -106
  646. package/src/renderable/entity/entity.js +0 -246
  647. package/src/renderable/imagelayer.js +0 -280
  648. package/src/renderable/light2d.js +0 -155
  649. package/src/renderable/nineslicesprite.js +0 -233
  650. package/src/renderable/renderable.js +0 -852
  651. package/src/renderable/sprite.js +0 -685
  652. package/src/renderable/text/bitmaptext.js +0 -418
  653. package/src/renderable/text/bitmaptextdata.js +0 -186
  654. package/src/renderable/text/glyph.js +0 -57
  655. package/src/renderable/text/text.js +0 -415
  656. package/src/renderable/text/textmetrics.js +0 -167
  657. package/src/renderable/text/textstyle.js +0 -12
  658. package/src/renderable/trigger.js +0 -149
  659. package/src/renderable/ui/uibaseelement.js +0 -276
  660. package/src/renderable/ui/uispriteelement.js +0 -223
  661. package/src/renderable/ui/uitextbutton.js +0 -140
  662. package/src/state/stage.js +0 -226
  663. package/src/state/state.js +0 -541
  664. package/src/system/device.js +0 -863
  665. package/src/system/dom.js +0 -70
  666. package/src/system/event.js +0 -597
  667. package/src/system/platform.js +0 -34
  668. package/src/system/pooling.js +0 -190
  669. package/src/system/save.js +0 -148
  670. package/src/system/timer.js +0 -281
  671. package/src/tweens/easing.js +0 -325
  672. package/src/tweens/interpolation.js +0 -103
  673. package/src/tweens/tween.js +0 -470
  674. package/src/utils/agent.js +0 -68
  675. package/src/utils/array.js +0 -54
  676. package/src/utils/file.js +0 -46
  677. package/src/utils/function.js +0 -60
  678. package/src/utils/string.js +0 -73
  679. package/src/utils/utils.js +0 -127
  680. package/src/video/canvas/canvas_renderer.js +0 -874
  681. package/src/video/renderer.js +0 -384
  682. package/src/video/rendertarget/canvasrendertarget.js +0 -303
  683. package/src/video/texture/atlas.js +0 -451
  684. package/src/video/texture/cache.js +0 -178
  685. package/src/video/texture/parser/aseprite.js +0 -69
  686. package/src/video/texture/parser/spritesheet.js +0 -68
  687. package/src/video/texture/parser/texturepacker.js +0 -55
  688. package/src/video/utils/autodetect.js +0 -18
  689. package/src/video/video.js +0 -160
  690. package/src/video/webgl/buffer/vertex.js +0 -137
  691. package/src/video/webgl/compositors/compositor.js +0 -225
  692. package/src/video/webgl/compositors/primitive_compositor.js +0 -68
  693. package/src/video/webgl/compositors/quad_compositor.js +0 -245
  694. package/src/video/webgl/glshader.js +0 -158
  695. package/src/video/webgl/shaders/primitive.frag +0 -5
  696. package/src/video/webgl/shaders/primitive.vert +0 -15
  697. package/src/video/webgl/shaders/quad.frag +0 -7
  698. package/src/video/webgl/shaders/quad.vert +0 -18
  699. package/src/video/webgl/utils/attributes.js +0 -16
  700. package/src/video/webgl/utils/precision.js +0 -29
  701. package/src/video/webgl/utils/program.js +0 -58
  702. package/src/video/webgl/utils/string.js +0 -16
  703. package/src/video/webgl/utils/uniforms.js +0 -84
  704. package/src/video/webgl/webgl_renderer.js +0 -1190
@@ -1,994 +0,0 @@
1
- /*!
2
- * melonJS Game Engine - v17.3.0
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 - 2024 Olivier Biot (AltByte Pte Ltd)
7
- */
8
- import Renderable from './renderable.js';
9
- import { createGUID } from '../utils/utils.js';
10
- import { defer } from '../utils/function.js';
11
- import { game } from '../index.js';
12
- import { on, CANVAS_ONRESIZE } from '../system/event.js';
13
- import pool from '../system/pooling.js';
14
- import state from '../state/state.js';
15
- import Body from '../physics/body.js';
16
-
17
- /**
18
- * Private function to re-use for object removal in a defer
19
- * @ignore
20
- */
21
- function deferredRemove(child, keepalive) {
22
- this.removeChildNow(child, keepalive);
23
- }
24
-
25
- let globalFloatingCounter = 0;
26
-
27
- /**
28
- * @classdesc
29
- * Container represents a collection of child objects
30
- * @augments Renderable
31
- */
32
- class Container extends Renderable {
33
- /**
34
- * @param {number} [x=0] - position of the container (accessible via the inherited pos.x property)
35
- * @param {number} [y=0] - position of the container (accessible via the inherited pos.y property)
36
- * @param {number} [width=game.viewport.width] - width of the container
37
- * @param {number} [height=game.viewport.height] - height of the container
38
- */
39
- constructor(x = 0, y = 0, width, height, root = false) {
40
-
41
- // call the super constructor
42
- super(
43
- x, y,
44
- typeof width === "undefined" ? (typeof game.viewport !== "undefined" ? game.viewport.width : Infinity) : width,
45
- typeof height === "undefined" ? (typeof game.viewport !== "undefined" ? game.viewport.height : Infinity) : height
46
- );
47
-
48
- /**
49
- * keep track of pending sort
50
- * @ignore
51
- */
52
- this.pendingSort = null;
53
-
54
- /**
55
- * whether the container is the root of the scene
56
- * @type {boolean}
57
- * @default false
58
- */
59
- this.root = root;
60
-
61
- /**
62
- * The array of children of this container.
63
- * @ignore
64
- */
65
- this.children = undefined;
66
-
67
- /**
68
- * The property of the child object that should be used to sort on this container
69
- * value : "x", "y", "z"
70
- * @type {string}
71
- * @default "z"
72
- */
73
- this.sortOn = "z";
74
-
75
- /**
76
- * Specify if the children list should be automatically sorted when adding a new child
77
- * @type {boolean}
78
- * @default true
79
- */
80
- this.autoSort = true;
81
-
82
- /**
83
- * Specify if the children z index should automatically be managed by the parent container
84
- * @type {boolean}
85
- * @default true
86
- */
87
- this.autoDepth = true;
88
-
89
- /**
90
- * Specify if the container draw operation should clip his children to its own bounds
91
- * @type {boolean}
92
- * @default false
93
- */
94
- this.clipping = false;
95
-
96
- /**
97
- * a callback to be extended, triggered after a child has been added or removed
98
- * @param {number} index - added or removed child index
99
- */
100
- this.onChildChange = function (index) { // eslint-disable-line no-unused-vars
101
- // to be extended
102
- };
103
-
104
- /**
105
- * Specify if the container bounds should automatically take in account
106
- * all child bounds when updated (this is expensive and disabled by default,
107
- * only enable if necessary)
108
- * @type {boolean}
109
- * @default false
110
- */
111
- this.enableChildBoundsUpdate = false;
112
-
113
- /**
114
- * define a background color for this container
115
- * @type {Color}
116
- * @default (0, 0, 0, 0.0)
117
- * @example
118
- * // add a red background color to this container
119
- * this.backgroundColor.setColor(255, 0, 0);
120
- */
121
- this.backgroundColor = pool.pull("Color", 0, 0, 0, 0.0);
122
-
123
- /**
124
- * Used by the debug panel plugin
125
- * @ignore
126
- */
127
- this.drawCount = 0;
128
-
129
- // container self apply any defined transformation
130
- this.autoTransform = true;
131
-
132
- // enable collision and event detection
133
- this.isKinematic = false;
134
-
135
- this.anchorPoint.set(0, 0);
136
-
137
- // subscribe on the canvas resize event
138
- if (this.root === true) {
139
- // Workaround for not updating container child-bounds automatically (it's expensive!)
140
- on(CANVAS_ONRESIZE, () => {
141
- // temporarly enable the enableChildBoundsUpdate flag
142
- this.enableChildBoundsUpdate === true;
143
- // update bounds
144
- this.updateBounds();
145
- this.enableChildBoundsUpdate === false;
146
- });
147
- }
148
- }
149
-
150
- /**
151
- * reset the container, removing all childrens, and reseting transforms.
152
- */
153
- reset() {
154
- // cancel any sort operation
155
- if (this.pendingSort) {
156
- clearTimeout(this.pendingSort);
157
- this.pendingSort = null;
158
- }
159
-
160
- // delete all children
161
- let children = this.getChildren();
162
- for (let i = children.length, child; i >= 0; (child = children[--i])) {
163
- // don't remove it if a persistent object
164
- if (child && child.isPersistent !== true) {
165
- this.removeChildNow(child);
166
- }
167
- }
168
-
169
- if (typeof this.currentTransform !== "undefined") {
170
- // just reset some variables
171
- this.currentTransform.identity();
172
- }
173
-
174
- this.backgroundColor.setColor(0, 0, 0, 0.0);
175
- }
176
-
177
- /**
178
- * Add a child to the container <br>
179
- * if auto-sort is disable, the object will be appended at the bottom of the list.
180
- * Adding a child to the container will automatically remove it from its other container.
181
- * Meaning a child can only have one parent. This is important if you add a renderable
182
- * to a container then add it to the World container it will move it out of the
183
- * orginal container. Then when the World container reset() method is called the renderable
184
- * will not be in any container. <br>
185
- * if the given child implements a onActivateEvent method, that method will be called
186
- * once the child is added to this container.
187
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be added
188
- * @param {number} [z] - forces the z index of the child to the specified value
189
- * @returns {Renderable} the added child
190
- */
191
- addChild(child, z) {
192
- if (child.ancestor instanceof Container) {
193
- child.ancestor.removeChildNow(child);
194
- }
195
- else {
196
- // only allocate a GUID if the object has no previous ancestor
197
- // (e.g. move one child from one container to another)
198
- if (child.isRenderable) {
199
- // allocated a GUID value (use child.id as based index if defined)
200
- child.GUID = createGUID(child.id);
201
- }
202
- }
203
-
204
- // add the new child
205
- child.ancestor = this;
206
- this.getChildren().push(child);
207
-
208
- // update child bounds to reflect the new ancestor
209
- if (typeof child.updateBounds === "function") {
210
- if (this.isFloating === true) {
211
- // only parent container can be floating
212
- child.floating = false;
213
- }
214
- child.updateBounds();
215
- }
216
-
217
- // set the child z value if required
218
- if (typeof(child.pos) !== "undefined") {
219
- if (typeof(z) === "number") {
220
- child.pos.z = z;
221
- } else if (this.autoDepth === true) {
222
- child.pos.z = this.getChildren().length;
223
- }
224
- }
225
-
226
- if (this.autoSort === true) {
227
- this.sort();
228
- }
229
-
230
- if (typeof child.onActivateEvent === "function" && this.isAttachedToRoot()) {
231
- child.onActivateEvent();
232
- }
233
-
234
- // force container bounds update if required
235
- if (this.enableChildBoundsUpdate === true) {
236
- this.updateBounds();
237
- }
238
-
239
- // if a physic body(ies) to the game world
240
- if (this.isAttachedToRoot()) {
241
- let worldContainer = this.getRootAncestor();
242
- if (child.body instanceof Body) {
243
- worldContainer.addBody(child.body);
244
- }
245
- // if the child is a container
246
- if (child instanceof Container) {
247
- // add all container child bodies
248
- // TODO: make it recursive ?
249
- child.forEach((cchild) => {
250
- if (cchild.body instanceof Body) {
251
- worldContainer.addBody(cchild.body);
252
- }
253
- });
254
- }
255
- }
256
-
257
- // mark the container for repaint
258
- this.isDirty = true;
259
-
260
- // triggered callback if defined
261
- this.onChildChange.call(this, this.getChildren().length - 1);
262
-
263
- return child;
264
- }
265
-
266
- /**
267
- * Add a child to the container at the specified index<br>
268
- * (the list won't be sorted after insertion)
269
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be added
270
- * @param {number} index - The index at which to insert the child
271
- * @returns {Renderable} the added child
272
- */
273
- addChildAt(child, index) {
274
- if (index >= 0 && index < this.getChildren().length) {
275
- if (child.ancestor instanceof Container) {
276
- child.ancestor.removeChildNow(child);
277
- }
278
- else {
279
- // only allocate a GUID if the object has no previous ancestor
280
- // (e.g. move one child from one container to another)
281
- if (child.isRenderable) {
282
- // allocated a GUID value
283
- child.GUID = createGUID();
284
- }
285
- }
286
-
287
- // add the new child
288
- child.ancestor = this;
289
- this.getChildren().splice(index, 0, child);
290
-
291
- // update child bounds to reflect the new ancestor
292
- if (typeof child.updateBounds === "function") {
293
- if (this.isFloating === true) {
294
- // only parent container can be floating
295
- child.floating = false;
296
- }
297
- child.updateBounds();
298
- }
299
-
300
- if (typeof child.onActivateEvent === "function" && this.isAttachedToRoot()) {
301
- child.onActivateEvent();
302
- }
303
-
304
- // force container bounds update if required
305
- if (this.enableChildBoundsUpdate === true) {
306
- this.updateBounds();
307
- }
308
-
309
- // if a physic body(ies) to the game world
310
- if (this.isAttachedToRoot()) {
311
- let worldContainer = this.getRootAncestor();
312
- if (child.body instanceof Body) {
313
- worldContainer.addBody(child.body);
314
- }
315
- // if the child is a container
316
- if (child instanceof Container) {
317
- // add all container child bodies
318
- // TODO: make it recursive ?
319
- child.forEach((cchild) => {
320
- if (cchild.body instanceof Body) {
321
- worldContainer.addBody(cchild.body);
322
- }
323
- });
324
- }
325
- }
326
-
327
- // mark the container for repaint
328
- this.isDirty = true;
329
-
330
- // triggered callback if defined
331
- this.onChildChange.call(this, index);
332
-
333
- return child;
334
- }
335
- else {
336
- throw new Error("Index (" + index + ") Out Of Bounds for addChildAt()");
337
- }
338
- }
339
-
340
- /**
341
- * The forEach() method executes a provided function once per child element. <br>
342
- * the callback function is invoked with three arguments: <br>
343
- * - The current element being processed in the array <br>
344
- * - The index of element in the array. <br>
345
- * - The array forEach() was called upon. <br>
346
- * @param {Function} callback - fnction to execute on each element
347
- * @param {object} [thisArg] - value to use as this(i.e reference Object) when executing callback.
348
- * @example
349
- * // iterate through all children of this container
350
- * container.forEach((child) => {
351
- * // do something with the child
352
- * child.doSomething();
353
- * });
354
- * container.forEach((child, index) => { ... });
355
- * container.forEach((child, index, array) => { ... });
356
- * container.forEach((child, index, array) => { ... }, thisArg);
357
- */
358
- forEach(callback, thisArg) {
359
- let context = this, i = 0;
360
- let children = this.getChildren();
361
-
362
- let len = children.length;
363
-
364
- if (typeof callback !== "function") {
365
- throw new Error(callback + " is not a function");
366
- }
367
-
368
- if (arguments.length > 1) {
369
- context = thisArg;
370
- }
371
-
372
- while (i < len) {
373
- callback.call(context, children[i], i, children);
374
- i++;
375
- }
376
- }
377
-
378
- /**
379
- * Swaps the position (z-index) of 2 children
380
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be added
381
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child2 - Child to be added
382
- */
383
- swapChildren(child, child2) {
384
- let index = this.getChildIndex(child);
385
- let index2 = this.getChildIndex(child2);
386
-
387
- if ((index !== -1) && (index2 !== -1)) {
388
- // swap z index
389
- let _z = child.pos.z;
390
- child.pos.z = child2.pos.z;
391
- child2.pos.z = _z;
392
- // swap the positions..
393
- this.getChildren()[index] = child2;
394
- this.getChildren()[index2] = child;
395
- // mark the container as dirty
396
- this.isDirty = true;
397
- }
398
- else {
399
- throw new Error(child + " Both the supplied childs must be a child of the caller " + this);
400
- }
401
- }
402
-
403
- /**
404
- * Returns the Child at the specified index
405
- * @param {number} index - The index of the child
406
- * @returns {Renderable} the child at the specified index
407
- */
408
- getChildAt(index) {
409
- if (index >= 0 && index < this.getChildren().length) {
410
- return this.getChildren()[index];
411
- }
412
- else {
413
- throw new Error("Index (" + index + ") Out Of Bounds for getChildAt()");
414
- }
415
- }
416
-
417
- /**
418
- * Returns the index of the given Child
419
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - The child object
420
- * @returns {number} index
421
- */
422
- getChildIndex(child) {
423
- return this.getChildren().indexOf(child);
424
- }
425
-
426
- /**
427
- * Returns the next child within the container or undefined if none
428
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - The child object
429
- * @returns {Renderable} child
430
- */
431
- getNextChild(child) {
432
- let index = this.getChildren().indexOf(child) - 1;
433
- if (index >= 0 && index < this.getChildren().length) {
434
- return this.getChildAt(index);
435
- }
436
- return undefined;
437
- }
438
-
439
- /**
440
- * Returns true if contains the specified Child
441
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - The child object
442
- * @returns {boolean}
443
- */
444
- hasChild(child) {
445
- return this === child.ancestor;
446
- }
447
-
448
- /**
449
- * return the child corresponding to the given property and value.<br>
450
- * note : avoid calling this function every frame since
451
- * it parses the whole object tree each time
452
- * @param {string} prop - Property name
453
- * @param {string|RegExp|number|boolean} value - Value of the property
454
- * @returns {Renderable[]} Array of childs
455
- * @example
456
- * // get the first child object called "mainPlayer" in a specific container :
457
- * let ent = myContainer.getChildByProp("name", "mainPlayer");
458
- *
459
- * // or query the whole world :
460
- * let ent = container.getChildByProp("name", "mainPlayer");
461
- *
462
- * // partial property matches are also allowed by using a RegExp.
463
- * // the following matches "redCOIN", "bluecoin", "bagOfCoins", etc :
464
- * let allCoins = container.getChildByProp("name", /coin/i);
465
- *
466
- * // searching for numbers or other data types :
467
- * let zIndex10 = container.getChildByProp("z", 10);
468
- * let inViewport = container.getChildByProp("inViewport", true);
469
- */
470
- getChildByProp(prop, value) {
471
- let objList = [];
472
-
473
- /**
474
- * @ignore
475
- */
476
- function compare(obj, prop) {
477
- let v = obj[prop];
478
- if (value instanceof RegExp && typeof(v) === "string") {
479
- if (value.test(v)) {
480
- objList.push(obj);
481
- }
482
- }
483
- else if (v === value) {
484
- objList.push(obj);
485
- }
486
- }
487
-
488
- this.forEach((child) => {
489
- compare(child, prop);
490
- if (child instanceof Container) {
491
- objList = objList.concat(child.getChildByProp(prop, value));
492
- }
493
- });
494
-
495
- return objList;
496
- }
497
-
498
- /**
499
- * returns the list of childs with the specified class type
500
- * @param {object} classType - Class type
501
- * @returns {Renderable[]} Array of children
502
- */
503
- getChildByType(classType) {
504
- let objList = [];
505
-
506
- this.forEach((child) => {
507
- if (child instanceof classType) {
508
- objList.push(child);
509
- }
510
- if (child instanceof Container) {
511
- objList = objList.concat(child.getChildByType(classType));
512
- }
513
- });
514
-
515
- return objList;
516
- }
517
-
518
- /**
519
- * returns the list of childs with the specified name<br>
520
- * as defined in Tiled (Name field of the Object Properties)<br>
521
- * note : avoid calling this function every frame since
522
- * it parses the whole object list each time
523
- * @param {string|RegExp|number|boolean} name - child name
524
- * @returns {Renderable[]} Array of children
525
- */
526
- getChildByName(name) {
527
- return this.getChildByProp("name", name);
528
- }
529
-
530
- /**
531
- * return the child corresponding to the specified GUID<br>
532
- * note : avoid calling this function every frame since
533
- * it parses the whole object list each time
534
- * @param {string|RegExp|number|boolean} guid - child GUID
535
- * @returns {Renderable} corresponding child or null
536
- */
537
- getChildByGUID(guid) {
538
- let obj = this.getChildByProp("GUID", guid);
539
- return (obj.length > 0) ? obj[0] : null;
540
- }
541
-
542
- /**
543
- * return all child in this container
544
- * @returns {Renderable[]} an array of renderable object
545
- */
546
- getChildren() {
547
- if (typeof this.children === "undefined") {
548
- this.children = [];
549
- }
550
- return this.children;
551
- }
552
-
553
- /**
554
- * update the bounding box for this container.
555
- * @param {boolean} [absolute=true] - update the bounds size and position in (world) absolute coordinates
556
- * @returns {Bounds} this container bounding box Rectangle object
557
- */
558
- updateBounds(absolute = true) {
559
- let bounds = this.getBounds();
560
-
561
- // call parent method
562
- super.updateBounds(absolute);
563
-
564
- if (this.enableChildBoundsUpdate === true) {
565
- this.forEach((child) => {
566
- if (child.isRenderable) {
567
- let childBounds = child.updateBounds(true);
568
- if (childBounds.isFinite()) {
569
- bounds.addBounds(childBounds);
570
- }
571
- }
572
- });
573
- }
574
-
575
- return bounds;
576
- }
577
-
578
- /**
579
- * Checks if this container is root or if it's attached to the root container.
580
- * @returns {boolean} true if this container is root or if it's attached to the root container
581
- */
582
- isAttachedToRoot() {
583
- if (this.root === true) {
584
- return true;
585
- } else {
586
- let ancestor = this.ancestor;
587
- while (ancestor) {
588
- if (ancestor.root === true) {
589
- return true;
590
- }
591
- ancestor = ancestor.ancestor;
592
- }
593
- return false;
594
- }
595
- }
596
-
597
- /**
598
- * Returns the instance of the root container (i.e. the current application World container).
599
- * @returns {Container} root container
600
- */
601
- getRootAncestor() {
602
- if (this.root === true) {
603
- return this;
604
- } else {
605
- let ancestor = this.ancestor;
606
- while (ancestor) {
607
- if (ancestor.root === true) {
608
- break;
609
- }
610
- ancestor = ancestor.ancestor;
611
- }
612
- return ancestor;
613
- }
614
- }
615
-
616
- /**
617
- * update the cointainer's bounding rect (private)
618
- * @ignore
619
- */
620
- updateBoundsPos(newX = this.pos.x, newY = this.pos.y) {
621
- // call the parent method
622
- super.updateBoundsPos(newX, newY);
623
-
624
- // Notify children that the parent's position has changed
625
- this.forEach((child) => {
626
- if (child.isRenderable) {
627
- child.updateBoundsPos(
628
- child.pos.x + newX - this.pos.x,
629
- child.pos.y + newY - this.pos.y
630
- );
631
- }
632
- });
633
- }
634
-
635
- /**
636
- * @ignore
637
- */
638
- onActivateEvent() {
639
- this.forEach((child) => {
640
- if (typeof child.onActivateEvent === "function") {
641
- child.onActivateEvent();
642
- }
643
- });
644
- }
645
-
646
- /**
647
- * Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed. <br>
648
- * if the given child implements a onDeactivateEvent() method, that method will be called once the child is removed from this container.
649
- * @param {RendRenderable|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapTexterable} child - Child to be removed
650
- * @param {boolean} [keepalive=false] - true to prevent calling child.destroy()
651
- */
652
- removeChild(child, keepalive) {
653
- if (this.hasChild(child)) {
654
- defer(deferredRemove, this, child, keepalive);
655
- }
656
- else {
657
- throw new Error("Child is not mine.");
658
- }
659
- }
660
-
661
- /**
662
- * Removes (and optionally destroys) a child from the container.<br>
663
- * (removal is immediate and unconditional)<br>
664
- * Never use keepalive=true with objects from {@link pool}. Doing so will create a memory leak.
665
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be removed
666
- * @param {boolean} [keepalive=False] - True to prevent calling child.destroy()
667
- */
668
- removeChildNow(child, keepalive) {
669
- if (this.hasChild(child) && (this.getChildIndex(child) >= 0)) {
670
- if (typeof child.onDeactivateEvent === "function") {
671
- child.onDeactivateEvent();
672
- }
673
-
674
- // remove the body first to avoid a condition where a body can be detached
675
- // from its parent, before the body is removed from the game world
676
- if (child.body instanceof Body) {
677
- this.getRootAncestor().removeBody(child.body);
678
- }
679
-
680
- if (!keepalive) {
681
- // attempt at recycling the object
682
- if (pool.push(child, false) === false) {
683
- // else just destroy it
684
- if (typeof child.destroy === "function") {
685
- child.destroy();
686
- }
687
- }
688
- }
689
-
690
- // Don't cache the child index; another element might have been removed
691
- // by the child's `onDeactivateEvent` or `destroy` methods
692
- let childIndex = this.getChildIndex(child);
693
- if (childIndex >= 0) {
694
- this.getChildren().splice(childIndex, 1);
695
- child.ancestor = undefined;
696
- }
697
-
698
- // force bounds update if required
699
- if (this.enableChildBoundsUpdate === true) {
700
- this.updateBounds();
701
- }
702
-
703
- // mark the container for repaint
704
- this.isDirty = true;
705
-
706
- // triggered callback if defined
707
- this.onChildChange.call(this, childIndex);
708
- }
709
- }
710
-
711
- /**
712
- * Automatically set the specified property of all childs to the given value
713
- * @param {string} prop - property name
714
- * @param {object} value - property value
715
- * @param {boolean} [recursive=false] - recursively apply the value to child containers if true
716
- */
717
- setChildsProperty(prop, value, recursive) {
718
- this.forEach((child) => {
719
- if ((recursive === true) && (child instanceof Container)) {
720
- child.setChildsProperty(prop, value, recursive);
721
- }
722
- child[prop] = value;
723
- });
724
- }
725
-
726
- /**
727
- * Move the child in the group one step forward (z depth).
728
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be moved
729
- */
730
- moveUp(child) {
731
- let childIndex = this.getChildIndex(child);
732
- if (childIndex - 1 >= 0) {
733
- // note : we use an inverted loop
734
- this.swapChildren(child, this.getChildAt(childIndex - 1));
735
- // mark the container as dirty
736
- this.isDirty = true;
737
- }
738
- }
739
-
740
- /**
741
- * Move the child in the group one step backward (z depth).
742
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be moved
743
- */
744
- moveDown(child) {
745
- let childIndex = this.getChildIndex(child);
746
- if (childIndex >= 0 && (childIndex + 1) < this.getChildren().length) {
747
- // note : we use an inverted loop
748
- this.swapChildren(child, this.getChildAt(childIndex + 1));
749
- // mark the container as dirty
750
- this.isDirty = true;
751
- }
752
- }
753
-
754
- /**
755
- * Move the specified child to the top(z depth).
756
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be moved
757
- */
758
- moveToTop(child) {
759
- let childIndex = this.getChildIndex(child);
760
- if (childIndex > 0) {
761
- let children = this.getChildren();
762
- // note : we use an inverted loop
763
- children.splice(0, 0, children.splice(childIndex, 1)[0]);
764
- // increment our child z value based on the previous child depth
765
- child.pos.z = children[1].pos.z + 1;
766
- // mark the container as dirty
767
- this.isDirty = true;
768
- }
769
- }
770
-
771
- /**
772
- * Move the specified child the bottom (z depth).
773
- * @param {Renderable|Entity|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be moved
774
- */
775
- moveToBottom(child) {
776
- let childIndex = this.getChildIndex(child);
777
- let children = this.getChildren();
778
- if (childIndex >= 0 && childIndex < (children.length - 1)) {
779
- // note : we use an inverted loop
780
- children.splice((children.length - 1), 0, children.splice(childIndex, 1)[0]);
781
- // increment our child z value based on the next child depth
782
- child.pos.z = children[(children.length - 2)].pos.z - 1;
783
- // mark the container as dirty
784
- this.isDirty = true;
785
- }
786
- }
787
-
788
- /**
789
- * Manually trigger the sort of all the childs in the container
790
- * @param {boolean} [recursive=false] - recursively sort all containers if true
791
- */
792
- sort(recursive) {
793
- // do nothing if there is already a pending sort
794
- if (!this.pendingSort) {
795
- if (recursive === true) {
796
- this.forEach((child) => {
797
- if (child instanceof Container) {
798
- // note : this will generate one defered sorting function
799
- // for each existing containe
800
- child.sort(recursive);
801
- }
802
- });
803
- }
804
- /** @ignore */
805
- this.pendingSort = defer(function () {
806
- // sort everything in this container
807
- this.getChildren().sort(this["_sort" + this.sortOn.toUpperCase()]);
808
- // clear the defer id
809
- this.pendingSort = null;
810
- // make sure we redraw everything
811
- this.isDirty = true;
812
- }, this);
813
- }
814
- }
815
-
816
- /**
817
- * @ignore
818
- */
819
- onDeactivateEvent() {
820
- this.forEach((child) => {
821
- if (typeof child.onDeactivateEvent === "function") {
822
- child.onDeactivateEvent();
823
- }
824
- });
825
- }
826
-
827
- /**
828
- * Z Sorting function
829
- * @ignore
830
- */
831
- _sortZ(a, b) {
832
- return (b.pos && a.pos) ? (b.pos.z - a.pos.z) : (a.pos ? -Infinity : Infinity);
833
- }
834
-
835
- /**
836
- * Reverse Z Sorting function
837
- * @ignore
838
- */
839
- _sortReverseZ(a, b) {
840
- return (a.pos && b.pos) ? (a.pos.z - b.pos.z) : (a.pos ? Infinity : -Infinity);
841
- }
842
-
843
- /**
844
- * X Sorting function
845
- * @ignore
846
- */
847
- _sortX(a, b) {
848
- if (!b.pos || !a.pos) {
849
- return (a.pos ? -Infinity : Infinity);
850
- }
851
- let result = b.pos.z - a.pos.z;
852
- return (result ? result : (b.pos.x - a.pos.x));
853
- }
854
-
855
- /**
856
- * Y Sorting function
857
- * @ignore
858
- */
859
- _sortY(a, b) {
860
- if (!b.pos || !a.pos) {
861
- return (a.pos ? -Infinity : Infinity);
862
- }
863
- let result = b.pos.z - a.pos.z;
864
- return (result ? result : (b.pos.y - a.pos.y));
865
- }
866
-
867
- /**
868
- * Destroy function<br>
869
- * @ignore
870
- */
871
- destroy() {
872
- // empty the container
873
- this.reset();
874
- // call the parent destroy method
875
- super.destroy(arguments);
876
- }
877
-
878
- /**
879
- * container update function. <br>
880
- * automatically called by the application update loop {@link Application}
881
- * @protected
882
- * @param {number} dt - time since the last update in milliseconds.
883
- * @returns {boolean} true if the Container is dirty
884
- */
885
- update(dt) {
886
- let isFloating = false;
887
- let isPaused = state.isPaused();
888
- let children = this.getChildren();
889
- const childrenLength = children.length;
890
-
891
- for (let i = childrenLength, obj; i--, (obj = children[i]);) {
892
- if (isPaused && (!obj.updateWhenPaused)) {
893
- // skip this object
894
- continue;
895
- }
896
-
897
- if (obj.isRenderable) {
898
- isFloating = (globalFloatingCounter > 0 || obj.floating);
899
- if (isFloating) {
900
- globalFloatingCounter++;
901
- }
902
-
903
- // check if object is in any active cameras
904
- obj.inViewport = false;
905
- // iterate through all cameras
906
- state.current().cameras.forEach((camera) => {
907
- if (camera.isVisible(obj, isFloating)) {
908
- obj.inViewport = true;
909
- }
910
- });
911
-
912
- // update our object
913
- this.isDirty |= ((obj.inViewport || obj.alwaysUpdate) && obj.update(dt));
914
-
915
- if (globalFloatingCounter > 0) {
916
- globalFloatingCounter--;
917
- }
918
- }
919
- else {
920
- // just directly call update() for non renderable object
921
- this.isDirty |= obj.update(dt);
922
- }
923
- }
924
-
925
- // call the parent method
926
- return super.update(dt);
927
- }
928
-
929
- /**
930
- * draw this renderable (automatically called by melonJS)
931
- * @protected
932
- * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer instance
933
- * @param {Camera2d} [viewport] - the viewport to (re)draw
934
- */
935
- draw(renderer, viewport) {
936
- let isFloating = false;
937
- let bounds = this.getBounds();
938
-
939
- this.drawCount = 0;
940
-
941
- // clip the containter children to the container bounds
942
- if (this.root === false && this.clipping === true && bounds.isFinite() === true) {
943
- renderer.clipRect(
944
- bounds.left,
945
- bounds.top,
946
- bounds.width,
947
- bounds.height
948
- );
949
- }
950
-
951
- // adjust position if required (e.g. canvas/window centering)
952
- renderer.translate(this.pos.x, this.pos.y);
953
-
954
- // color background if defined
955
- if (this.backgroundColor.alpha > 1 / 255) {
956
- renderer.clearColor(this.backgroundColor);
957
- }
958
-
959
- let children = this.getChildren();
960
- for (let i = children.length, obj; i--, (obj = children[i]);) {
961
- if (obj.isRenderable) {
962
-
963
- isFloating = obj.floating === true;
964
-
965
- if ((obj.inViewport || isFloating)) {
966
-
967
- if (isFloating) {
968
- // translate to screen coordinates
969
- renderer.save();
970
- renderer.resetTransform();
971
- }
972
-
973
- // predraw (apply transforms)
974
- obj.preDraw(renderer);
975
-
976
- // draw the object
977
- obj.draw(renderer, viewport);
978
-
979
- // postdraw (clean-up);
980
- obj.postDraw(renderer);
981
-
982
- // restore the previous "state"
983
- if (isFloating) {
984
- renderer.restore();
985
- }
986
-
987
- this.drawCount++;
988
- }
989
- }
990
- }
991
- }
992
- }
993
-
994
- export { Container as default };