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,473 +0,0 @@
1
- /*
2
- * Separating Axis Theorem implementation, based on the SAT.js library by Jim Riecken <jimr@jimr.ca>
3
- * Available under the MIT License - https://github.com/jriecken/sat-js
4
- */
5
-
6
- import Vector2d from "./../math/vector2.js";
7
-
8
- /**
9
- * Constants for Vornoi regions
10
- * @ignore
11
- */
12
- const LEFT_VORNOI_REGION = -1;
13
-
14
- /**
15
- * Constants for Vornoi regions
16
- * @ignore
17
- */
18
- const MIDDLE_VORNOI_REGION = 0;
19
-
20
- /**
21
- * Constants for Vornoi regions
22
- * @ignore
23
- */
24
- const RIGHT_VORNOI_REGION = 1;
25
-
26
-
27
- /**
28
- * A pool of `Vector` objects that are used in calculations to avoid allocating memory.
29
- * @type {Array.<Vector2d>}
30
- * @ignore
31
- */
32
- let T_VECTORS = [];
33
- for (let v = 0; v < 10; v++) { T_VECTORS.push(new Vector2d()); }
34
-
35
- /**
36
- * A pool of arrays of numbers used in calculations to avoid allocating memory.
37
- * @type {Array.<Array.<number>>}
38
- * @ignore
39
- */
40
- let T_ARRAYS = [];
41
- for (let a = 0; a < 5; a++) { T_ARRAYS.push([]); }
42
-
43
-
44
- /**
45
- * Flattens the specified array of points onto a unit vector axis,
46
- * resulting in a one dimensional range of the minimum and
47
- * maximum value on that axis.
48
- * @ignore
49
- * @param {Array.<Vector2d>} points - The points to flatten.
50
- * @param {Vector2d} normal - The unit vector axis to flatten on.
51
- * @param {Array.<number>} result - An array. After calling this function,
52
- * result[0] will be the minimum value,
53
- * result[1] will be the maximum value.
54
- */
55
- function flattenPointsOn(points, normal, result) {
56
- let min = Number.MAX_VALUE;
57
- let max = -Number.MAX_VALUE;
58
- let len = points.length;
59
- for (let i = 0; i < len; i++) {
60
- // The magnitude of the projection of the point onto the normal
61
- const dot = points[i].dot(normal);
62
- if (dot < min) { min = dot; }
63
- if (dot > max) { max = dot; }
64
- }
65
- result[0] = min;
66
- result[1] = max;
67
- }
68
-
69
- /**
70
- * Check whether two convex polygons are separated by the specified
71
- * axis (must be a unit vector).
72
- * @ignore
73
- * @param {Vector2d} aPos - The position of the first polygon.
74
- * @param {Vector2d} bPos - The position of the second polygon.
75
- * @param {Array.<Vector2d>} aPoints - The points in the first polygon.
76
- * @param {Array.<Vector2d>} bPoints - The points in the second polygon.
77
- * @param {Vector2d} axis - The axis (unit sized) to test against. The points of both polygons
78
- * will be projected onto this axis.
79
- * @param {Response=} response - A Response object (optional) which will be populated
80
- * if the axis is not a separating axis.
81
- * @returns {boolean} true if it is a separating axis, false otherwise. If false,
82
- * and a response is passed in, information about how much overlap and
83
- * the direction of the overlap will be populated.
84
- */
85
- function isSeparatingAxis(aPos, bPos, aPoints, bPoints, axis, response) {
86
- let rangeA = T_ARRAYS.pop();
87
- let rangeB = T_ARRAYS.pop();
88
- // The magnitude of the offset between the two polygons
89
- let offsetV = T_VECTORS.pop().copy(bPos).sub(aPos);
90
- let projectedOffset = offsetV.dot(axis);
91
-
92
- // Project the polygons onto the axis.
93
- flattenPointsOn(aPoints, axis, rangeA);
94
- flattenPointsOn(bPoints, axis, rangeB);
95
- // Move B's range to its position relative to A.
96
- rangeB[0] += projectedOffset;
97
- rangeB[1] += projectedOffset;
98
- // Check if there is a gap. If there is, this is a separating axis and we can stop
99
- if (rangeA[0] > rangeB[1] || rangeB[0] > rangeA[1]) {
100
- T_VECTORS.push(offsetV);
101
- T_ARRAYS.push(rangeA);
102
- T_ARRAYS.push(rangeB);
103
- return true;
104
- }
105
-
106
- // This is not a separating axis. If we're calculating a response, calculate the overlap.
107
- if (response) {
108
- let overlap = 0;
109
- // A starts further left than B
110
- if (rangeA[0] < rangeB[0]) {
111
- response.aInB = false;
112
- // A ends before B does. We have to pull A out of B
113
- if (rangeA[1] < rangeB[1]) {
114
- overlap = rangeA[1] - rangeB[0];
115
- response.bInA = false;
116
- // B is fully inside A. Pick the shortest way out.
117
- } else {
118
- let option1 = rangeA[1] - rangeB[0];
119
- let option2 = rangeB[1] - rangeA[0];
120
- overlap = option1 < option2 ? option1 : -option2;
121
- }
122
- // B starts further left than A
123
- } else {
124
- response.bInA = false;
125
- // B ends before A ends. We have to push A out of B
126
- if (rangeA[1] > rangeB[1]) {
127
- overlap = rangeA[0] - rangeB[1];
128
- response.aInB = false;
129
- // A is fully inside B. Pick the shortest way out.
130
- } else {
131
- let option11 = rangeA[1] - rangeB[0];
132
- let option22 = rangeB[1] - rangeA[0];
133
- overlap = option11 < option22 ? option11 : -option22;
134
- }
135
- }
136
-
137
- // If this is the smallest amount of overlap we've seen so far, set it as the minimum overlap.
138
- let absOverlap = Math.abs(overlap);
139
- if (absOverlap < response.overlap) {
140
- response.overlap = absOverlap;
141
- response.overlapN.copy(axis);
142
- if (overlap < 0) {
143
- response.overlapN.negateSelf();
144
- }
145
- }
146
- }
147
- T_VECTORS.push(offsetV);
148
- T_ARRAYS.push(rangeA);
149
- T_ARRAYS.push(rangeB);
150
- return false;
151
- }
152
-
153
-
154
- /**
155
- * Calculates which Vornoi region a point is on a line segment. <br>
156
- * It is assumed that both the line and the point are relative to `(0,0)`<br>
157
- * <pre>
158
- * | (0) |
159
- * (-1) [S]--------------[E] (1)
160
- * | (0) |
161
- * </pre>
162
- *
163
- * @ignore
164
- * @param {Vector2d} line - The line segment.
165
- * @param {Vector2d} point - The point.
166
- * @returns {number} LEFT_VORNOI_REGION (-1) if it is the left region,
167
- * MIDDLE_VORNOI_REGION (0) if it is the middle region,
168
- * RIGHT_VORNOI_REGION (1) if it is the right region.
169
- */
170
- function vornoiRegion(line, point) {
171
- let len2 = line.length2();
172
- let dp = point.dot(line);
173
- if (dp < 0) {
174
- // If the point is beyond the start of the line, it is in the
175
- // left vornoi region.
176
- return LEFT_VORNOI_REGION;
177
- } else if (dp > len2) {
178
- // If the point is beyond the end of the line, it is in the
179
- // right vornoi region.
180
- return RIGHT_VORNOI_REGION;
181
- } else {
182
- // Otherwise, it's in the middle one.
183
- return MIDDLE_VORNOI_REGION;
184
- }
185
- }
186
-
187
- /**
188
- * Checks whether polygons collide.
189
- * @ignore
190
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
191
- * @param {Polygon} polyA - a reference to the object A Polygon to be tested
192
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
193
- * @param {Polygon} polyB - a reference to the object B Polygon to be tested
194
- * @param {Response=} response - Response object (optional) that will be populated if they intersect.
195
- * @returns {boolean} true if they intersect, false if they don't.
196
- */
197
- export function testPolygonPolygon(a, polyA, b, polyB, response) {
198
- // specific point for
199
- let aPoints = polyA.points;
200
- let aNormals = polyA.normals;
201
- let aLen = aNormals.length;
202
- let bPoints = polyB.points;
203
- let bNormals = polyB.normals;
204
- let bLen = bNormals.length;
205
- // aboslute shape position
206
- let posA = T_VECTORS.pop().copy(a.pos).add(a.ancestor.getAbsolutePosition()).add(polyA.pos);
207
- let posB = T_VECTORS.pop().copy(b.pos).add(b.ancestor.getAbsolutePosition()).add(polyB.pos);
208
-
209
- // If any of the edge normals of A is a separating axis, no intersection.
210
- for (let i = 0; i < aLen; i++) {
211
- if (isSeparatingAxis(posA, posB, aPoints, bPoints, aNormals[i], response)) {
212
- T_VECTORS.push(posA);
213
- T_VECTORS.push(posB);
214
- return false;
215
- }
216
- }
217
-
218
- // If any of the edge normals of B is a separating axis, no intersection.
219
- for (let i = 0; i < bLen; i++) {
220
- if (isSeparatingAxis(posA, posB, aPoints, bPoints, bNormals[i], response)) {
221
- T_VECTORS.push(posA);
222
- T_VECTORS.push(posB);
223
- return false;
224
- }
225
- }
226
-
227
- // Since none of the edge normals of A or B are a separating axis, there is an intersection
228
- // and we've already calculated the smallest overlap (in isSeparatingAxis). Calculate the
229
- // final overlap vector.
230
- if (response) {
231
- response.a = a;
232
- response.b = b;
233
- response.overlapV.copy(response.overlapN).scale(response.overlap);
234
- }
235
- T_VECTORS.push(posA);
236
- T_VECTORS.push(posB);
237
- return true;
238
- }
239
-
240
- /**
241
- * Check if two Ellipse collide.
242
- * @ignore
243
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
244
- * @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
245
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
246
- * @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
247
- * @param {Response=} response - Response object (optional) that will be populated if
248
- * the circles intersect.
249
- * @returns {boolean} true if the circles intersect, false if they don't.
250
- */
251
- export function testEllipseEllipse(a, ellipseA, b, ellipseB, response) {
252
- // Check if the distance between the centers of the two
253
- // circles is greater than their combined radius.
254
- let differenceV = T_VECTORS.pop().copy(b.pos).add(b.ancestor.getAbsolutePosition()).add(ellipseB.pos)
255
- .sub(a.pos).add(a.ancestor.getAbsolutePosition()).sub(ellipseA.pos);
256
- let radiusA = ellipseA.radius;
257
- let radiusB = ellipseB.radius;
258
- let totalRadius = radiusA + radiusB;
259
- let totalRadiusSq = totalRadius * totalRadius;
260
- let distanceSq = differenceV.length2();
261
- // If the distance is bigger than the combined radius, they don't intersect.
262
- if (distanceSq > totalRadiusSq) {
263
- T_VECTORS.push(differenceV);
264
- return false;
265
- }
266
- // They intersect. If we're calculating a response, calculate the overlap.
267
- if (response) {
268
- let dist = Math.sqrt(distanceSq);
269
- response.a = a;
270
- response.b = b;
271
- response.overlap = totalRadius - dist;
272
- response.overlapN.copy(differenceV.normalize());
273
- response.overlapV.copy(differenceV).scale(response.overlap);
274
- response.aInB = radiusA <= radiusB && dist <= radiusB - radiusA;
275
- response.bInA = radiusB <= radiusA && dist <= radiusA - radiusB;
276
- }
277
- T_VECTORS.push(differenceV);
278
- return true;
279
- }
280
-
281
- /**
282
- * Check if a polygon and an ellipse collide.
283
- * @ignore
284
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
285
- * @param {Polygon} polyA - a reference to the object A Polygon to be tested
286
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
287
- * @param {Ellipse} ellipseB - a reference to the object B Ellipse to be tested
288
- * @param {Response=} response - Response object (optional) that will be populated if they intersect.
289
- * @returns {boolean} true if they intersect, false if they don't.
290
- */
291
- export function testPolygonEllipse(a, polyA, b, ellipseB, response) {
292
- // Get the position of the circle relative to the polygon.
293
- let circlePos = T_VECTORS.pop().copy(b.pos).add(b.ancestor.getAbsolutePosition()).add(ellipseB.pos)
294
- .sub(a.pos).add(a.ancestor.getAbsolutePosition()).sub(polyA.pos);
295
- let radius = ellipseB.radius;
296
- let radius2 = radius * radius;
297
- let points = polyA.points;
298
- let edges = polyA.edges;
299
- let len = edges.length;
300
- let edge = T_VECTORS.pop();
301
- let normal = T_VECTORS.pop();
302
- let point = T_VECTORS.pop();
303
- let dist = 0;
304
-
305
- // For each edge in the polygon:
306
- for (let i = 0; i < len; i++) {
307
- const next = i === len - 1 ? 0 : i + 1;
308
- const prev = i === 0 ? len - 1 : i - 1;
309
- let overlap = 0;
310
- let overlapN = null;
311
-
312
- // Get the edge.
313
- edge.copy(edges[i]);
314
- // Calculate the center of the circle relative to the starting point of the edge.
315
- point.copy(circlePos).sub(points[i]);
316
-
317
- // If the distance between the center of the circle and the point
318
- // is bigger than the radius, the polygon is definitely not fully in
319
- // the circle.
320
- if (response && point.length2() > radius2) {
321
- response.aInB = false;
322
- }
323
-
324
- // Calculate which Vornoi region the center of the circle is in.
325
- let region = vornoiRegion(edge, point);
326
- let inRegion = true;
327
- // If it's the left region:
328
- if (region === LEFT_VORNOI_REGION) {
329
- let point2 = null;
330
- if (len > 1) {
331
- // We need to make sure we're in the RIGHT_VORNOI_REGION of the previous edge.
332
- edge.copy(edges[prev]);
333
- // Calculate the center of the circle relative the starting point of the previous edge
334
- point2 = T_VECTORS.pop().copy(circlePos).sub(points[prev]);
335
- region = vornoiRegion(edge, point2);
336
- if (region !== RIGHT_VORNOI_REGION) {
337
- inRegion = false;
338
- }
339
- }
340
-
341
- if (inRegion) {
342
- // It's in the region we want. Check if the circle intersects the point.
343
- dist = point.length();
344
- if (dist > radius) {
345
- // No intersection
346
- T_VECTORS.push(circlePos);
347
- T_VECTORS.push(edge);
348
- T_VECTORS.push(normal);
349
- T_VECTORS.push(point);
350
- if (point2) {
351
- T_VECTORS.push(point2);
352
- }
353
- return false;
354
- } else if (response) {
355
- // It intersects, calculate the overlap.
356
- response.bInA = false;
357
- overlapN = point.normalize();
358
- overlap = radius - dist;
359
- }
360
- }
361
-
362
- if (point2) {
363
- T_VECTORS.push(point2);
364
- }
365
- // If it's the right region:
366
- } else if (region === RIGHT_VORNOI_REGION) {
367
- if (len > 1) {
368
- // We need to make sure we're in the left region on the next edge
369
- edge.copy(edges[next]);
370
- // Calculate the center of the circle relative to the starting point of the next edge.
371
- point.copy(circlePos).sub(points[next]);
372
- region = vornoiRegion(edge, point);
373
- if (region !== LEFT_VORNOI_REGION) {
374
- inRegion = false;
375
- }
376
- }
377
-
378
- if (inRegion) {
379
- // It's in the region we want. Check if the circle intersects the point.
380
- dist = point.length();
381
- if (dist > radius) {
382
- // No intersection
383
- T_VECTORS.push(circlePos);
384
- T_VECTORS.push(edge);
385
- T_VECTORS.push(normal);
386
- T_VECTORS.push(point);
387
- return false;
388
- } else if (response) {
389
- // It intersects, calculate the overlap.
390
- response.bInA = false;
391
- overlapN = point.normalize();
392
- overlap = radius - dist;
393
- }
394
- }
395
- // Otherwise, it's the middle region:
396
- } else {
397
- // Need to check if the circle is intersecting the edge,
398
- // Get the normal.
399
- normal.copy(polyA.normals[i]);
400
- // Find the perpendicular distance between the center of the
401
- // circle and the edge.
402
- dist = point.dot(normal);
403
- let distAbs = Math.abs(dist);
404
- // If the circle is on the outside of the edge, there is no intersection.
405
- if ((len === 1 || dist > 0) && distAbs > radius) {
406
- // No intersection
407
- T_VECTORS.push(circlePos);
408
- T_VECTORS.push(edge);
409
- T_VECTORS.push(normal);
410
- T_VECTORS.push(point);
411
- return false;
412
- } else if (response) {
413
- // It intersects, calculate the overlap.
414
- overlapN = normal;
415
- overlap = radius - dist;
416
- // If the center of the circle is on the outside of the edge, or part of the
417
- // circle is on the outside, the circle is not fully inside the polygon.
418
- if (dist >= 0 || overlap < 2 * radius) {
419
- response.bInA = false;
420
- }
421
- }
422
- }
423
-
424
- // If this is the smallest overlap we've seen, keep it.
425
- // (overlapN may be null if the circle was in the wrong Vornoi region).
426
- if (overlapN && response && Math.abs(overlap) < Math.abs(response.overlap)) {
427
- response.overlap = overlap;
428
- response.overlapN.copy(overlapN);
429
- }
430
- }
431
-
432
- // Calculate the final overlap vector - based on the smallest overlap.
433
- if (response) {
434
- response.a = a;
435
- response.b = b;
436
- response.overlapV.copy(response.overlapN).scale(response.overlap);
437
- }
438
- T_VECTORS.push(circlePos);
439
- T_VECTORS.push(edge);
440
- T_VECTORS.push(normal);
441
- T_VECTORS.push(point);
442
- return true;
443
- }
444
-
445
- /**
446
- * Check if an ellipse and a polygon collide. <br>
447
- * **NOTE:** This is slightly less efficient than testPolygonEllipse as it just
448
- * runs testPolygonEllipse and reverses the response at the end.
449
- * @ignore
450
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} a - a reference to the object A.
451
- * @param {Ellipse} ellipseA - a reference to the object A Ellipse to be tested
452
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} b - a reference to the object B.
453
- * @param {Polygon} polyB - a reference to the object B Polygon to be tested
454
- * @param {Response=} response - Response object (optional) that will be populated if
455
- * they intersect.
456
- * @returns {boolean} true if they intersect, false if they don't.
457
- */
458
- export function testEllipsePolygon(a, ellipseA, b, polyB, response) {
459
- // Test the polygon against the circle.
460
- let result = testPolygonEllipse(b, polyB, a, ellipseA, response);
461
- if (result && response) {
462
- // Swap A and B in the response.
463
- let resa = response.a;
464
- let aInB = response.aInB;
465
- response.overlapN.negateSelf();
466
- response.overlapV.negateSelf();
467
- response.a = response.b;
468
- response.b = resa;
469
- response.aInB = response.bInA;
470
- response.bInA = aInB;
471
- }
472
- return result;
473
- }
@@ -1,216 +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
- * @classdesc
12
- * an object representing the physic world, and responsible for managing and updating all childs and physics
13
- * @augments Container
14
- */
15
- export default class World extends Container {
16
- /**
17
- * @param {number} [x=0] - position of the container (accessible via the inherited pos.x property)
18
- * @param {number} [y=0] - position of the container (accessible via the inherited pos.y property)
19
- * @param {number} [width=game.viewport.width] - width of the container
20
- * @param {number} [height=game.viewport.height] - height of the container
21
- */
22
- constructor(x = 0, y = 0, width = Infinity, height = Infinity) {
23
- // call the super constructor
24
- super(x, y, width, height, true);
25
-
26
- // world is the root container
27
- this.name = "rootContainer";
28
-
29
- // to mimic the previous behavior
30
- this.anchorPoint.set(0, 0);
31
-
32
- /**
33
- * the application (game) this physic world belong to
34
- * @type {Application}
35
- */
36
- this.app = undefined;
37
-
38
- /**
39
- * the physic engine used by melonJS
40
- * @see ApplicationSettings.physic
41
- * @type {string}
42
- * @default "builtin"
43
- * @example
44
- * // disable builtin physic
45
- * me.game.world.physic = "none";
46
- */
47
- this.physic = "builtin";
48
-
49
- /**
50
- * the rate at which the game world is updated,
51
- * may be greater than or lower than the display fps
52
- * @default 60
53
- * @see timer.maxfps
54
- */
55
- this.fps = 60;
56
-
57
- /**
58
- * world gravity
59
- * @type {Vector2d}
60
- * @default <0,0.98>
61
- */
62
- this.gravity = new Vector2d(0, 0.98);
63
-
64
- /**
65
- * Enabled pre-rendering for all tile layers. <br>
66
- * If false layers are rendered dynamically, if true layers are first fully rendered into an offscreen canvas.<br>
67
- * the "best" rendering method depends of your game (amount of layer, layer size, amount of tiles per layer, etc.)<br>
68
- * 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}).
69
- * @type {boolean}
70
- * @default false
71
- */
72
- this.preRender = false;
73
-
74
- /**
75
- * the active physic bodies in this simulation
76
- * @type {Set<Body>}
77
- */
78
- this.bodies = new Set();
79
-
80
- /**
81
- * the instance of the game world quadtree used for broadphase (used by the builtin physic and pointer event implementation)
82
- * @type {QuadTree}
83
- */
84
- this.broadphase = new QuadTree(this, this.getBounds().clone(), collision.maxChildren, collision.maxDepth);
85
-
86
- /**
87
- * the collision detector instance used by this world instance
88
- * @type {Detector}
89
- */
90
- this.detector = new Detector(this);
91
-
92
- // reset the world container on the game reset signal
93
- event.on(event.GAME_RESET, this.reset, this);
94
-
95
- // update the broadband world bounds if a new level is loaded
96
- event.on(event.LEVEL_LOADED, () => {
97
- // reset the quadtree
98
- this.broadphase.clear(this.getBounds());
99
- });
100
- }
101
-
102
- /**
103
- * reset the game world
104
- */
105
- reset() {
106
- // clear the quadtree
107
- this.broadphase.clear();
108
-
109
- // reset the anchorPoint
110
- this.anchorPoint.set(0, 0);
111
-
112
- // call the parent method
113
- super.reset();
114
-
115
- // empty the list of active physic bodies
116
- // Note: this should be empty already when calling the parent method
117
- this.bodies.clear();
118
- }
119
-
120
- /**
121
- * Add a physic body to the game world
122
- * @see Container.addChild
123
- * @param {Body} body
124
- * @returns {World} this game world
125
- */
126
- addBody(body) {
127
- //add it to the list of active body if builtin physic is enabled
128
- if (this.physic === "builtin") {
129
- this.bodies.add(body);
130
- }
131
- return this;
132
- }
133
-
134
- /**
135
- * Remove a physic body from the game world
136
- * @see Container.removeChild
137
- * @param {Body} body
138
- * @returns {World} this game world
139
- */
140
- removeBody(body) {
141
- //remove from the list of active body if builtin physic is enabled
142
- if (this.physic === "builtin") {
143
- this.bodies.delete(body);
144
- }
145
- return this;
146
- }
147
-
148
- /**
149
- * Apply gravity to the given body
150
- * @private
151
- * @param {Body} body
152
- */
153
- bodyApplyGravity(body) {
154
- // apply gravity to the current velocity
155
- if (!body.ignoreGravity && body.gravityScale !== 0) {
156
- let gravity = this.gravity;
157
-
158
- // apply gravity if defined
159
- body.force.x += (body.mass * gravity.x) * body.gravityScale;
160
- body.force.y += (body.mass * gravity.y) * body.gravityScale;
161
- }
162
- }
163
-
164
- /**
165
- * update the game world
166
- * @param {number} dt - the time passed since the last frame update
167
- * @returns {boolean} true if the world is dirty
168
- */
169
- update(dt) {
170
- // only update the quadtree if necessary
171
- if (this.physic === "builtin" || hasRegisteredEvents() === true) {
172
- // clear the quadtree
173
- this.broadphase.clear();
174
- // insert the world container (children) into the quadtree
175
- this.broadphase.insertContainer(this);
176
- }
177
-
178
- // update the builtin physic simulation
179
- this.step(dt);
180
-
181
- // call the super constructor
182
- return super.update(dt);
183
- }
184
-
185
- /**
186
- * update the builtin physic simulation by one step (called by the game world update method)
187
- * @param {number} dt - the time passed since the last frame update
188
- */
189
- step(dt) {
190
- if (this.physic === "builtin") {
191
- let isPaused = state.isPaused();
192
- // iterate through all bodies
193
- this.bodies.forEach((body) => {
194
- if (!body.isStatic) {
195
- let ancestor = body.ancestor;
196
- // if the game is not paused, and ancestor can be updated
197
- if (!(isPaused && (!ancestor.updateWhenPaused)) && (ancestor.inViewport || ancestor.alwaysUpdate)) {
198
- // apply gravity to this body
199
- this.bodyApplyGravity(body);
200
- // body update function (this moves it)
201
- if (body.update(dt) === true) {
202
- // mark ancestor as dirty
203
- ancestor.isDirty = true;
204
- }
205
- // handle collisions against other objects
206
- this.detector.collisions(ancestor);
207
- // clear body force
208
- body.force.set(0, 0);
209
- }
210
- }
211
- });
212
- }
213
- event.emit(event.WORLD_STEP, dt);
214
- }
215
- }
216
-