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,807 +0,0 @@
1
- /*!
2
- * melonJS Game Engine - v17.4.0
3
- * http://www.melonjs.org
4
- * melonjs is licensed under the MIT License.
5
- * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2024 Olivier Biot (AltByte Pte Ltd)
7
- */
8
- import { preventDefault } from './input.js';
9
- import { getBindingKey, triggerKeyEvent } from './keyboard.js';
10
- import { renderer } from '../video/video.js';
11
- import { throttle } from '../utils/function.js';
12
- import { remove } from '../utils/array.js';
13
- import { emit, POINTERLOCKCHANGE, POINTERMOVE } from '../system/event.js';
14
- import timer from '../system/timer.js';
15
- import pool from '../system/pooling.js';
16
- import { getElementBounds, hasPointerLockSupport, maxTouchPoints, touch, pointerEvent, focus, touchEvent } from '../system/device.js';
17
- import Pointer from './pointer.js';
18
- import Rect from '../geometries/rectangle.js';
19
- import { game } from '../index.js';
20
-
21
- /**
22
- * @import Vector2d from "./../math/vector2.js";
23
- */
24
-
25
- /**
26
- * A pool of `Pointer` objects to cache pointer/touch event coordinates.
27
- * @type {Array.<Vector2d>}
28
- * @ignore
29
- */
30
- let T_POINTERS = [];
31
-
32
- // list of registered Event handlers
33
- let eventHandlers = new Map();
34
-
35
- // a cache rect represeting the current pointer area
36
- let currentPointer;
37
-
38
- // some useful flags
39
- let pointerInitialized = false;
40
-
41
- // Track last event timestamp to prevent firing events out of order
42
- let lastTimeStamp = 0;
43
-
44
- // "active" list of supported events
45
- let activeEventList = [];
46
-
47
- // internal constants
48
- const WHEEL = ["wheel"];
49
- const POINTER_MOVE = ["pointermove", "mousemove", "touchmove"];
50
- const POINTER_DOWN = ["pointerdown", "mousedown", "touchstart"];
51
- const POINTER_UP = ["pointerup", "mouseup", "touchend"];
52
- const POINTER_CANCEL = ["pointercancel", "mousecancel", "touchcancel"];
53
- const POINTER_ENTER = ["pointerenter", "mouseenter", "touchenter"];
54
- const POINTER_OVER = ["pointerover", "mouseover", "touchover"];
55
- const POINTER_LEAVE = ["pointerleave", "mouseleave", "touchleave"];
56
-
57
- // list of standard pointer event type
58
- const pointerEventList = [
59
- WHEEL[0],
60
- POINTER_MOVE[0],
61
- POINTER_DOWN[0],
62
- POINTER_UP[0],
63
- POINTER_CANCEL[0],
64
- POINTER_ENTER[0],
65
- POINTER_OVER[0],
66
- POINTER_LEAVE[0]
67
- ];
68
-
69
- // legacy mouse event type
70
- const mouseEventList = [
71
- WHEEL[0],
72
- POINTER_MOVE[1],
73
- POINTER_DOWN[1],
74
- POINTER_UP[1],
75
- POINTER_CANCEL[1],
76
- POINTER_ENTER[1],
77
- POINTER_OVER[1],
78
- POINTER_LEAVE[1]
79
- ];
80
-
81
- // iOS style touch event type
82
- const touchEventList = [
83
- POINTER_MOVE[2],
84
- POINTER_DOWN[2],
85
- POINTER_UP[2],
86
- POINTER_CANCEL[2],
87
- POINTER_ENTER[2],
88
- POINTER_OVER[2],
89
- POINTER_LEAVE[2]
90
- ];
91
-
92
- const pointerEventMap = {
93
- wheel : WHEEL,
94
- pointermove: POINTER_MOVE,
95
- pointerdown: POINTER_DOWN,
96
- pointerup: POINTER_UP,
97
- pointercancel: POINTER_CANCEL,
98
- pointerenter: POINTER_ENTER,
99
- pointerover: POINTER_OVER,
100
- pointerleave: POINTER_LEAVE
101
- };
102
-
103
- /**
104
- * Array of normalized events (mouse, touch, pointer)
105
- * @ignore
106
- */
107
- let normalizedEvents = [];
108
-
109
- /**
110
- * addEventListerner for the specified event list and callback
111
- * @ignore
112
- */
113
- function registerEventListener(eventList, callback) {
114
- for (let x = 0; x < eventList.length; x++) {
115
- if (POINTER_MOVE.indexOf(eventList[x]) === -1) {
116
- pointerEventTarget.addEventListener(eventList[x], callback, { passive: (preventDefault === false) });
117
- }
118
- }
119
- }
120
-
121
- /**
122
- * enable pointer event (Pointer/Mouse/Touch)
123
- * @ignore
124
- */
125
- function enablePointerEvent() {
126
- if (!pointerInitialized) {
127
-
128
- // the current pointer area
129
- currentPointer = new Rect(0, 0, 1, 1);
130
-
131
- // instantiate a pool of pointer catched
132
- for (let v = 0; v < maxTouchPoints; v++) {
133
- T_POINTERS.push(new Pointer());
134
- }
135
-
136
- if (pointerEventTarget === null) {
137
- // default pointer event target
138
- pointerEventTarget = renderer.getCanvas();
139
- }
140
-
141
- if (pointerEvent) {
142
- // standard Pointer Events
143
- activeEventList = pointerEventList;
144
- } else {
145
- // Regular Mouse events
146
- activeEventList = mouseEventList;
147
- }
148
- if (touch && !pointerEvent) {
149
- // touch event on mobile devices
150
- activeEventList = activeEventList.concat(touchEventList);
151
- }
152
- registerEventListener(activeEventList, onPointerEvent);
153
-
154
- // set the PointerMove/touchMove/MouseMove event
155
- if (typeof(throttlingInterval) === "undefined") {
156
- // set the default value
157
- throttlingInterval = ~~(1000 / timer.maxfps);
158
- }
159
-
160
- {
161
- focus();
162
- pointerEventTarget.addEventListener(
163
- activeEventList[2], // MOUSE/POINTER DOWN
164
- () => {
165
- focus();
166
- },
167
- { passive: (preventDefault === false) }
168
- );
169
- }
170
-
171
- // if time interval <= 16, disable the feature
172
- let events = findAllActiveEvents(activeEventList, POINTER_MOVE);
173
- if (throttlingInterval < 17) {
174
- for (let i = 0; i < events.length; i++) {
175
- if (activeEventList.indexOf(events[i]) !== -1) {
176
- pointerEventTarget.addEventListener(
177
- events[i],
178
- onMoveEvent,
179
- { passive: true } // do not preventDefault on Move events
180
- );
181
- }
182
-
183
- }
184
- }
185
- else {
186
- for (let i = 0; i < events.length; i++) {
187
- if (activeEventList.indexOf(events[i]) !== -1) {
188
- pointerEventTarget.addEventListener(
189
- events[i],
190
- throttle(
191
- onMoveEvent,
192
- throttlingInterval,
193
- false
194
- ),
195
- { passive: true } // do not preventDefault on Move events
196
- );
197
- }
198
- }
199
- }
200
- // disable all gesture by default
201
- setTouchAction(pointerEventTarget);
202
-
203
- // set a on change listener on pointerlock if supported
204
- if (hasPointerLockSupport) {
205
- globalThis.document.addEventListener("pointerlockchange", () => {
206
- // change the locked status accordingly
207
- locked = globalThis.document.pointerLockElement === game.getParentElement();
208
- // emit the corresponding internal event
209
- emit(POINTERLOCKCHANGE, locked);
210
- }, true);
211
- }
212
-
213
- // all done !
214
- pointerInitialized = true;
215
- }
216
- }
217
-
218
- /**
219
- * @ignore
220
- */
221
- function findActiveEvent(activeEventList, eventTypes) {
222
- for (let i = 0; i < eventTypes.length; i++) {
223
- const event = activeEventList.indexOf(eventTypes[i]);
224
- if (event !== -1) {
225
- return eventTypes[i];
226
- }
227
- }
228
- }
229
-
230
- /**
231
- * @ignore
232
- */
233
- function findAllActiveEvents(activeEventList, eventTypes) {
234
- let events = [];
235
- for (let i = 0; i < eventTypes.length; i++) {
236
- const event = activeEventList.indexOf(eventTypes[i]);
237
- if (event !== -1) {
238
- events.push(eventTypes[i]);
239
- }
240
- }
241
-
242
- return events;
243
- }
244
-
245
- /**
246
- * @ignore
247
- */
248
- function triggerEvent(handlers, type, pointer, pointerId) {
249
- let callback;
250
- if (handlers.callbacks[type]) {
251
- handlers.pointerId = pointerId;
252
- for (let i = handlers.callbacks[type].length - 1; (i >= 0) && (callback = handlers.callbacks[type][i]); i--) {
253
- if (callback(pointer) === false) {
254
- // stop propagating the event if return false
255
- return true;
256
- }
257
- }
258
- }
259
- return false;
260
- }
261
-
262
- /**
263
- * propagate events to registered objects
264
- * @ignore
265
- */
266
- function dispatchEvent(normalizedEvents) {
267
- let handled = false;
268
-
269
- while (normalizedEvents.length > 0) {
270
-
271
- // keep a reference to the last item
272
- let pointer = normalizedEvents.pop();
273
- // and put it back into our cache
274
- T_POINTERS.push(pointer);
275
-
276
- // Do not fire older touch events (not required for PointerEvent type)
277
- if (pointer.isNormalized === true && typeof(pointer.event.timeStamp) !== "undefined") {
278
- if (pointer.event.timeStamp < lastTimeStamp) {
279
- continue;
280
- }
281
- lastTimeStamp = pointer.event.timeStamp;
282
- }
283
-
284
- currentPointer.setShape(
285
- pointer.gameWorldX,
286
- pointer.gameWorldY,
287
- pointer.width,
288
- pointer.height
289
- );
290
-
291
- // trigger a global event for pointer move
292
- if (POINTER_MOVE.includes(pointer.type)) {
293
- pointer.gameX = pointer.gameLocalX = pointer.gameScreenX;
294
- pointer.gameY = pointer.gameLocalY = pointer.gameScreenY;
295
- emit(POINTERMOVE, pointer);
296
- }
297
-
298
- // fetch valid candiates from the game world container
299
- let candidates = game.world.broadphase.retrieve(currentPointer, game.world._sortReverseZ);
300
-
301
- // add the main game viewport to the list of candidates
302
- candidates = candidates.concat([ game.viewport ]);
303
-
304
- for (let c = candidates.length, candidate; c--, (candidate = candidates[c]);) {
305
- if (eventHandlers.has(candidate) && (candidate.isKinematic !== true)) {
306
- const handlers = eventHandlers.get(candidate);
307
- const region = handlers.region;
308
- const ancestor = region.ancestor;
309
- const bounds = region.getBounds();
310
- let eventInBounds = false;
311
-
312
- if (region.isFloating === true) {
313
- pointer.gameX = pointer.gameLocalX = pointer.gameScreenX;
314
- pointer.gameY = pointer.gameLocalY = pointer.gameScreenY;
315
- } else {
316
- pointer.gameX = pointer.gameLocalX = pointer.gameWorldX;
317
- pointer.gameY = pointer.gameLocalY = pointer.gameWorldY;
318
- }
319
-
320
- // adjust gameLocalX to specify coordinates
321
- // within the region ancestor container
322
- if (typeof ancestor !== "undefined") {
323
- let parentBounds = ancestor.getBounds();
324
- pointer.gameLocalX = pointer.gameX - parentBounds.x;
325
- pointer.gameLocalY = pointer.gameY - parentBounds.y;
326
- }
327
-
328
- eventInBounds = bounds.contains(pointer.gameX, pointer.gameY);
329
-
330
- switch (pointer.type) {
331
- case POINTER_MOVE[0]:
332
- case POINTER_MOVE[1]:
333
- case POINTER_MOVE[2]:
334
- case POINTER_MOVE[3]:
335
- // moved out of bounds: trigger the POINTER_LEAVE callbacks
336
- if (handlers.pointerId === pointer.pointerId && !eventInBounds) {
337
- if (triggerEvent(handlers, findActiveEvent(activeEventList, POINTER_LEAVE), pointer, null)) {
338
- handled = true;
339
- break;
340
- }
341
- }
342
- // no pointer & moved inside of bounds: trigger the POINTER_ENTER callbacks
343
- else if (handlers.pointerId === null && eventInBounds) {
344
- if (triggerEvent(handlers, findActiveEvent(activeEventList, POINTER_ENTER), pointer, pointer.pointerId)) {
345
- handled = true;
346
- break;
347
- }
348
- }
349
-
350
- // trigger the POINTER_MOVE callbacks
351
- if (eventInBounds && triggerEvent(handlers, pointer.type, pointer, pointer.pointerId)) {
352
- handled = true;
353
- break;
354
- }
355
- break;
356
-
357
- case POINTER_UP[0]:
358
- case POINTER_UP[1]:
359
- case POINTER_UP[2]:
360
- case POINTER_UP[3]:
361
- // pointer defined & inside of bounds: trigger the POINTER_UP callback
362
- if (handlers.pointerId === pointer.pointerId && eventInBounds) {
363
- // trigger the corresponding callback
364
- if (triggerEvent(handlers, pointer.type, pointer, null)) {
365
- handled = true;
366
- break;
367
- }
368
- }
369
- break;
370
-
371
- case POINTER_CANCEL[0]:
372
- case POINTER_CANCEL[1]:
373
- case POINTER_CANCEL[2]:
374
- case POINTER_CANCEL[3]:
375
- // pointer defined: trigger the POINTER_CANCEL callback
376
- if (handlers.pointerId === pointer.pointerId) {
377
- // trigger the corresponding callback
378
- if (triggerEvent(handlers, pointer.type, pointer, null)) {
379
- handled = true;
380
- break;
381
- }
382
- }
383
- break;
384
-
385
- default:
386
- // event inside of bounds: trigger the POINTER_DOWN or WHEEL callback
387
- if (eventInBounds) {
388
- // trigger the corresponding callback
389
- if (triggerEvent(handlers, pointer.type, pointer, pointer.pointerId)) {
390
- handled = true;
391
- break;
392
- }
393
- }
394
- break;
395
- }
396
- }
397
- if (handled === true) {
398
- // stop iterating through this list of candidates
399
- break;
400
- }
401
- }
402
- }
403
- return handled;
404
- }
405
-
406
- /**
407
- * translate event coordinates
408
- * @ignore
409
- */
410
- function normalizeEvent(originalEvent) {
411
- let _pointer;
412
-
413
- // PointerEvent or standard Mouse event
414
- if (touchEvent && originalEvent.changedTouches) {
415
- // iOS/Android Touch event
416
- for (let i = 0, l = originalEvent.changedTouches.length; i < l; i++) {
417
- const touchEvent = originalEvent.changedTouches[i];
418
- _pointer = T_POINTERS.pop();
419
- _pointer.setEvent(
420
- originalEvent,
421
- touchEvent.pageX,
422
- touchEvent.pageY,
423
- touchEvent.clientX,
424
- touchEvent.clientY,
425
- touchEvent.identifier
426
- );
427
- normalizedEvents.push(_pointer);
428
- }
429
- } else {
430
- // Mouse or PointerEvent
431
- _pointer = T_POINTERS.pop();
432
- _pointer.setEvent(
433
- originalEvent,
434
- originalEvent.pageX,
435
- originalEvent.pageY,
436
- originalEvent.clientX,
437
- originalEvent.clientY,
438
- originalEvent.pointerId
439
- );
440
- normalizedEvents.push(_pointer);
441
- }
442
-
443
- // if event.isPrimary is defined and false, return
444
- if (originalEvent.isPrimary === false) {
445
- return normalizedEvents;
446
- }
447
-
448
- // else use the first entry to simulate mouse event
449
- normalizedEvents[0].isPrimary = true;
450
- Object.assign(pointer, normalizedEvents[0]);
451
-
452
- return normalizedEvents;
453
- }
454
-
455
- /**
456
- * mouse/touch/pointer event management (move)
457
- * @ignore
458
- */
459
- function onMoveEvent(e) {
460
- // dispatch mouse event to registered object
461
- dispatchEvent(normalizeEvent(e));
462
- // do not prevent default on moveEvent :
463
- }
464
-
465
- /**
466
- * mouse/touch/pointer event management (start/down, end/up)
467
- * @ignore
468
- */
469
- function onPointerEvent(e) {
470
- // normalize eventTypes
471
- normalizeEvent(e);
472
-
473
- // remember/use the first "primary" normalized event for pointer.bind
474
- let button = normalizedEvents[0].button;
475
-
476
- // dispatch event to registered objects
477
- if (dispatchEvent(normalizedEvents) || e.type === "wheel") {
478
- // always preventDefault for wheel event (?legacy code/behavior?)
479
- {
480
- e.preventDefault();
481
- }
482
- }
483
-
484
- let keycode = pointer.bind[button];
485
-
486
- // check if mapped to a key
487
- if (keycode) {
488
- triggerKeyEvent(keycode, POINTER_DOWN.includes(e.type), button + 1);
489
- }
490
- }
491
-
492
- /*
493
- * PUBLIC STUFF
494
- */
495
-
496
- /**
497
- * the default target element for pointer events (usually the canvas element in which the game is rendered)
498
- * @public
499
- * @type {EventTarget}
500
- * @name pointerEventTarget
501
- * @memberof input
502
- */
503
- let pointerEventTarget = null;
504
-
505
- /**
506
- * Pointer information (current position and size)
507
- * @public
508
- * @type {Rect}
509
- * @name pointer
510
- * @memberof input
511
- */
512
- let pointer = new Pointer(0, 0, 1, 1);
513
-
514
-
515
- /**
516
- * indicates if the pointer is currently locked
517
- * @public
518
- * @type {boolean}
519
- * @name locked
520
- * @memberof input
521
- */
522
- let locked = false;
523
-
524
- /**
525
- * time interval for event throttling in milliseconds<br>
526
- * default value : "1000/me.timer.maxfps" ms<br>
527
- * set to 0 ms to disable the feature
528
- * @public
529
- * @type {number}
530
- * @name throttlingInterval
531
- * @memberof input
532
- */
533
- let throttlingInterval;
534
-
535
- /**
536
- * return true if there are pending pointer events in the queue
537
- * @memberof input
538
- * @returns true if there are pending events
539
- */
540
- function hasActiveEvents() {
541
- return normalizedEvents.length > 0;
542
- }
543
-
544
- /**
545
- * return true if there are register pointer events
546
- * @memberof input
547
- * @see registerPointerEvent
548
- * @returns true if there are pending events
549
- */
550
- function hasRegisteredEvents() {
551
- return eventHandlers.size > 0;
552
- }
553
-
554
- /**
555
- * Translate the specified x and y values from the global (absolute)
556
- * coordinate to local (viewport) relative coordinate.
557
- * @memberof input
558
- * @param {number} x - the global x coordinate to be translated.
559
- * @param {number} y - the global y coordinate to be translated.
560
- * @param {Vector2d} [v] - an optional vector object where to set the translated coordinates
561
- * @returns {Vector2d} A vector object with the corresponding translated coordinates
562
- * @example
563
- * onMouseEvent : function (pointer) {
564
- * // convert the given into local (viewport) relative coordinates
565
- * let pos = me.input.globalToLocal(pointer.clientX, pointer.clientY);
566
- * // do something with pos !
567
- * };
568
- */
569
- function globalToLocal(x, y, v) {
570
- v = v || pool.pull("Vector2d");
571
- let rect = getElementBounds(renderer.getCanvas());
572
- let pixelRatio = globalThis.devicePixelRatio || 1;
573
- x -= rect.left + (globalThis.pageXOffset || 0);
574
- y -= rect.top + (globalThis.pageYOffset || 0);
575
- let scale = renderer.scaleRatio;
576
- if (scale.x !== 1.0 || scale.y !== 1.0) {
577
- x /= scale.x;
578
- y /= scale.y;
579
- }
580
- return v.set(x * pixelRatio, y * pixelRatio);
581
- }
582
-
583
- /**
584
- * enable/disable all gestures on the given element.<br>
585
- * by default melonJS will disable browser handling of all panning and zooming gestures.
586
- * @memberof input
587
- * @see https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action
588
- * @param {HTMLCanvasElement} element
589
- * @param {string} [value="none"]
590
- */
591
- function setTouchAction(element, value) {
592
- element.style["touch-action"] = value || "none";
593
- }
594
-
595
- /**
596
- * Associate a pointer event to a keycode<br>
597
- * Left button – 0
598
- * Middle button – 1
599
- * Right button – 2
600
- * @memberof input
601
- * @param {number} [button=input.pointer.LEFT] - (accordingly to W3C values : 0,1,2 for left, middle and right buttons)
602
- * @param {input.KEY} keyCode
603
- * @example
604
- * // enable the keyboard
605
- * me.input.bindKey(me.input.KEY.X, "shoot");
606
- * // map the left button click on the X key (default if the button is not specified)
607
- * me.input.bindPointer(me.input.KEY.X);
608
- * // map the right button click on the X key
609
- * me.input.bindPointer(me.input.pointer.RIGHT, me.input.KEY.X);
610
- */
611
- function bindPointer() {
612
- let button = (arguments.length < 2) ? pointer.LEFT : arguments[0];
613
- let keyCode = (arguments.length < 2) ? arguments[0] : arguments[1];
614
-
615
- // make sure the mouse is initialized
616
- enablePointerEvent();
617
-
618
- // throw an exception if no action is defined for the specified keycode
619
- if (!getBindingKey(keyCode)) {
620
- throw new Error("no action defined for keycode " + keyCode);
621
- }
622
- // map the mouse button to the keycode
623
- pointer.bind[button] = keyCode;
624
- }
625
-
626
- /**
627
- * unbind the defined keycode
628
- * @memberof input
629
- * @param {number} [button=input.pointer.LEFT] - (accordingly to W3C values : 0,1,2 for left, middle and right buttons)
630
- * @example
631
- * me.input.unbindPointer(me.input.pointer.LEFT);
632
- */
633
- function unbindPointer(button) {
634
- // clear the event status
635
- pointer.bind[
636
- typeof(button) === "undefined" ?
637
- pointer.LEFT : button
638
- ] = null;
639
- }
640
-
641
-
642
- /**
643
- * allows registration of event listeners on the object target. <br>
644
- * melonJS will pass a me.Pointer object to the defined callback.
645
- * @see Pointer
646
- * @see {@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}
647
- * @memberof input
648
- * @param {string} eventType - The event type for which the object is registering <br>
649
- * melonJS currently supports: <br>
650
- * <ul>
651
- * <li><code>"pointermove"</code></li>
652
- * <li><code>"pointerdown"</code></li>
653
- * <li><code>"pointerup"</code></li>
654
- * <li><code>"pointerenter"</code></li>
655
- * <li><code>"pointerover"</code></li>
656
- * <li><code>"pointerleave"</code></li>
657
- * <li><code>"pointercancel"</code></li>
658
- * <li><code>"wheel"</code></li>
659
- * </ul>
660
- * @param {Rect|Polygon|Line|Ellipse} region - a shape representing the region to register on
661
- * @param {Function} callback - methods to be called when the event occurs.
662
- * Returning `false` from the defined callback will prevent the event to be propagated to other objects
663
- * @example
664
- * // onActivate function
665
- * onActivateEvent: function () {
666
- * // register on the 'pointerdown' event
667
- * me.input.registerPointerEvent('pointerdown', this, (e) => this.pointerDown(e));
668
- * },
669
- *
670
- * // pointerDown event callback
671
- * pointerDown: function (pointer) {
672
- * // do something
673
- * ....
674
- * // don"t propagate the event to other objects
675
- * return false;
676
- * },
677
- */
678
- function registerPointerEvent(eventType, region, callback) {
679
- // make sure the mouse/touch events are initialized
680
- enablePointerEvent();
681
-
682
- if (pointerEventList.indexOf(eventType) === -1) {
683
- throw new Error("invalid event type : " + eventType);
684
- }
685
-
686
- if (typeof region === "undefined") {
687
- throw new Error("registerPointerEvent: region for " + toString(region) + " event is undefined ");
688
- }
689
-
690
- let eventTypes = findAllActiveEvents(activeEventList, pointerEventMap[eventType]);
691
-
692
- // register the event
693
- if (!eventHandlers.has(region)) {
694
- eventHandlers.set(region, {
695
- region : region,
696
- callbacks : {},
697
- pointerId : null
698
- });
699
- }
700
-
701
- // allocate array if not defined
702
- let handlers = eventHandlers.get(region);
703
- for (let i = 0; i < eventTypes.length; i++) {
704
- const eventType = eventTypes[i];
705
- if (handlers.callbacks[eventType]) {
706
- handlers.callbacks[eventType].push(callback);
707
- } else {
708
- handlers.callbacks[eventType] = [callback];
709
- }
710
- }
711
- }
712
-
713
- /**
714
- * allows the removal of event listeners from the object target.
715
- * @see {@link http://www.w3.org/TR/pointerevents/#list-of-pointer-events|W3C Pointer Event list}
716
- * @memberof input
717
- * @param {string} eventType - The event type for which the object was registered. See {@link input.registerPointerEvent}
718
- * @param {Rect|Polygon|Line|Ellipse} region - the registered region to release for this event
719
- * @param {Function} [callback="all"] - if specified unregister the event only for the specific callback
720
- * @example
721
- * // release the registered region on the 'pointerdown' event
722
- * me.input.releasePointerEvent('pointerdown', this);
723
- */
724
- function releasePointerEvent(eventType, region, callback) {
725
- if (pointerEventList.indexOf(eventType) === -1) {
726
- throw new Error("invalid event type : " + eventType);
727
- }
728
-
729
- // convert to supported event type if pointerEvent not natively supported
730
- let eventTypes = findAllActiveEvents(activeEventList, pointerEventMap[eventType]);
731
-
732
- let handlers = eventHandlers.get(region);
733
- if (typeof (handlers) !== "undefined") {
734
- for (let i = 0; i < eventTypes.length; i++) {
735
- const eventType = eventTypes[i];
736
- if (handlers.callbacks[eventType]) {
737
- if (typeof (callback) !== "undefined") {
738
- remove(handlers.callbacks[eventType], callback);
739
- } else {
740
- while (handlers.callbacks[eventType].length > 0) {
741
- handlers.callbacks[eventType].pop();
742
- }
743
- }
744
- // free the array if empty
745
- if (handlers.callbacks[eventType].length === 0) {
746
- delete handlers.callbacks[eventType];
747
- }
748
- }
749
- }
750
- if (Object.keys(handlers.callbacks).length === 0) {
751
- eventHandlers.delete(region);
752
- }
753
- }
754
- }
755
-
756
- /**
757
- * allows the removal of all registered event listeners from the object target.
758
- * @memberof input
759
- * @param {Rect|Polygon|Line|Ellipse} region - the registered region to release event from
760
- * @example
761
- * // release all registered event on the
762
- * me.input.releaseAllPointerEvents(this);
763
- */
764
- function releaseAllPointerEvents(region) {
765
- if (eventHandlers.has(region)) {
766
- for (let i = 0; i < pointerEventList.length; i++) {
767
- releasePointerEvent(pointerEventList[i], region);
768
- }
769
- }
770
- }
771
-
772
- /**
773
- * request for the pointer to be locked on the parent DOM element.
774
- * (Must be called in a click event or an event that requires user interaction)
775
- * @memberof input
776
- * @returns {boolean} return true if the request was successfully submitted
777
- * @example
778
- * // register on the pointer lock change event
779
- * event.on(event.POINTERLOCKCHANGE, (locked)=> {
780
- * console.log("pointer lock: " + locked);
781
- * });
782
- * // request for pointer lock
783
- * me.input.requestPointerLock();
784
- */
785
- function requestPointerLock() {
786
- if (hasPointerLockSupport) {
787
- let element = game.getParentElement();
788
- element.requestPointerLock();
789
- return true;
790
- }
791
- return false;
792
- }
793
-
794
- /**
795
- * Initiates an exit from pointer lock state
796
- * @memberof input
797
- * @returns {boolean} return true if the request was successfully submitted
798
- */
799
- function exitPointerLock() {
800
- if (hasPointerLockSupport) {
801
- globalThis.document.exitPointerLock();
802
- return true;
803
- }
804
- return false;
805
- }
806
-
807
- export { bindPointer, exitPointerLock, globalToLocal, hasActiveEvents, hasRegisteredEvents, locked, pointer, pointerEventTarget, registerPointerEvent, releaseAllPointerEvents, releasePointerEvent, requestPointerLock, setTouchAction, throttlingInterval, unbindPointer };