melonjs 17.4.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 (702) hide show
  1. package/{dist/types → build}/application/application.d.ts +9 -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/{dist/types → build}/application/header.d.ts +1 -0
  6. package/build/application/header.d.ts.map +1 -0
  7. package/{dist/types → build}/application/resize.d.ts +1 -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 +35 -58
  14. package/build/audio/audio.d.ts.map +1 -0
  15. package/{dist/types → build}/camera/camera2d.d.ts +38 -76
  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 +8 -7
  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 -16
  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 +2 -2
  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 +19 -13
  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 +7 -10
  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 +27 -27
  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 +5 -5
  156. package/build/physics/collision.d.ts.map +1 -0
  157. package/{dist/types → build}/physics/detector.d.ts +8 -6
  158. package/build/physics/detector.d.ts.map +1 -0
  159. package/{dist/types → build}/physics/quadtree.d.ts +5 -19
  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 +3 -2
  164. package/build/physics/sat.d.ts.map +1 -0
  165. package/{dist/types → build}/physics/world.d.ts +5 -4
  166. package/build/physics/world.d.ts.map +1 -0
  167. package/{dist/types → build}/plugin/plugin.d.ts +8 -19
  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/{dist/types → build}/renderable/colorlayer.d.ts +6 -10
  180. package/build/renderable/colorlayer.d.ts.map +1 -0
  181. package/{dist/types → build}/renderable/container.d.ts +14 -15
  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 +7 -21
  186. package/build/renderable/dragndrop.d.ts.map +1 -0
  187. package/{dist/types → build}/renderable/entity/entity.d.ts +12 -13
  188. package/build/renderable/entity/entity.d.ts.map +1 -0
  189. package/{dist/types → build}/renderable/imagelayer.d.ts +17 -9
  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 +3 -4
  194. package/build/renderable/nineslicesprite.d.ts.map +1 -0
  195. package/{dist/types → build}/renderable/renderable.d.ts +57 -60
  196. package/build/renderable/renderable.d.ts.map +1 -0
  197. package/{dist/types → build}/renderable/sprite.d.ts +28 -14
  198. package/build/renderable/sprite.d.ts.map +1 -0
  199. package/{dist/types → build}/renderable/text/bitmaptext.d.ts +6 -7
  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 +18 -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 +40 -32
  270. package/build/video/canvas/canvas_renderer.d.ts.map +1 -0
  271. package/{dist/types → build}/video/renderer.d.ts +36 -29
  272. package/build/video/renderer.d.ts.map +1 -0
  273. package/{dist/types → build}/video/rendertarget/canvasrendertarget.d.ts +8 -26
  274. package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -0
  275. package/{dist/types → build}/video/texture/atlas.d.ts +8 -8
  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 +4 -4
  292. package/build/video/webgl/compositors/compositor.d.ts.map +1 -0
  293. package/{dist/types → build}/video/webgl/compositors/primitive_compositor.d.ts +4 -5
  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 +4 -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 +37 -29
  310. package/build/video/webgl/webgl_renderer.d.ts.map +1 -0
  311. package/package.json +83 -104
  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 -443
  320. package/dist/melonjs.mjs/application/header.js +0 -40
  321. package/dist/melonjs.mjs/application/resize.js +0 -128
  322. package/dist/melonjs.mjs/application/settings.js +0 -70
  323. package/dist/melonjs.mjs/audio/audio.js +0 -623
  324. package/dist/melonjs.mjs/camera/camera2d.js +0 -737
  325. package/dist/melonjs.mjs/const.js +0 -32
  326. package/dist/melonjs.mjs/geometries/ellipse.js +0 -253
  327. package/dist/melonjs.mjs/geometries/line.js +0 -113
  328. package/dist/melonjs.mjs/geometries/path2d.js +0 -479
  329. package/dist/melonjs.mjs/geometries/point.js +0 -85
  330. package/dist/melonjs.mjs/geometries/poly.js +0 -441
  331. package/dist/melonjs.mjs/geometries/rectangle.js +0 -335
  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 -807
  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 -729
  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 -495
  379. package/dist/melonjs.mjs/math/matrix3.js +0 -628
  380. package/dist/melonjs.mjs/math/observable_vector2.js +0 -468
  381. package/dist/melonjs.mjs/math/observable_vector3.js +0 -564
  382. package/dist/melonjs.mjs/math/vector2.js +0 -431
  383. package/dist/melonjs.mjs/math/vector3.js +0 -473
  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 -190
  437. package/dist/melonjs.mjs/particles/settings.js +0 -317
  438. package/dist/melonjs.mjs/physics/body.js +0 -717
  439. package/dist/melonjs.mjs/physics/bounds.js +0 -415
  440. package/dist/melonjs.mjs/physics/collision.js +0 -135
  441. package/dist/melonjs.mjs/physics/detector.js +0 -227
  442. package/dist/melonjs.mjs/physics/quadtree.js +0 -402
  443. package/dist/melonjs.mjs/physics/response.js +0 -57
  444. package/dist/melonjs.mjs/physics/sat.js +0 -492
  445. package/dist/melonjs.mjs/physics/world.js +0 -228
  446. package/dist/melonjs.mjs/plugin/plugin.js +0 -172
  447. package/dist/melonjs.mjs/renderable/collectable.js +0 -60
  448. package/dist/melonjs.mjs/renderable/colorlayer.js +0 -83
  449. package/dist/melonjs.mjs/renderable/container.js +0 -1016
  450. package/dist/melonjs.mjs/renderable/draggable.js +0 -121
  451. package/dist/melonjs.mjs/renderable/dragndrop.js +0 -119
  452. package/dist/melonjs.mjs/renderable/entity/entity.js +0 -263
  453. package/dist/melonjs.mjs/renderable/imagelayer.js +0 -293
  454. package/dist/melonjs.mjs/renderable/light2d.js +0 -172
  455. package/dist/melonjs.mjs/renderable/nineslicesprite.js +0 -248
  456. package/dist/melonjs.mjs/renderable/renderable.js +0 -878
  457. package/dist/melonjs.mjs/renderable/sprite.js +0 -700
  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 -163
  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 -914
  487. package/dist/melonjs.mjs/video/renderer.js +0 -402
  488. package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +0 -316
  489. package/dist/melonjs.mjs/video/texture/atlas.js +0 -465
  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 -240
  498. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +0 -82
  499. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +0 -259
  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 -1246
  511. package/dist/melonjs.module.js +0 -43200
  512. package/dist/types/application/settings.d.ts +0 -106
  513. package/dist/types/const.d.ts +0 -21
  514. package/dist/types/geometries/ellipse.d.ts +0 -138
  515. package/dist/types/geometries/line.d.ts +0 -15
  516. package/dist/types/geometries/point.d.ts +0 -50
  517. package/dist/types/geometries/poly.d.ts +0 -186
  518. package/dist/types/geometries/rectangle.d.ts +0 -135
  519. package/dist/types/geometries/roundrect.d.ts +0 -43
  520. package/dist/types/geometries/toarccanvas.d.ts +0 -10
  521. package/dist/types/input/keyboard.d.ts +0 -205
  522. package/dist/types/input/pointer.d.ts +0 -261
  523. package/dist/types/lang/deprecated.d.ts +0 -68
  524. package/dist/types/loader/cache.d.ts +0 -9
  525. package/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts +0 -1
  526. package/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts +0 -1
  527. package/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts +0 -1
  528. package/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts +0 -1
  529. package/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts +0 -1
  530. package/dist/types/math/color.d.ts +0 -179
  531. package/dist/types/math/math.d.ts +0 -149
  532. package/dist/types/math/matrix2.d.ts +0 -174
  533. package/dist/types/math/matrix3.d.ts +0 -186
  534. package/dist/types/math/observable_vector2.d.ts +0 -278
  535. package/dist/types/math/observable_vector3.d.ts +0 -300
  536. package/dist/types/math/vector2.d.ts +0 -255
  537. package/dist/types/math/vector3.d.ts +0 -271
  538. package/dist/types/particles/particle.d.ts +0 -36
  539. package/dist/types/physics/bounds.d.ts +0 -203
  540. package/dist/types/polyfill/console.d.ts +0 -1
  541. package/dist/types/polyfill/index.d.ts +0 -1
  542. package/dist/types/polyfill/roundrect.d.ts +0 -1
  543. package/dist/types/renderable/light2d.d.ts +0 -60
  544. package/dist/types/renderable/text/bitmaptextdata.d.ts +0 -35
  545. package/dist/types/system/dom.d.ts +0 -1
  546. package/dist/types/system/platform.d.ts +0 -33
  547. package/dist/types/system/save.d.ts +0 -25
  548. package/dist/types/system/timer.d.ts +0 -126
  549. package/dist/types/tweens/easing.d.ts +0 -46
  550. package/dist/types/tweens/interpolation.d.ts +0 -18
  551. package/dist/types/tweens/tween.d.ts +0 -195
  552. package/dist/types/utils/agent.d.ts +0 -21
  553. package/dist/types/utils/array.d.ts +0 -39
  554. package/dist/types/utils/file.d.ts +0 -27
  555. package/dist/types/utils/function.d.ts +0 -31
  556. package/dist/types/utils/string.d.ts +0 -50
  557. package/dist/types/utils/utils.d.ts +0 -54
  558. package/dist/types/video/utils/autodetect.d.ts +0 -5
  559. package/src/application/application.js +0 -435
  560. package/src/application/header.js +0 -31
  561. package/src/application/resize.js +0 -119
  562. package/src/application/settings.js +0 -61
  563. package/src/audio/audio.js +0 -622
  564. package/src/camera/camera2d.js +0 -731
  565. package/src/const.js +0 -23
  566. package/src/geometries/ellipse.js +0 -244
  567. package/src/geometries/line.js +0 -104
  568. package/src/geometries/path2d.js +0 -470
  569. package/src/geometries/point.js +0 -76
  570. package/src/geometries/poly.js +0 -432
  571. package/src/geometries/rectangle.js +0 -326
  572. package/src/geometries/roundrect.js +0 -156
  573. package/src/geometries/toarccanvas.js +0 -94
  574. package/src/index.js +0 -315
  575. package/src/input/gamepad.js +0 -487
  576. package/src/input/input.js +0 -17
  577. package/src/input/keyboard.js +0 -461
  578. package/src/input/pointer.js +0 -386
  579. package/src/input/pointerevent.js +0 -798
  580. package/src/lang/console.js +0 -36
  581. package/src/lang/deprecated.js +0 -192
  582. package/src/level/level.js +0 -290
  583. package/src/level/tiled/TMXGroup.js +0 -111
  584. package/src/level/tiled/TMXLayer.js +0 -424
  585. package/src/level/tiled/TMXObject.js +0 -286
  586. package/src/level/tiled/TMXTile.js +0 -168
  587. package/src/level/tiled/TMXTileMap.js +0 -569
  588. package/src/level/tiled/TMXTileset.js +0 -284
  589. package/src/level/tiled/TMXTilesetGroup.js +0 -66
  590. package/src/level/tiled/TMXUtils.js +0 -408
  591. package/src/level/tiled/constants.js +0 -8
  592. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +0 -497
  593. package/src/level/tiled/renderer/TMXIsometricRenderer.js +0 -208
  594. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -149
  595. package/src/level/tiled/renderer/TMXRenderer.js +0 -103
  596. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +0 -100
  597. package/src/level/tiled/renderer/autodetect.js +0 -29
  598. package/src/loader/cache.js +0 -22
  599. package/src/loader/loader.js +0 -728
  600. package/src/loader/loadingscreen.js +0 -112
  601. package/src/loader/melonjs_logo.png +0 -0
  602. package/src/loader/parsers/binary.js +0 -33
  603. package/src/loader/parsers/compressed_textures/compressed_image.js +0 -49
  604. package/src/loader/parsers/compressed_textures/parseDDS.js +0 -5
  605. package/src/loader/parsers/compressed_textures/parseKTX.js +0 -5
  606. package/src/loader/parsers/compressed_textures/parseKTX2.js +0 -5
  607. package/src/loader/parsers/compressed_textures/parsePKM.js +0 -5
  608. package/src/loader/parsers/compressed_textures/parsePVR.js +0 -127
  609. package/src/loader/parsers/fetchdata.js +0 -53
  610. package/src/loader/parsers/fontface.js +0 -54
  611. package/src/loader/parsers/image.js +0 -120
  612. package/src/loader/parsers/json.js +0 -35
  613. package/src/loader/parsers/script.js +0 -37
  614. package/src/loader/parsers/tmx.js +0 -95
  615. package/src/loader/parsers/video.js +0 -90
  616. package/src/math/color.js +0 -627
  617. package/src/math/math.js +0 -212
  618. package/src/math/matrix2.js +0 -487
  619. package/src/math/matrix3.js +0 -620
  620. package/src/math/observable_vector2.js +0 -460
  621. package/src/math/observable_vector3.js +0 -556
  622. package/src/math/vector2.js +0 -423
  623. package/src/math/vector3.js +0 -465
  624. package/src/particles/emitter.js +0 -258
  625. package/src/particles/particle.js +0 -182
  626. package/src/particles/settings.js +0 -310
  627. package/src/physics/body.js +0 -709
  628. package/src/physics/bounds.js +0 -407
  629. package/src/physics/collision.js +0 -128
  630. package/src/physics/detector.js +0 -218
  631. package/src/physics/quadtree.js +0 -393
  632. package/src/physics/response.js +0 -48
  633. package/src/physics/sat.js +0 -483
  634. package/src/physics/world.js +0 -220
  635. package/src/plugin/plugin.js +0 -163
  636. package/src/polyfill/console.js +0 -11
  637. package/src/polyfill/index.js +0 -13
  638. package/src/polyfill/roundrect.js +0 -237
  639. package/src/renderable/collectable.js +0 -51
  640. package/src/renderable/colorlayer.js +0 -74
  641. package/src/renderable/container.js +0 -1008
  642. package/src/renderable/draggable.js +0 -114
  643. package/src/renderable/dragndrop.js +0 -110
  644. package/src/renderable/entity/entity.js +0 -254
  645. package/src/renderable/imagelayer.js +0 -284
  646. package/src/renderable/light2d.js +0 -163
  647. package/src/renderable/nineslicesprite.js +0 -239
  648. package/src/renderable/renderable.js +0 -869
  649. package/src/renderable/sprite.js +0 -691
  650. package/src/renderable/text/bitmaptext.js +0 -418
  651. package/src/renderable/text/bitmaptextdata.js +0 -186
  652. package/src/renderable/text/glyph.js +0 -57
  653. package/src/renderable/text/text.js +0 -415
  654. package/src/renderable/text/textmetrics.js +0 -167
  655. package/src/renderable/text/textstyle.js +0 -12
  656. package/src/renderable/trigger.js +0 -154
  657. package/src/renderable/ui/uibaseelement.js +0 -276
  658. package/src/renderable/ui/uispriteelement.js +0 -223
  659. package/src/renderable/ui/uitextbutton.js +0 -140
  660. package/src/state/stage.js +0 -226
  661. package/src/state/state.js +0 -541
  662. package/src/system/device.js +0 -863
  663. package/src/system/dom.js +0 -70
  664. package/src/system/event.js +0 -597
  665. package/src/system/platform.js +0 -34
  666. package/src/system/pooling.js +0 -190
  667. package/src/system/save.js +0 -148
  668. package/src/system/timer.js +0 -281
  669. package/src/tweens/easing.js +0 -325
  670. package/src/tweens/interpolation.js +0 -103
  671. package/src/tweens/tween.js +0 -470
  672. package/src/utils/agent.js +0 -68
  673. package/src/utils/array.js +0 -54
  674. package/src/utils/file.js +0 -46
  675. package/src/utils/function.js +0 -60
  676. package/src/utils/string.js +0 -73
  677. package/src/utils/utils.js +0 -127
  678. package/src/video/canvas/canvas_renderer.js +0 -905
  679. package/src/video/renderer.js +0 -393
  680. package/src/video/rendertarget/canvasrendertarget.js +0 -309
  681. package/src/video/texture/atlas.js +0 -456
  682. package/src/video/texture/cache.js +0 -178
  683. package/src/video/texture/parser/aseprite.js +0 -69
  684. package/src/video/texture/parser/spritesheet.js +0 -68
  685. package/src/video/texture/parser/texturepacker.js +0 -55
  686. package/src/video/utils/autodetect.js +0 -18
  687. package/src/video/video.js +0 -160
  688. package/src/video/webgl/buffer/vertex.js +0 -137
  689. package/src/video/webgl/compositors/compositor.js +0 -231
  690. package/src/video/webgl/compositors/primitive_compositor.js +0 -73
  691. package/src/video/webgl/compositors/quad_compositor.js +0 -250
  692. package/src/video/webgl/glshader.js +0 -158
  693. package/src/video/webgl/shaders/primitive.frag +0 -5
  694. package/src/video/webgl/shaders/primitive.vert +0 -15
  695. package/src/video/webgl/shaders/quad.frag +0 -7
  696. package/src/video/webgl/shaders/quad.vert +0 -18
  697. package/src/video/webgl/utils/attributes.js +0 -16
  698. package/src/video/webgl/utils/precision.js +0 -29
  699. package/src/video/webgl/utils/program.js +0 -58
  700. package/src/video/webgl/utils/string.js +0 -16
  701. package/src/video/webgl/utils/uniforms.js +0 -84
  702. package/src/video/webgl/webgl_renderer.js +0 -1237
@@ -1,483 +0,0 @@
1
- import Vector2d from "./../math/vector2.js";
2
-
3
- /*
4
- * Separating Axis Theorem implementation, based on the SAT.js library by Jim Riecken <jimr@jimr.ca>
5
- * Available under the MIT License - https://github.com/jriecken/sat-js
6
- */
7
-
8
- /**
9
- * @import Entity from "./../renderable/entity/entity.js";
10
- * @import Container from "./../renderable/container.js";
11
- * @import Renderable from "./../renderable/renderable.js";
12
- * @import Sprite from "./../renderable/sprite.js";
13
- * @import NineSliceSprite from "./../renderable/nineslicesprite.js";
14
- * @import Polygon from "./../geometries/poly.js";
15
- * @import Ellipse from "./../geometries/ellipse.js";
16
- */
17
-
18
- /**
19
- * Constants for Vornoi regions
20
- * @ignore
21
- */
22
- const LEFT_VORNOI_REGION = -1;
23
-
24
- /**
25
- * Constants for Vornoi regions
26
- * @ignore
27
- */
28
- const MIDDLE_VORNOI_REGION = 0;
29
-
30
- /**
31
- * Constants for Vornoi regions
32
- * @ignore
33
- */
34
- const RIGHT_VORNOI_REGION = 1;
35
-
36
-
37
- /**
38
- * A pool of `Vector` objects that are used in calculations to avoid allocating memory.
39
- * @type {Array.<Vector2d>}
40
- * @ignore
41
- */
42
- let T_VECTORS = [];
43
- for (let v = 0; v < 10; v++) { T_VECTORS.push(new Vector2d()); }
44
-
45
- /**
46
- * A pool of arrays of numbers used in calculations to avoid allocating memory.
47
- * @type {Array.<Array.<number>>}
48
- * @ignore
49
- */
50
- let T_ARRAYS = [];
51
- for (let a = 0; a < 5; a++) { T_ARRAYS.push([]); }
52
-
53
-
54
- /**
55
- * Flattens the specified array of points onto a unit vector axis,
56
- * resulting in a one dimensional range of the minimum and
57
- * maximum value on that axis.
58
- * @ignore
59
- * @param {Array.<Vector2d>} points - The points to flatten.
60
- * @param {Vector2d} normal - The unit vector axis to flatten on.
61
- * @param {Array.<number>} result - An array. After calling this function,
62
- * result[0] will be the minimum value,
63
- * result[1] will be the maximum value.
64
- */
65
- function flattenPointsOn(points, normal, result) {
66
- let min = Number.MAX_VALUE;
67
- let max = -Number.MAX_VALUE;
68
- let len = points.length;
69
- for (let i = 0; i < len; i++) {
70
- // The magnitude of the projection of the point onto the normal
71
- const dot = points[i].dot(normal);
72
- if (dot < min) { min = dot; }
73
- if (dot > max) { max = dot; }
74
- }
75
- result[0] = min;
76
- result[1] = max;
77
- }
78
-
79
- /**
80
- * Check whether two convex polygons are separated by the specified
81
- * axis (must be a unit vector).
82
- * @ignore
83
- * @param {Vector2d} aPos - The position of the first polygon.
84
- * @param {Vector2d} bPos - The position of the second polygon.
85
- * @param {Array.<Vector2d>} aPoints - The points in the first polygon.
86
- * @param {Array.<Vector2d>} bPoints - The points in the second polygon.
87
- * @param {Vector2d} axis - The axis (unit sized) to test against. The points of both polygons
88
- * will be projected onto this axis.
89
- * @param {Response=} response - A Response object (optional) which will be populated
90
- * if the axis is not a separating axis.
91
- * @returns {boolean} true if it is a separating axis, false otherwise. If false,
92
- * and a response is passed in, information about how much overlap and
93
- * the direction of the overlap will be populated.
94
- */
95
- function isSeparatingAxis(aPos, bPos, aPoints, bPoints, axis, response) {
96
- let rangeA = T_ARRAYS.pop();
97
- let rangeB = T_ARRAYS.pop();
98
- // The magnitude of the offset between the two polygons
99
- let offsetV = T_VECTORS.pop().copy(bPos).sub(aPos);
100
- let projectedOffset = offsetV.dot(axis);
101
-
102
- // Project the polygons onto the axis.
103
- flattenPointsOn(aPoints, axis, rangeA);
104
- flattenPointsOn(bPoints, axis, rangeB);
105
- // Move B's range to its position relative to A.
106
- rangeB[0] += projectedOffset;
107
- rangeB[1] += projectedOffset;
108
- // Check if there is a gap. If there is, this is a separating axis and we can stop
109
- if (rangeA[0] > rangeB[1] || rangeB[0] > rangeA[1]) {
110
- T_VECTORS.push(offsetV);
111
- T_ARRAYS.push(rangeA);
112
- T_ARRAYS.push(rangeB);
113
- return true;
114
- }
115
-
116
- // This is not a separating axis. If we're calculating a response, calculate the overlap.
117
- if (response) {
118
- let overlap = 0;
119
- // A starts further left than B
120
- if (rangeA[0] < rangeB[0]) {
121
- response.aInB = false;
122
- // A ends before B does. We have to pull A out of B
123
- if (rangeA[1] < rangeB[1]) {
124
- overlap = rangeA[1] - rangeB[0];
125
- response.bInA = false;
126
- // B is fully inside A. Pick the shortest way out.
127
- } else {
128
- let option1 = rangeA[1] - rangeB[0];
129
- let option2 = rangeB[1] - rangeA[0];
130
- overlap = option1 < option2 ? option1 : -option2;
131
- }
132
- // B starts further left than A
133
- } else {
134
- response.bInA = false;
135
- // B ends before A ends. We have to push A out of B
136
- if (rangeA[1] > rangeB[1]) {
137
- overlap = rangeA[0] - rangeB[1];
138
- response.aInB = false;
139
- // A is fully inside B. Pick the shortest way out.
140
- } else {
141
- let option11 = rangeA[1] - rangeB[0];
142
- let option22 = rangeB[1] - rangeA[0];
143
- overlap = option11 < option22 ? option11 : -option22;
144
- }
145
- }
146
-
147
- // If this is the smallest amount of overlap we've seen so far, set it as the minimum overlap.
148
- let absOverlap = Math.abs(overlap);
149
- if (absOverlap < response.overlap) {
150
- response.overlap = absOverlap;
151
- response.overlapN.copy(axis);
152
- if (overlap < 0) {
153
- response.overlapN.negateSelf();
154
- }
155
- }
156
- }
157
- T_VECTORS.push(offsetV);
158
- T_ARRAYS.push(rangeA);
159
- T_ARRAYS.push(rangeB);
160
- return false;
161
- }
162
-
163
-
164
- /**
165
- * Calculates which Vornoi region a point is on a line segment. <br>
166
- * It is assumed that both the line and the point are relative to `(0,0)`<br>
167
- * <pre>
168
- * | (0) |
169
- * (-1) [S]--------------[E] (1)
170
- * | (0) |
171
- * </pre>
172
- *
173
- * @ignore
174
- * @param {Vector2d} line - The line segment.
175
- * @param {Vector2d} point - The point.
176
- * @returns {number} LEFT_VORNOI_REGION (-1) if it is the left region,
177
- * MIDDLE_VORNOI_REGION (0) if it is the middle region,
178
- * RIGHT_VORNOI_REGION (1) if it is the right region.
179
- */
180
- function vornoiRegion(line, point) {
181
- let len2 = line.length2();
182
- let dp = point.dot(line);
183
- if (dp < 0) {
184
- // If the point is beyond the start of the line, it is in the
185
- // left vornoi region.
186
- return LEFT_VORNOI_REGION;
187
- } else if (dp > len2) {
188
- // If the point is beyond the end of the line, it is in the
189
- // right vornoi region.
190
- return RIGHT_VORNOI_REGION;
191
- } else {
192
- // Otherwise, it's in the middle one.
193
- return MIDDLE_VORNOI_REGION;
194
- }
195
- }
196
-
197
- /**
198
- * Checks whether polygons collide.
199
- * @ignore
200
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
201
- * @param {Polygon} polyA - a reference to the object A Polygon to be tested
202
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
203
- * @param {Polygon} polyB - a reference to the object B Polygon to be tested
204
- * @param {Response=} response - Response object (optional) that will be populated if they intersect.
205
- * @returns {boolean} true if they intersect, false if they don't.
206
- */
207
- export function testPolygonPolygon(a, polyA, b, polyB, response) {
208
- // specific point for
209
- let aPoints = polyA.points;
210
- let aNormals = polyA.normals;
211
- let aLen = aNormals.length;
212
- let bPoints = polyB.points;
213
- let bNormals = polyB.normals;
214
- let bLen = bNormals.length;
215
- // aboslute shape position
216
- let posA = T_VECTORS.pop().copy(a.pos).add(a.ancestor.getAbsolutePosition()).add(polyA.pos);
217
- let posB = T_VECTORS.pop().copy(b.pos).add(b.ancestor.getAbsolutePosition()).add(polyB.pos);
218
-
219
- // If any of the edge normals of A is a separating axis, no intersection.
220
- for (let i = 0; i < aLen; i++) {
221
- if (isSeparatingAxis(posA, posB, aPoints, bPoints, aNormals[i], response)) {
222
- T_VECTORS.push(posA);
223
- T_VECTORS.push(posB);
224
- return false;
225
- }
226
- }
227
-
228
- // If any of the edge normals of B is a separating axis, no intersection.
229
- for (let i = 0; i < bLen; i++) {
230
- if (isSeparatingAxis(posA, posB, aPoints, bPoints, bNormals[i], response)) {
231
- T_VECTORS.push(posA);
232
- T_VECTORS.push(posB);
233
- return false;
234
- }
235
- }
236
-
237
- // Since none of the edge normals of A or B are a separating axis, there is an intersection
238
- // and we've already calculated the smallest overlap (in isSeparatingAxis). Calculate the
239
- // final overlap vector.
240
- if (response) {
241
- response.a = a;
242
- response.b = b;
243
- response.overlapV.copy(response.overlapN).scale(response.overlap);
244
- }
245
- T_VECTORS.push(posA);
246
- T_VECTORS.push(posB);
247
- return true;
248
- }
249
-
250
- /**
251
- * Check if two Ellipse collide.
252
- * @ignore
253
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
254
- * @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
255
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
256
- * @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
257
- * @param {Response=} response - Response object (optional) that will be populated if
258
- * the circles intersect.
259
- * @returns {boolean} true if the circles intersect, false if they don't.
260
- */
261
- export function testEllipseEllipse(a, ellipseA, b, ellipseB, response) {
262
- // Check if the distance between the centers of the two
263
- // circles is greater than their combined radius.
264
- let differenceV = T_VECTORS.pop().copy(b.pos).add(b.ancestor.getAbsolutePosition()).add(ellipseB.pos)
265
- .sub(a.pos).add(a.ancestor.getAbsolutePosition()).sub(ellipseA.pos);
266
- let radiusA = ellipseA.radius;
267
- let radiusB = ellipseB.radius;
268
- let totalRadius = radiusA + radiusB;
269
- let totalRadiusSq = totalRadius * totalRadius;
270
- let distanceSq = differenceV.length2();
271
- // If the distance is bigger than the combined radius, they don't intersect.
272
- if (distanceSq > totalRadiusSq) {
273
- T_VECTORS.push(differenceV);
274
- return false;
275
- }
276
- // They intersect. If we're calculating a response, calculate the overlap.
277
- if (response) {
278
- let dist = Math.sqrt(distanceSq);
279
- response.a = a;
280
- response.b = b;
281
- response.overlap = totalRadius - dist;
282
- response.overlapN.copy(differenceV.normalize());
283
- response.overlapV.copy(differenceV).scale(response.overlap);
284
- response.aInB = radiusA <= radiusB && dist <= radiusB - radiusA;
285
- response.bInA = radiusB <= radiusA && dist <= radiusA - radiusB;
286
- }
287
- T_VECTORS.push(differenceV);
288
- return true;
289
- }
290
-
291
- /**
292
- * Check if a polygon and an ellipse collide.
293
- * @ignore
294
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
295
- * @param {Polygon} polyA - a reference to the object A Polygon to be tested
296
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
297
- * @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
298
- * @param {Response=} response - Response object (optional) that will be populated if they intersect.
299
- * @returns {boolean} true if they intersect, false if they don't.
300
- */
301
- export function testPolygonEllipse(a, polyA, b, ellipseB, response) {
302
- // Get the position of the circle relative to the polygon.
303
- let circlePos = T_VECTORS.pop().copy(b.pos).add(b.ancestor.getAbsolutePosition()).add(ellipseB.pos)
304
- .sub(a.pos).add(a.ancestor.getAbsolutePosition()).sub(polyA.pos);
305
- let radius = ellipseB.radius;
306
- let radius2 = radius * radius;
307
- let points = polyA.points;
308
- let edges = polyA.edges;
309
- let len = edges.length;
310
- let edge = T_VECTORS.pop();
311
- let normal = T_VECTORS.pop();
312
- let point = T_VECTORS.pop();
313
- let dist = 0;
314
-
315
- // For each edge in the polygon:
316
- for (let i = 0; i < len; i++) {
317
- const next = i === len - 1 ? 0 : i + 1;
318
- const prev = i === 0 ? len - 1 : i - 1;
319
- let overlap = 0;
320
- let overlapN = null;
321
-
322
- // Get the edge.
323
- edge.copy(edges[i]);
324
- // Calculate the center of the circle relative to the starting point of the edge.
325
- point.copy(circlePos).sub(points[i]);
326
-
327
- // If the distance between the center of the circle and the point
328
- // is bigger than the radius, the polygon is definitely not fully in
329
- // the circle.
330
- if (response && point.length2() > radius2) {
331
- response.aInB = false;
332
- }
333
-
334
- // Calculate which Vornoi region the center of the circle is in.
335
- let region = vornoiRegion(edge, point);
336
- let inRegion = true;
337
- // If it's the left region:
338
- if (region === LEFT_VORNOI_REGION) {
339
- let point2 = null;
340
- if (len > 1) {
341
- // We need to make sure we're in the RIGHT_VORNOI_REGION of the previous edge.
342
- edge.copy(edges[prev]);
343
- // Calculate the center of the circle relative the starting point of the previous edge
344
- point2 = T_VECTORS.pop().copy(circlePos).sub(points[prev]);
345
- region = vornoiRegion(edge, point2);
346
- if (region !== RIGHT_VORNOI_REGION) {
347
- inRegion = false;
348
- }
349
- }
350
-
351
- if (inRegion) {
352
- // It's in the region we want. Check if the circle intersects the point.
353
- dist = point.length();
354
- if (dist > radius) {
355
- // No intersection
356
- T_VECTORS.push(circlePos);
357
- T_VECTORS.push(edge);
358
- T_VECTORS.push(normal);
359
- T_VECTORS.push(point);
360
- if (point2) {
361
- T_VECTORS.push(point2);
362
- }
363
- return false;
364
- } else if (response) {
365
- // It intersects, calculate the overlap.
366
- response.bInA = false;
367
- overlapN = point.normalize();
368
- overlap = radius - dist;
369
- }
370
- }
371
-
372
- if (point2) {
373
- T_VECTORS.push(point2);
374
- }
375
- // If it's the right region:
376
- } else if (region === RIGHT_VORNOI_REGION) {
377
- if (len > 1) {
378
- // We need to make sure we're in the left region on the next edge
379
- edge.copy(edges[next]);
380
- // Calculate the center of the circle relative to the starting point of the next edge.
381
- point.copy(circlePos).sub(points[next]);
382
- region = vornoiRegion(edge, point);
383
- if (region !== LEFT_VORNOI_REGION) {
384
- inRegion = false;
385
- }
386
- }
387
-
388
- if (inRegion) {
389
- // It's in the region we want. Check if the circle intersects the point.
390
- dist = point.length();
391
- if (dist > radius) {
392
- // No intersection
393
- T_VECTORS.push(circlePos);
394
- T_VECTORS.push(edge);
395
- T_VECTORS.push(normal);
396
- T_VECTORS.push(point);
397
- return false;
398
- } else if (response) {
399
- // It intersects, calculate the overlap.
400
- response.bInA = false;
401
- overlapN = point.normalize();
402
- overlap = radius - dist;
403
- }
404
- }
405
- // Otherwise, it's the middle region:
406
- } else {
407
- // Need to check if the circle is intersecting the edge,
408
- // Get the normal.
409
- normal.copy(polyA.normals[i]);
410
- // Find the perpendicular distance between the center of the
411
- // circle and the edge.
412
- dist = point.dot(normal);
413
- let distAbs = Math.abs(dist);
414
- // If the circle is on the outside of the edge, there is no intersection.
415
- if ((len === 1 || dist > 0) && distAbs > radius) {
416
- // No intersection
417
- T_VECTORS.push(circlePos);
418
- T_VECTORS.push(edge);
419
- T_VECTORS.push(normal);
420
- T_VECTORS.push(point);
421
- return false;
422
- } else if (response) {
423
- // It intersects, calculate the overlap.
424
- overlapN = normal;
425
- overlap = radius - dist;
426
- // If the center of the circle is on the outside of the edge, or part of the
427
- // circle is on the outside, the circle is not fully inside the polygon.
428
- if (dist >= 0 || overlap < 2 * radius) {
429
- response.bInA = false;
430
- }
431
- }
432
- }
433
-
434
- // If this is the smallest overlap we've seen, keep it.
435
- // (overlapN may be null if the circle was in the wrong Vornoi region).
436
- if (overlapN && response && Math.abs(overlap) < Math.abs(response.overlap)) {
437
- response.overlap = overlap;
438
- response.overlapN.copy(overlapN);
439
- }
440
- }
441
-
442
- // Calculate the final overlap vector - based on the smallest overlap.
443
- if (response) {
444
- response.a = a;
445
- response.b = b;
446
- response.overlapV.copy(response.overlapN).scale(response.overlap);
447
- }
448
- T_VECTORS.push(circlePos);
449
- T_VECTORS.push(edge);
450
- T_VECTORS.push(normal);
451
- T_VECTORS.push(point);
452
- return true;
453
- }
454
-
455
- /**
456
- * Check if an ellipse and a polygon collide. <br>
457
- * **NOTE:** This is slightly less efficient than testPolygonEllipse as it just
458
- * runs testPolygonEllipse and reverses the response at the end.
459
- * @ignore
460
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
461
- * @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
462
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
463
- * @param {Polygon} polyB - a reference to the object B Polygon to be tested
464
- * @param {Response=} response - Response object (optional) that will be populated if
465
- * they intersect.
466
- * @returns {boolean} true if they intersect, false if they don't.
467
- */
468
- export function testEllipsePolygon(a, ellipseA, b, polyB, response) {
469
- // Test the polygon against the circle.
470
- let result = testPolygonEllipse(b, polyB, a, ellipseA, response);
471
- if (result && response) {
472
- // Swap A and B in the response.
473
- let resa = response.a;
474
- let aInB = response.aInB;
475
- response.overlapN.negateSelf();
476
- response.overlapV.negateSelf();
477
- response.a = response.b;
478
- response.b = resa;
479
- response.aInB = response.bInA;
480
- response.bInA = aInB;
481
- }
482
- return result;
483
- }
@@ -1,220 +0,0 @@
1
- import Vector2d from "./../math/vector2.js";
2
- import * as event from "./../system/event.js";
3
- import QuadTree from "./quadtree.js";
4
- import Container from "../renderable/container.js";
5
- import collision from "./collision.js";
6
- import Detector from "./detector.js";
7
- import state from "./../state/state.js";
8
- import { hasRegisteredEvents } from "../input/pointerevent.js";
9
-
10
- /**
11
- * @import Application from "./../application/application.js";
12
- */
13
-
14
- /**
15
- * @classdesc
16
- * an object representing the physic world, and responsible for managing and updating all childs and physics
17
- * @augments Container
18
- */
19
- export default class World extends Container {
20
- /**
21
- * @param {number} [x=0] - position of the container (accessible via the inherited pos.x property)
22
- * @param {number} [y=0] - position of the container (accessible via the inherited pos.y property)
23
- * @param {number} [width=game.viewport.width] - width of the container
24
- * @param {number} [height=game.viewport.height] - height of the container
25
- */
26
- constructor(x = 0, y = 0, width = Infinity, height = Infinity) {
27
- // call the super constructor
28
- super(x, y, width, height, true);
29
-
30
- // world is the root container
31
- this.name = "rootContainer";
32
-
33
- // to mimic the previous behavior
34
- this.anchorPoint.set(0, 0);
35
-
36
- /**
37
- * the application (game) this physic world belong to
38
- * @type {Application}
39
- */
40
- this.app = undefined;
41
-
42
- /**
43
- * the physic engine used by melonJS
44
- * @see ApplicationSettings.physic
45
- * @type {string}
46
- * @default "builtin"
47
- * @example
48
- * // disable builtin physic
49
- * me.game.world.physic = "none";
50
- */
51
- this.physic = "builtin";
52
-
53
- /**
54
- * the rate at which the game world is updated,
55
- * may be greater than or lower than the display fps
56
- * @default 60
57
- * @see timer.maxfps
58
- */
59
- this.fps = 60;
60
-
61
- /**
62
- * world gravity
63
- * @type {Vector2d}
64
- * @default <0,0.98>
65
- */
66
- this.gravity = new Vector2d(0, 0.98);
67
-
68
- /**
69
- * Enabled pre-rendering for all tile layers. <br>
70
- * If false layers are rendered dynamically, if true layers are first fully rendered into an offscreen canvas.<br>
71
- * the "best" rendering method depends of your game (amount of layer, layer size, amount of tiles per layer, etc.)<br>
72
- * 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}).
73
- * @type {boolean}
74
- * @default false
75
- */
76
- this.preRender = false;
77
-
78
- /**
79
- * the active physic bodies in this simulation
80
- * @type {Set<Body>}
81
- */
82
- this.bodies = new Set();
83
-
84
- /**
85
- * the instance of the game world quadtree used for broadphase (used by the builtin physic and pointer event implementation)
86
- * @type {QuadTree}
87
- */
88
- this.broadphase = new QuadTree(this, this.getBounds().clone(), collision.maxChildren, collision.maxDepth);
89
-
90
- /**
91
- * the collision detector instance used by this world instance
92
- * @type {Detector}
93
- */
94
- this.detector = new Detector(this);
95
-
96
- // reset the world container on the game reset signal
97
- event.on(event.GAME_RESET, this.reset, this);
98
-
99
- // update the broadband world bounds if a new level is loaded
100
- event.on(event.LEVEL_LOADED, () => {
101
- // reset the quadtree
102
- this.broadphase.clear(this.getBounds());
103
- });
104
- }
105
-
106
- /**
107
- * reset the game world
108
- */
109
- reset() {
110
- // clear the quadtree
111
- this.broadphase.clear();
112
-
113
- // reset the anchorPoint
114
- this.anchorPoint.set(0, 0);
115
-
116
- // call the parent method
117
- super.reset();
118
-
119
- // empty the list of active physic bodies
120
- // Note: this should be empty already when calling the parent method
121
- this.bodies.clear();
122
- }
123
-
124
- /**
125
- * Add a physic body to the game world
126
- * @see Container.addChild
127
- * @param {Body} body
128
- * @returns {World} this game world
129
- */
130
- addBody(body) {
131
- //add it to the list of active body if builtin physic is enabled
132
- if (this.physic === "builtin") {
133
- this.bodies.add(body);
134
- }
135
- return this;
136
- }
137
-
138
- /**
139
- * Remove a physic body from the game world
140
- * @see Container.removeChild
141
- * @param {Body} body
142
- * @returns {World} this game world
143
- */
144
- removeBody(body) {
145
- //remove from the list of active body if builtin physic is enabled
146
- if (this.physic === "builtin") {
147
- this.bodies.delete(body);
148
- }
149
- return this;
150
- }
151
-
152
- /**
153
- * Apply gravity to the given body
154
- * @private
155
- * @param {Body} body
156
- */
157
- bodyApplyGravity(body) {
158
- // apply gravity to the current velocity
159
- if (!body.ignoreGravity && body.gravityScale !== 0) {
160
- let gravity = this.gravity;
161
-
162
- // apply gravity if defined
163
- body.force.x += (body.mass * gravity.x) * body.gravityScale;
164
- body.force.y += (body.mass * gravity.y) * body.gravityScale;
165
- }
166
- }
167
-
168
- /**
169
- * update the game world
170
- * @param {number} dt - the time passed since the last frame update
171
- * @returns {boolean} true if the world is dirty
172
- */
173
- update(dt) {
174
- // only update the quadtree if necessary
175
- if (this.physic === "builtin" || hasRegisteredEvents() === true) {
176
- // clear the quadtree
177
- this.broadphase.clear();
178
- // insert the world container (children) into the quadtree
179
- this.broadphase.insertContainer(this);
180
- }
181
-
182
- // update the builtin physic simulation
183
- this.step(dt);
184
-
185
- // call the super constructor
186
- return super.update(dt);
187
- }
188
-
189
- /**
190
- * update the builtin physic simulation by one step (called by the game world update method)
191
- * @param {number} dt - the time passed since the last frame update
192
- */
193
- step(dt) {
194
- if (this.physic === "builtin") {
195
- let isPaused = state.isPaused();
196
- // iterate through all bodies
197
- this.bodies.forEach((body) => {
198
- if (!body.isStatic) {
199
- let ancestor = body.ancestor;
200
- // if the game is not paused, and ancestor can be updated
201
- if (!(isPaused && (!ancestor.updateWhenPaused)) && (ancestor.inViewport || ancestor.alwaysUpdate)) {
202
- // apply gravity to this body
203
- this.bodyApplyGravity(body);
204
- // body update function (this moves it)
205
- if (body.update(dt) === true) {
206
- // mark ancestor as dirty
207
- ancestor.isDirty = true;
208
- }
209
- // handle collisions against other objects
210
- this.detector.collisions(ancestor);
211
- // clear body force
212
- body.force.set(0, 0);
213
- }
214
- }
215
- });
216
- }
217
- event.emit(event.WORLD_STEP, dt);
218
- }
219
- }
220
-