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,869 +0,0 @@
1
- import ObservableVector2d from "./../math/observable_vector2.js";
2
- import ObservableVector3d from "./../math/observable_vector3.js";
3
- import Rect from "./../geometries/rectangle.js";
4
- import pool from "./../system/pooling.js";
5
- import { releaseAllPointerEvents } from "./../input/input.js";
6
- import { clamp } from "./../math/math.js";
7
- import Body from "./../physics/body.js";
8
- import Bounds from "./../physics/bounds.js";
9
- import GLShader from "./../video/webgl/glshader.js";
10
- import Color from "./../math/color.js";
11
-
12
- /**
13
- * additional import for TypeScript
14
- * @import Vector2d from "./../math/vector2.js";
15
- * @import Vector3d from "./../math/vector3.js";
16
- * @import Matrix2d from "./../math/matrix2.js";
17
- * @import Entity from "./entity/entity.js";
18
- * @import Container from "./container.js";
19
- * @import Line from "./../geometries/line.js";
20
- * @import Ellipse from "./../geometries/ellipse.js";
21
- * @import Polygon from "./../geometries/poly.js";
22
- * @import RoundRect from "./../geometries/roundrect.js";
23
- * @import Application from "./../application/application.js";
24
- * @import CanvasRenderer from "./../video/canvas/canvas_renderer.js";
25
- * @import WebGLRenderer from "./../video/webgl/webgl_renderer.js";
26
- * @import ResponseObject from "./../physics/response.js";
27
- **/
28
-
29
-
30
- /**
31
- * @classdesc
32
- * A base class for renderable objects.
33
- * @augments Rect
34
- */
35
- export default class Renderable extends Rect {
36
- /**
37
- * @param {number} x - position of the renderable object (accessible through inherited pos.x property)
38
- * @param {number} y - position of the renderable object (accessible through inherited pos.y property)
39
- * @param {number} width - object width
40
- * @param {number} height - object height
41
- */
42
- constructor(x, y, width, height) {
43
-
44
- // parent constructor
45
- super(x, y, width, height);
46
-
47
- if (this.pos instanceof ObservableVector3d) {
48
- this.pos.setMuted(x, y, 0).setCallback(this.updateBoundsPos, this);
49
- } else {
50
- /**
51
- * Position of the Renderable relative to its parent container
52
- * @public
53
- * @type {ObservableVector3d}
54
- */
55
- this.pos = pool.pull("ObservableVector3d", x, y, 0, { onUpdate: this.updateBoundsPos, scope: this});
56
- }
57
-
58
- if (this.anchorPoint instanceof ObservableVector2d) {
59
- this.anchorPoint.setMuted(0.5, 0.5).setCallback(this.onAnchorUpdate, this);
60
- } else {
61
- /**
62
- * The anchor point is used for attachment behavior, and/or when applying transformations.<br>
63
- * The coordinate system places the origin at the top left corner of the frame (0, 0) and (1, 1) means the bottom-right corner<br>
64
- * <img src="images/anchor_point.png"/><br>
65
- * a Renderable's anchor point defaults to (0.5,0.5), which corresponds to the center position.<br>
66
- * <br>
67
- * <i><b>Note:</b> Object created through Tiled will have their anchorPoint set to (0, 0) to match Tiled Level editor implementation.
68
- * To specify a value through Tiled, use a json expression like `json:{"x":0.5,"y":0.5}`. </i>
69
- * @type {ObservableVector2d}
70
- * @default <0.5,0.5>
71
- */
72
- this.anchorPoint = pool.pull("ObservableVector2d", 0.5, 0.5, { onUpdate: this.onAnchorUpdate, scope: this });
73
- }
74
-
75
- if (typeof this.currentTransform === "undefined") {
76
- /**
77
- * the renderable default transformation matrix
78
- * @type {Matrix2d}
79
- */
80
- this.currentTransform = pool.pull("Matrix2d");
81
- }
82
- this.currentTransform.identity();
83
-
84
- /**
85
- * the renderable physic body
86
- * @type {Body}
87
- * @example
88
- * // define a new Player Class
89
- * class PlayerEntity extends me.Sprite {
90
- * // constructor
91
- * constructor(x, y, settings) {
92
- * // call the parent constructor
93
- * super(x, y , settings);
94
- *
95
- * // define a basic walking animation
96
- * this.addAnimation("walk", [...]);
97
- * // define a standing animation (using the first frame)
98
- * this.addAnimation("stand", [...]);
99
- * // set the standing animation as default
100
- * this.setCurrentAnimation("stand");
101
- *
102
- * // add a physic body
103
- * this.body = new me.Body(this);
104
- * // add a default collision shape
105
- * this.body.addShape(new me.Rect(0, 0, this.width, this.height));
106
- * // configure max speed, friction, and initial force to be applied
107
- * this.body.setMaxVelocity(3, 15);
108
- * this.body.setFriction(0.4, 0);
109
- * this.body.force.set(3, 0);
110
- * this.isKinematic = false;
111
- *
112
- * // set the display to follow our position on both axis
113
- * me.game.viewport.follow(this.pos, me.game.viewport.AXIS.BOTH);
114
- * }
115
- *
116
- * ...
117
- *
118
- * }
119
- */
120
- this.body = undefined;
121
-
122
- /**
123
- * (G)ame (U)nique (Id)entifier" <br>
124
- * a GUID will be allocated for any renderable object added <br>
125
- * to an object container (including the `me.game.world` container)
126
- * @type {string}
127
- */
128
- this.GUID = undefined;
129
-
130
- /**
131
- * an event handler that is called when the renderable leave or enter a camera viewport
132
- * @type {Function}
133
- * @default undefined
134
- * @example
135
- * this.onVisibilityChange = function(inViewport) {
136
- * if (inViewport === true) {
137
- * console.log("object has entered the in a camera viewport!");
138
- * }
139
- * };
140
- */
141
- this.onVisibilityChange = undefined;
142
-
143
- /**
144
- * Whether the renderable object will always update, even when outside of the viewport<br>
145
- * @type {boolean}
146
- * @default false
147
- */
148
- this.alwaysUpdate = false;
149
-
150
- /**
151
- * Whether to update this object when the game is paused.
152
- * @type {boolean}
153
- * @default false
154
- */
155
- this.updateWhenPaused = false;
156
-
157
- /**
158
- * make the renderable object persistent over level changes<br>
159
- * @type {boolean}
160
- * @default false
161
- */
162
- this.isPersistent = false;
163
-
164
- /**
165
- * If true, this renderable will be rendered using screen coordinates,
166
- * as opposed to world coordinates. Use this, for example, to define UI elements.
167
- * @type {boolean}
168
- * @default false
169
- */
170
- this.floating = false;
171
-
172
- /**
173
- * When enabled, an object container will automatically apply
174
- * any defined transformation before calling the child draw method.
175
- * @type {boolean}
176
- * @default true
177
- * @example
178
- * // enable "automatic" transformation when the object is activated
179
- * onActivateEvent: function () {
180
- * // reset the transformation matrix
181
- * this.currentTransform.identity();
182
- * // ensure the anchor point is the renderable center
183
- * this.anchorPoint.set(0.5, 0.5);
184
- * // enable auto transform
185
- * this.autoTransform = true;
186
- * ....
187
- * }
188
- */
189
- this.autoTransform = true;
190
-
191
- /**
192
- * Define the renderable opacity<br>
193
- * Set to zero if you do not wish an object to be drawn
194
- * @see Renderable#setOpacity
195
- * @see Renderable#getOpacity
196
- * @type {number}
197
- * @default 1.0
198
- */
199
- this.alpha = 1.0;
200
-
201
- /**
202
- * a reference to the parent object that contains this renderable
203
- * @type {Container|Entity}
204
- * @default undefined
205
- */
206
- this.ancestor = undefined;
207
-
208
- /**
209
- * A mask limits rendering elements to the shape and position of the given mask object.
210
- * So, if the renderable is larger than the mask, only the intersecting part of the renderable will be visible.
211
- * @type {Rect|RoundRect|Polygon|Line|Ellipse}
212
- * @default undefined
213
- * @example
214
- * // apply a mask in the shape of a Star
215
- * myNPCSprite.mask = new me.Polygon(myNPCSprite.width / 2, 0, [
216
- * // draw a star
217
- * {x: 0, y: 0},
218
- * {x: 14, y: 30},
219
- * {x: 47, y: 35},
220
- * {x: 23, y: 57},
221
- * {x: 44, y: 90},
222
- * {x: 0, y: 62},
223
- * {x: -44, y: 90},
224
- * {x: -23, y: 57},
225
- * {x: -47, y: 35},
226
- * {x: -14, y: 30}
227
- * ]);
228
- */
229
- this.mask = undefined;
230
-
231
- /**
232
- * (Experimental) an optional shader, to be used instead of the default built-in one, when drawing this renderable (WebGL only)
233
- * @type {GLShader}
234
- * @default undefined
235
- */
236
- this.shader = undefined;
237
-
238
- /**
239
- * the blend mode to be applied to this renderable (see renderer setBlendMode for available blend mode)
240
- * @type {string}
241
- * @default "normal"
242
- * @see CanvasRenderer#setBlendMode
243
- * @see WebGLRenderer#setBlendMode
244
- */
245
- this.blendMode = "normal";
246
-
247
- /**
248
- * The name of the renderable
249
- * @type {string}
250
- * @default ""
251
- */
252
- this.name = "";
253
-
254
- /**
255
- * to identify the object as a renderable object
256
- * @ignore
257
- */
258
- this.isRenderable = true;
259
-
260
- /**
261
- * If true then physic collision and input events will not impact this renderable
262
- * @type {boolean}
263
- * @default true
264
- */
265
- this.isKinematic = true;
266
-
267
- /**
268
- * when true the renderable will be redrawn during the next update cycle
269
- * @type {boolean}
270
- * @default true
271
- */
272
- this.isDirty = true;
273
-
274
- // keep track of when we flip
275
- this._flip = {
276
- x : false,
277
- y : false
278
- };
279
-
280
- // viewport flag
281
- this._inViewport = false;
282
-
283
- // cache value for the parentApp
284
- this._parentApp = undefined;
285
-
286
- // renderable cache tint value used by the getter/setter
287
- this._tint = pool.pull("Color", 255, 255, 255, 1.0);
288
-
289
- // ensure it's fully opaque by default
290
- this.setOpacity(1.0);
291
- }
292
-
293
- /**
294
- * returns the parent application (or game) to which this renderable is attached to
295
- * @return {Application} the parent application or undefined if not attached to any container/app
296
- */
297
- get parentApp() {
298
- if (typeof this._parentApp === "undefined") {
299
- if (typeof this.ancestor !== "undefined" && typeof this.ancestor.getRootAncestor === "function") {
300
- // the `app` property is only defined in the world "root" container
301
- this._parentApp = this.ancestor.getRootAncestor().app;
302
- }
303
- }
304
- return this._parentApp;
305
- }
306
-
307
- /**
308
- * Whether the renderable object is floating (i.e. used screen coordinates), or contained in a floating parent container
309
- * @see Renderable#floating
310
- * @type {boolean}
311
- */
312
- get isFloating() {
313
- return this.floating === true || (typeof this.ancestor !== "undefined" && this.ancestor.isFloating === true);
314
- }
315
-
316
- /**
317
- * define a tint for this renderable. a (255, 255, 255) r, g, b value will remove the tint effect.
318
- * @type {Color}
319
- * @default (255, 255, 255)
320
- * @example
321
- * // add a red tint to this renderable
322
- * this.tint.setColor(255, 128, 128);
323
- * // remove the tint
324
- * this.tint.setColor(255, 255, 255);
325
- */
326
- get tint() {
327
- return this._tint;
328
- }
329
- set tint(value) {
330
- this._tint.copy(value);
331
- this.isDirty = true;
332
- }
333
-
334
- /**
335
- * the depth of this renderable on the z axis
336
- * @type {number}
337
- */
338
- get depth() {
339
- return this.pos.z;
340
- }
341
- set depth(value) {
342
- this.pos.z = value;
343
- this.isDirty = true;
344
- }
345
-
346
- /**
347
- * Whether the renderable object is visible and within the viewport
348
- * @type {boolean}
349
- * @default false
350
- */
351
- get inViewport() {
352
- return this._inViewport;
353
- }
354
- set inViewport(value) {
355
- if (this._inViewport !== value) {
356
- this._inViewport = value;
357
- if (typeof this.onVisibilityChange === "function") {
358
- this.onVisibilityChange.call(this, value);
359
- }
360
- }
361
- }
362
-
363
- /**
364
- * returns true if this renderable is flipped on the horizontal axis
365
- * @public
366
- * @see Renderable#flipX
367
- * @type {boolean}
368
- */
369
- get isFlippedX() {
370
- return this._flip.x === true;
371
- }
372
-
373
- /**
374
- * returns true if this renderable is flipped on the vertical axis
375
- * @public
376
- * @see Renderable#flipY
377
- * @type {boolean}
378
- */
379
- get isFlippedY() {
380
- return this._flip.y === true;
381
- }
382
-
383
- /**
384
- * returns the bounding box for this renderable
385
- * @returns {Bounds} bounding box Rectangle object
386
- */
387
- getBounds() {
388
- if (typeof this._bounds === "undefined") {
389
- super.getBounds();
390
- if (this.isFinite()) {
391
- this.updateBounds();
392
- } else {
393
- // e.g. containers or game world can have infinite size
394
- this._bounds.setMinMax(this.pos.x, this.pos.y, this.width, this.height);
395
- }
396
-
397
- }
398
- return this._bounds;
399
- }
400
-
401
- /**
402
- * get the renderable alpha channel value<br>
403
- * @returns {number} current opacity value between 0 and 1
404
- */
405
- getOpacity() {
406
- return this.alpha;
407
- }
408
-
409
- /**
410
- * set the renderable alpha channel value<br>
411
- * @param {number} alpha - opacity value between 0.0 and 1.0
412
- */
413
- setOpacity(alpha) {
414
- if (typeof (alpha) === "number") {
415
- this.alpha = clamp(alpha, 0.0, 1.0);
416
- // Set to 1 if alpha is NaN
417
- if (isNaN(this.alpha)) {
418
- this.alpha = 1.0;
419
- }
420
- this.isDirty = true;
421
- }
422
- }
423
-
424
- /**
425
- * flip the renderable on the horizontal axis (around the center of the renderable)
426
- * @see Matrix2d#scaleX
427
- * @param {boolean} [flip=true] - `true` to flip this renderable.
428
- * @returns {Renderable} Reference to this object for method chaining
429
- */
430
- flipX(flip = true) {
431
- this._flip.x = !!flip;
432
- this.isDirty = true;
433
- return this;
434
- }
435
-
436
- /**
437
- * flip the renderable on the vertical axis (around the center of the renderable)
438
- * @see Matrix2d#scaleY
439
- * @param {boolean} [flip=true] - `true` to flip this renderable.
440
- * @returns {Renderable} Reference to this object for method chaining
441
- */
442
- flipY(flip = true) {
443
- this._flip.y = !!flip;
444
- this.isDirty = true;
445
- return this;
446
- }
447
-
448
- /**
449
- * multiply the renderable currentTransform with the given matrix
450
- * @see Renderable#currentTransform
451
- * @param {Matrix2d} m - the transformation matrix
452
- * @returns {Renderable} Reference to this object for method chaining
453
- */
454
- transform(m) {
455
- this.currentTransform.multiply(m);
456
- this.updateBounds();
457
- this.isDirty = true;
458
- return this;
459
- }
460
-
461
- /**
462
- * return the angle to the specified target
463
- * @param {Renderable|Vector2d|Vector3d} target
464
- * @returns {number} angle in radians
465
- */
466
- angleTo(target) {
467
- let a = this.getBounds();
468
- let ax, ay;
469
-
470
- if (target instanceof Renderable) {
471
- let b = target.getBounds();
472
- ax = b.centerX - a.centerX;
473
- ay = b.centerY - a.centerY;
474
- } else { // vector object
475
- ax = target.x - a.centerX;
476
- ay = target.y - a.centerY;
477
- }
478
-
479
- return Math.atan2(ay, ax);
480
- }
481
-
482
- /**
483
- * return the distance to the specified target
484
- * @param {Renderable|Vector2d|Vector3d} target
485
- * @returns {number} distance
486
- */
487
- distanceTo(target) {
488
- let a = this.getBounds();
489
- let dx, dy;
490
-
491
- if (target instanceof Renderable) {
492
- let b = target.getBounds();
493
- dx = a.centerX - b.centerX;
494
- dy = a.centerY - b.centerY;
495
- } else { // vector object
496
- dx = a.centerX - target.x;
497
- dy = a.centerY - target.y;
498
- }
499
-
500
- return Math.sqrt(dx * dx + dy * dy);
501
- }
502
-
503
- /**
504
- * Rotate this renderable towards the given target.
505
- * @param {Renderable|Vector2d|Vector3d} target - the renderable or position to look at
506
- * @returns {Renderable} Reference to this object for method chaining
507
- */
508
- lookAt(target) {
509
- let position;
510
-
511
- if (target instanceof Renderable) {
512
- position = target.pos;
513
- } else {
514
- position = target;
515
- }
516
-
517
- let angle = this.angleTo(position);
518
-
519
- this.rotate(angle);
520
-
521
- return this;
522
- }
523
-
524
- /**
525
- * Rotate this renderable by the specified angle (in radians).
526
- * @param {number} angle - The angle to rotate (in radians)
527
- * @param {Vector2d|ObservableVector2d} [v] - an optional point to rotate around
528
- * @returns {Renderable} Reference to this object for method chaining
529
- */
530
- rotate(angle, v) {
531
- if (angle !== 0) {
532
- this.currentTransform.rotate(angle, v);
533
- this.updateBounds();
534
- this.isDirty = true;
535
- }
536
- return this;
537
- }
538
-
539
- /**
540
- * scale the renderable around his anchor point. Scaling actually applies changes
541
- * to the currentTransform member wich is used by the renderer to scale the object
542
- * when rendering. It does not scale the object itself. For example if the renderable
543
- * is an image, the image.width and image.height properties are unaltered but the currentTransform
544
- * member will be changed.
545
- * @param {number} x - a number representing the abscissa of the scaling vector.
546
- * @param {number} [y=x] - a number representing the ordinate of the scaling vector.
547
- * @returns {Renderable} Reference to this object for method chaining
548
- */
549
- scale(x, y = x) {
550
- this.currentTransform.scale(x, y);
551
- this.updateBounds();
552
- this.isDirty = true;
553
- return this;
554
- }
555
-
556
- /**
557
- * scale the renderable around his anchor point
558
- * @param {Vector2d} v - scaling vector
559
- * @returns {Renderable} Reference to this object for method chaining
560
- */
561
- scaleV(v) {
562
- this.scale(v.x, v.y);
563
- return this;
564
- }
565
-
566
- /**
567
- * update function (automatically called by melonJS).
568
- * @param {number} dt - time since the last update in milliseconds.
569
- * @returns {boolean} true if the renderable is dirty
570
- */
571
- update(dt) { // eslint-disable-line no-unused-vars
572
- return this.isDirty;
573
- }
574
-
575
- /**
576
- * update the bounding box for this shape.
577
- * @param {boolean} [absolute=true] - update the bounds size and position in (world) absolute coordinates
578
- * @returns {Bounds} this shape bounding box Rectangle object
579
- */
580
- updateBounds(absolute = true) {
581
- if (this.isRenderable) {
582
- let bounds = this.getBounds();
583
-
584
- bounds.clear();
585
-
586
- if ((this.autoTransform === true) && (!this.currentTransform.isIdentity())) {
587
- // temporarly translate the matrix based on the anchor point
588
- this.currentTransform.translate(
589
- -this.width * this.anchorPoint.x,
590
- -this.height * this.anchorPoint.y
591
- );
592
- bounds.addFrame(
593
- 0,
594
- 0,
595
- this.width,
596
- this.height,
597
- this.currentTransform
598
- );
599
- this.currentTransform.translate(
600
- this.width * this.anchorPoint.x,
601
- this.height * this.anchorPoint.y
602
- );
603
- } else {
604
- bounds.addFrame(
605
- 0,
606
- 0,
607
- this.width,
608
- this.height
609
- );
610
- // translate the bounds based on the anchor point
611
- bounds.translate(
612
- -this.width * this.anchorPoint.x,
613
- -this.height * this.anchorPoint.y
614
- );
615
- }
616
-
617
- if (absolute === true) {
618
- let absPos = this.getAbsolutePosition();
619
- bounds.centerOn(absPos.x + bounds.x + bounds.width / 2, absPos.y + bounds.y + bounds.height / 2);
620
- }
621
- return bounds;
622
-
623
- } else {
624
- // manage the case where updateBounds is called
625
- // before the object being yet properly initialized
626
- return super.updateBounds(absolute);
627
- }
628
- }
629
-
630
- /**
631
- * update the renderable's bounding rect (private)
632
- * @ignore
633
- */
634
- updateBoundsPos(newX = this.pos.x, newY = this.pos.y) {
635
- this.getBounds().translate(newX - this.pos.x, newY - this.pos.y);
636
- }
637
-
638
- /**
639
- * return the renderable absolute position in the game world
640
- * @returns {Vector2d}
641
- */
642
- getAbsolutePosition() {
643
- if (typeof this._absPos === "undefined") {
644
- this._absPos = pool.pull("Vector2d");
645
- }
646
- // XXX Cache me or something
647
- this._absPos.set(this.pos.x, this.pos.y);
648
- if (typeof this.ancestor !== "undefined" && typeof this.ancestor.getAbsolutePosition === "function" && this.floating !== true) {
649
- this._absPos.add(this.ancestor.getAbsolutePosition());
650
- }
651
- return this._absPos;
652
- }
653
-
654
- /**
655
- * called when the anchor point value is changed
656
- * @private
657
- * @param {number} x - the new X value to be set for the anchor
658
- * @param {number} y - the new Y value to be set for the anchor
659
- */
660
- onAnchorUpdate(x, y) {
661
- // since the callback is called before setting the new value
662
- // manually update the anchor point (required for updateBoundsPos)
663
- this.anchorPoint.setMuted(x, y);
664
- // then call updateBounds
665
- this.updateBounds();
666
- this.isDirty = true;
667
- }
668
-
669
- /**
670
- * Prepare the rendering context before drawing (automatically called by melonJS).
671
- * This will apply any defined transforms, anchor point, tint or blend mode and translate the context accordingly to this renderable position.
672
- * @see Renderable#draw
673
- * @see Renderable#postDraw
674
- * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
675
- */
676
- preDraw(renderer) {
677
- let ax = this.width * this.anchorPoint.x,
678
- ay = this.height * this.anchorPoint.y;
679
-
680
- // save renderer context
681
- renderer.save();
682
-
683
- // apply the defined alpha value
684
- renderer.setGlobalAlpha(renderer.globalAlpha() * this.getOpacity());
685
-
686
- // apply flip
687
- if (this._flip.x || this._flip.y) {
688
- var dx = this._flip.x ? this.centerX - ax : 0,
689
- dy = this._flip.y ? this.centerY - ay : 0;
690
-
691
- renderer.translate(dx, dy);
692
- renderer.scale(this._flip.x ? -1 : 1, this._flip.y ? -1 : 1);
693
- renderer.translate(-dx, -dy);
694
- }
695
-
696
- // apply stencil mask if defined
697
- if (typeof this.mask !== "undefined") {
698
- renderer.translate(this.pos.x, this.pos.y);
699
- renderer.setMask(this.mask);
700
- renderer.translate(-this.pos.x, -this.pos.y);
701
- }
702
-
703
- // use this renderable shader if defined
704
- if (typeof this.shader === "object" && typeof renderer.gl !== "undefined") {
705
- renderer.customShader = this.shader;
706
- }
707
-
708
- if ((this.autoTransform === true) && (!this.currentTransform.isIdentity())) {
709
- // apply the renderable transformation matrix
710
- renderer.translate(this.pos.x, this.pos.y);
711
- renderer.transform(this.currentTransform);
712
- renderer.translate(-this.pos.x, -this.pos.y);
713
- }
714
-
715
- // offset by the anchor point
716
- renderer.translate(-ax, -ay);
717
-
718
- // apply the current tint and opacity
719
- renderer.setTint(this.tint, this.getOpacity());
720
-
721
- // apply blending if different from "normal"
722
- if (this.blendMode !== renderer.getBlendMode()) {
723
- renderer.setBlendMode(this.blendMode);
724
- }
725
- }
726
-
727
- /**
728
- * Draw this renderable (automatically called by melonJS).
729
- * All draw operations for renderable are made respectively
730
- * to the position or transforms set or applied by the preDraw method.
731
- * The main draw loop will first call preDraw() to prepare the context for drawing the renderable,
732
- * then draw() to draw the renderable, and finally postDraw() to clear the context.
733
- * If you override this method, be mindful about the drawing logic; for example if you draw a shape
734
- * from the draw method, you should make sure that your draw it at the 0, 0 coordinates.
735
- * @see Renderable#preDraw
736
- * @see Renderable#postDraw
737
- * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer instance
738
- * @param {Camera2d} [viewport] - the viewport to (re)draw
739
- */
740
- draw(renderer, viewport) { // eslint-disable-line no-unused-vars
741
- // empty one !
742
- }
743
-
744
- /**
745
- * restore the rendering context after drawing (automatically called by melonJS).
746
- * @see Renderable#preDraw
747
- * @see Renderable#draw
748
- * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
749
- */
750
- postDraw(renderer) {
751
- // remove the previously applied tint
752
- renderer.clearTint();
753
-
754
- // clear the mask if set
755
- if (typeof this.mask !== "undefined") {
756
- renderer.clearMask();
757
- }
758
-
759
- // revert to the default shader if defined
760
- if (typeof this.shader === "object" && typeof renderer.gl !== "undefined") {
761
- renderer.customShader = undefined;
762
- //renderer.setCompositor("quad");
763
- }
764
-
765
- // restore the context
766
- renderer.restore();
767
-
768
- // reset the dirty flag
769
- this.isDirty = false;
770
- }
771
-
772
- /**
773
- * onCollision callback, triggered in case of collision,
774
- * when this renderable body is colliding with another one
775
- * @param {ResponseObject} response - the collision response object
776
- * @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
777
- * @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
778
- * @example
779
- * // colision handler
780
- * onCollision(response) {
781
- * if (response.b.body.collisionType === me.collision.types.ENEMY_OBJECT) {
782
- * // makes the other object solid, by substracting the overlap vector to the current position
783
- * this.pos.sub(response.overlapV);
784
- * this.hurt();
785
- * // not solid
786
- * return false;
787
- * }
788
- * // Make the object solid
789
- * return true;
790
- * },
791
- */
792
- onCollision(response, other) { // eslint-disable-line no-unused-vars
793
- return false;
794
- }
795
-
796
- /**
797
- * Destroy function<br>
798
- * @ignore
799
- */
800
- destroy() {
801
- // allow recycling object properties
802
- pool.push(this.currentTransform);
803
- this.currentTransform = undefined;
804
-
805
- pool.push(this.anchorPoint);
806
- this.anchorPoint = undefined;
807
-
808
- pool.push(this.pos);
809
- this.pos = undefined;
810
-
811
- if (typeof this._absPos !== "undefined") {
812
- pool.push(this._absPos);
813
- this._absPos = undefined;
814
- }
815
-
816
- if (this._bounds instanceof Bounds) {
817
- pool.push(this._bounds);
818
- this._bounds = undefined;
819
- }
820
-
821
- this.onVisibilityChange = undefined;
822
-
823
- if (typeof this.mask !== "undefined") {
824
- pool.push(this.mask);
825
- this.mask = undefined;
826
- }
827
-
828
- if (this._tint instanceof Color) {
829
- pool.push(this._tint);
830
- this._tint = undefined;
831
- }
832
-
833
- // cannot import and reference a Container from a Renderable, since Container extends Renderable, creating a circular dependency
834
- //if (this.ancestor instanceof Container || this.ancestor instanceof Entity) {
835
- this.ancestor = undefined;
836
-
837
- // cannot import and reference a Application from a Renderable, messsing up class order in the bundle
838
- //if (this._parentApp instanceof Application) {
839
- this._parentApp = undefined;
840
- //}
841
-
842
- // destroy the physic body if a builtin body object
843
- if (this.body instanceof Body) {
844
- this.body.destroy.apply(this.body, arguments);
845
- this.body = undefined;
846
- }
847
-
848
- // release all registered events
849
- releaseAllPointerEvents(this);
850
-
851
- // call the user defined destroy method
852
- this.onDestroyEvent.apply(this, arguments);
853
-
854
- // destroy any shader object if not done by the user through onDestroyEvent()
855
- if (this.shader instanceof GLShader) {
856
- this.shader.destroy();
857
- this.shader = undefined;
858
- }
859
- }
860
-
861
- /**
862
- * OnDestroy Notification function<br>
863
- * Called by engine before deleting the object
864
- */
865
- onDestroyEvent() {
866
- // to be extended !
867
- }
868
-
869
- }