melonjs 14.1.2 → 14.3.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 (381) hide show
  1. package/README.md +3 -4
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/earcut.js +7 -3
  5. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  7. package/dist/melonjs.mjs/_virtual/index2.js +7 -3
  8. package/dist/melonjs.mjs/_virtual/make-built-in.js +10 -0
  9. package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
  10. package/dist/melonjs.mjs/_virtual/object-define-property.js +10 -0
  11. package/dist/melonjs.mjs/_virtual/object-get-own-property-descriptor.js +10 -0
  12. package/dist/melonjs.mjs/_virtual/object-get-own-property-names.js +10 -0
  13. package/dist/melonjs.mjs/_virtual/object-get-own-property-symbols.js +10 -0
  14. package/dist/melonjs.mjs/_virtual/object-property-is-enumerable.js +10 -0
  15. package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
  16. package/dist/melonjs.mjs/_virtual/shared.js +10 -0
  17. package/dist/melonjs.mjs/application/application.js +173 -22
  18. package/dist/melonjs.mjs/application/header.js +34 -0
  19. package/dist/melonjs.mjs/application/resize.js +119 -0
  20. package/dist/melonjs.mjs/application/settings.js +28 -0
  21. package/dist/melonjs.mjs/audio/audio.js +1 -1
  22. package/dist/melonjs.mjs/camera/camera2d.js +2 -2
  23. package/dist/melonjs.mjs/entity/entity.js +1 -1
  24. package/dist/melonjs.mjs/game.js +1 -1
  25. package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
  26. package/dist/melonjs.mjs/geometries/line.js +1 -1
  27. package/dist/melonjs.mjs/geometries/path2d.js +3 -3
  28. package/dist/melonjs.mjs/geometries/point.js +1 -1
  29. package/dist/melonjs.mjs/geometries/poly.js +3 -3
  30. package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
  31. package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
  32. package/dist/melonjs.mjs/index.js +41 -61
  33. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  34. package/dist/melonjs.mjs/input/input.js +1 -1
  35. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  36. package/dist/melonjs.mjs/input/pointer.js +2 -2
  37. package/dist/melonjs.mjs/input/pointerevent.js +7 -8
  38. package/dist/melonjs.mjs/lang/deprecated.js +1 -1
  39. package/dist/melonjs.mjs/level/level.js +2 -2
  40. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  41. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +2 -2
  42. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
  44. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +2 -2
  45. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
  46. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
  47. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
  48. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  49. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  50. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  51. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
  52. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  53. package/dist/melonjs.mjs/loader/loader.js +1 -1
  54. package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
  55. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  56. package/dist/melonjs.mjs/math/color.js +1 -1
  57. package/dist/melonjs.mjs/math/math.js +1 -1
  58. package/dist/melonjs.mjs/math/matrix2.js +1 -1
  59. package/dist/melonjs.mjs/math/matrix3.js +1 -1
  60. package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
  61. package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
  62. package/dist/melonjs.mjs/math/vector2.js +1 -1
  63. package/dist/melonjs.mjs/math/vector3.js +1 -1
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +3 -2
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +3 -2
  67. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +3 -2
  68. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +13 -0
  69. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +13 -0
  70. package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +22 -0
  71. package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +21 -0
  72. package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +45 -0
  73. package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +19 -0
  74. package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +43 -0
  75. package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +32 -0
  76. package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +24 -0
  77. package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +17 -0
  78. package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +43 -0
  79. package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +23 -0
  80. package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +18 -0
  81. package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +18 -0
  82. package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +22 -0
  83. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +14 -0
  84. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +39 -0
  85. package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +18 -0
  86. package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +19 -0
  87. package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +72 -0
  88. package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +16 -0
  89. package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +19 -0
  90. package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +18 -0
  91. package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +29 -0
  92. package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +22 -0
  93. package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +22 -0
  94. package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +21 -0
  95. package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +25 -0
  96. package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +23 -0
  97. package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +10 -0
  98. package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +24 -0
  99. package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +28 -0
  100. package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +27 -0
  101. package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +88 -0
  102. package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +22 -0
  103. package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +34 -0
  104. package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +14 -0
  105. package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +22 -0
  106. package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +27 -0
  107. package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +18 -0
  108. package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +68 -0
  109. package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +19 -0
  110. package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +58 -0
  111. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +41 -0
  112. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +23 -0
  113. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +12 -0
  114. package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +14 -0
  115. package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +35 -0
  116. package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +23 -0
  117. package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +28 -0
  118. package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +31 -0
  119. package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +21 -0
  120. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +21 -0
  121. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +19 -0
  122. package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +24 -0
  123. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +22 -0
  124. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +28 -0
  125. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +22 -0
  126. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +45 -0
  127. package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +26 -0
  128. package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +23 -0
  129. package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +19 -0
  130. package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +20 -0
  131. package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +20 -0
  132. package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +20 -0
  133. package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +41 -0
  134. package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +21 -0
  135. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +19 -0
  136. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +19 -0
  137. package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +18 -0
  138. package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +20 -0
  139. package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +18 -0
  140. package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +24 -0
  141. package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +18 -0
  142. package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +41 -0
  143. package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +12 -0
  144. package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +18 -0
  145. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +22 -0
  146. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +19 -0
  147. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +19 -0
  148. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +22 -0
  149. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +4 -5
  150. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +3 -3
  151. package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +9 -0
  152. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +5 -2
  153. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +3 -2
  154. package/dist/melonjs.mjs/particles/emitter.js +1 -1
  155. package/dist/melonjs.mjs/particles/particle.js +1 -1
  156. package/dist/melonjs.mjs/particles/settings.js +1 -1
  157. package/dist/melonjs.mjs/physics/body.js +1 -1
  158. package/dist/melonjs.mjs/physics/bounds.js +1 -1
  159. package/dist/melonjs.mjs/physics/collision.js +3 -3
  160. package/dist/melonjs.mjs/physics/detector.js +174 -146
  161. package/dist/melonjs.mjs/physics/quadtree.js +1 -1
  162. package/dist/melonjs.mjs/physics/response.js +1 -1
  163. package/dist/melonjs.mjs/physics/sat.js +1 -1
  164. package/dist/melonjs.mjs/physics/world.js +10 -30
  165. package/dist/melonjs.mjs/plugin/plugin.js +4 -4
  166. package/dist/melonjs.mjs/polyfill/console.js +18 -0
  167. package/dist/melonjs.mjs/polyfill/performance.js +27 -0
  168. package/dist/melonjs.mjs/polyfill/requestAnimationFrame.js +46 -0
  169. package/dist/melonjs.mjs/polyfill/roundrect.js +242 -0
  170. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  171. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  172. package/dist/melonjs.mjs/renderable/container.js +3 -87
  173. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  174. package/dist/melonjs.mjs/renderable/imagelayer.js +2 -2
  175. package/dist/melonjs.mjs/renderable/light2d.js +1 -1
  176. package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
  177. package/dist/melonjs.mjs/renderable/re_container.js +1016 -0
  178. package/dist/melonjs.mjs/renderable/renderable.js +1 -1
  179. package/dist/melonjs.mjs/renderable/sprite.js +1 -1
  180. package/dist/melonjs.mjs/renderable/trigger.js +2 -2
  181. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
  182. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
  183. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
  184. package/dist/melonjs.mjs/state/stage.js +2 -2
  185. package/dist/melonjs.mjs/state/state.js +2 -2
  186. package/dist/melonjs.mjs/system/device.js +9 -29
  187. package/dist/melonjs.mjs/system/dom.js +3 -2
  188. package/dist/melonjs.mjs/system/event.js +1 -1
  189. package/dist/melonjs.mjs/system/platform.js +1 -1
  190. package/dist/melonjs.mjs/system/pooling.js +1 -1
  191. package/dist/melonjs.mjs/system/save.js +1 -1
  192. package/dist/melonjs.mjs/system/timer.js +1 -1
  193. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  194. package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
  195. package/dist/melonjs.mjs/text/glyph.js +1 -1
  196. package/dist/melonjs.mjs/text/text.js +1 -1
  197. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  198. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  199. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  200. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  201. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  202. package/dist/melonjs.mjs/utils/agent.js +1 -1
  203. package/dist/melonjs.mjs/utils/array.js +1 -1
  204. package/dist/melonjs.mjs/utils/file.js +1 -1
  205. package/dist/melonjs.mjs/utils/function.js +1 -1
  206. package/dist/melonjs.mjs/utils/string.js +1 -1
  207. package/dist/melonjs.mjs/utils/utils.js +4 -29
  208. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +4 -1
  209. package/dist/melonjs.mjs/video/renderer.js +26 -6
  210. package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
  211. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  212. package/dist/melonjs.mjs/video/texture/canvas_texture.js +21 -1
  213. package/dist/melonjs.mjs/video/utils/autodetect.js +27 -0
  214. package/dist/melonjs.mjs/video/utils/resize.js +116 -0
  215. package/dist/melonjs.mjs/video/video.js +20 -294
  216. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
  217. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -3
  218. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  219. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  220. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  221. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  222. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  223. package/dist/melonjs.mjs/video/webgl/utils/precision.js +20 -2
  224. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  225. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  226. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  227. package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +1 -1
  228. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +4 -1
  229. package/dist/melonjs.module.js +28551 -26959
  230. package/dist/types/application/application.d.ts +144 -0
  231. package/dist/types/application/header.d.ts +5 -0
  232. package/dist/types/application/resize.d.ts +5 -0
  233. package/dist/types/application/settings.d.ts +18 -0
  234. package/dist/types/audio/audio.d.ts +267 -0
  235. package/dist/types/camera/camera2d.d.ts +289 -0
  236. package/dist/types/entity/entity.d.ts +98 -0
  237. package/{src/game.js → dist/types/game.d.ts} +3 -14
  238. package/dist/types/geometries/ellipse.d.ts +154 -0
  239. package/dist/types/geometries/line.d.ts +11 -0
  240. package/dist/types/geometries/path2d.d.ts +121 -0
  241. package/dist/types/geometries/point.d.ts +53 -0
  242. package/dist/types/geometries/poly.d.ts +222 -0
  243. package/dist/types/geometries/rectangle.d.ts +176 -0
  244. package/dist/types/geometries/roundrect.d.ts +52 -0
  245. package/dist/types/index.d.ts +3 -2
  246. package/dist/types/input/gamepad.d.ts +95 -0
  247. package/dist/types/input/input.d.ts +15 -0
  248. package/dist/types/input/keyboard.d.ts +205 -0
  249. package/dist/types/input/pointer.d.ts +270 -0
  250. package/dist/types/input/pointerevent.d.ts +181 -0
  251. package/dist/types/lang/deprecated.d.ts +53 -0
  252. package/dist/types/level/level.d.ts +134 -0
  253. package/dist/types/level/tiled/TMXGroup.d.ts +82 -0
  254. package/dist/types/level/tiled/TMXLayer.d.ts +180 -0
  255. package/dist/types/level/tiled/TMXObject.d.ts +195 -0
  256. package/dist/types/level/tiled/TMXTile.d.ts +78 -0
  257. package/dist/types/level/tiled/TMXTileMap.d.ts +180 -0
  258. package/dist/types/level/tiled/TMXTileset.d.ts +94 -0
  259. package/dist/types/level/tiled/TMXTilesetGroup.d.ts +32 -0
  260. package/dist/types/level/tiled/TMXUtils.d.ts +47 -0
  261. package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +87 -0
  262. package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +55 -0
  263. package/dist/types/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +43 -0
  264. package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +75 -0
  265. package/dist/types/level/tiled/renderer/TMXStaggeredRenderer.d.ts +8 -0
  266. package/dist/types/loader/loader.d.ts +181 -0
  267. package/dist/types/loader/loadingscreen.d.ts +18 -0
  268. package/dist/types/math/color.d.ts +170 -0
  269. package/dist/types/math/math.d.ts +165 -0
  270. package/dist/types/math/matrix2.d.ts +209 -0
  271. package/dist/types/math/matrix3.d.ts +236 -0
  272. package/dist/types/math/observable_vector2.d.ts +278 -0
  273. package/dist/types/math/observable_vector3.d.ts +277 -0
  274. package/dist/types/math/vector2.d.ts +327 -0
  275. package/dist/types/math/vector3.d.ts +332 -0
  276. package/dist/types/particles/emitter.d.ts +188 -0
  277. package/dist/types/particles/particle.d.ts +32 -0
  278. package/dist/types/particles/settings.d.ts +32 -0
  279. package/dist/types/physics/body.d.ts +330 -0
  280. package/dist/types/physics/bounds.d.ts +250 -0
  281. package/dist/types/physics/collision.d.ts +44 -0
  282. package/dist/types/physics/detector.d.ts +64 -0
  283. package/dist/types/physics/quadtree.d.ts +79 -0
  284. package/dist/types/physics/response.d.ts +37 -0
  285. package/dist/types/physics/sat.d.ts +48 -0
  286. package/dist/types/physics/world.d.ts +83 -0
  287. package/dist/types/plugin/plugin.d.ts +10 -0
  288. package/dist/types/polyfill/console.d.ts +0 -0
  289. package/dist/types/polyfill/index.d.ts +1 -0
  290. package/dist/types/polyfill/performance.d.ts +0 -0
  291. package/dist/types/polyfill/requestAnimationFrame.d.ts +1 -0
  292. package/dist/types/polyfill/roundrect.d.ts +0 -0
  293. package/dist/types/renderable/collectable.d.ts +19 -0
  294. package/dist/types/renderable/colorlayer.d.ts +28 -0
  295. package/dist/types/renderable/container.d.ts +302 -0
  296. package/dist/types/renderable/dragndrop.d.ts +118 -0
  297. package/dist/types/renderable/imagelayer.d.ts +106 -0
  298. package/dist/types/renderable/light2d.d.ts +58 -0
  299. package/dist/types/renderable/nineslicesprite.d.ts +59 -0
  300. package/dist/types/renderable/renderable.d.ts +402 -0
  301. package/dist/types/renderable/sprite.d.ts +268 -0
  302. package/dist/types/renderable/trigger.d.ts +61 -0
  303. package/dist/types/renderable/ui/uibaseelement.d.ts +95 -0
  304. package/dist/types/renderable/ui/uispriteelement.d.ts +127 -0
  305. package/dist/types/renderable/ui/uitextbutton.d.ts +54 -0
  306. package/dist/types/state/stage.d.ts +116 -0
  307. package/dist/types/state/state.d.ts +170 -0
  308. package/dist/types/system/device.d.ts +579 -0
  309. package/dist/types/system/dom.d.ts +1 -0
  310. package/dist/types/system/event.d.ts +473 -0
  311. package/dist/types/system/platform.d.ts +31 -0
  312. package/dist/types/system/pooling.d.ts +101 -0
  313. package/dist/types/system/save.d.ts +25 -0
  314. package/dist/types/system/timer.d.ts +126 -0
  315. package/dist/types/text/bitmaptext.d.ts +151 -0
  316. package/dist/types/text/bitmaptextdata.d.ts +35 -0
  317. package/dist/types/text/glyph.d.ts +28 -0
  318. package/dist/types/text/text.d.ts +173 -0
  319. package/dist/types/text/textmetrics.d.ts +47 -0
  320. package/dist/types/text/textstyle.d.ts +5 -0
  321. package/dist/types/tweens/easing.d.ts +46 -0
  322. package/dist/types/tweens/interpolation.d.ts +18 -0
  323. package/dist/types/tweens/tween.d.ts +195 -0
  324. package/dist/types/utils/agent.d.ts +21 -0
  325. package/dist/types/utils/array.d.ts +39 -0
  326. package/dist/types/utils/file.d.ts +18 -0
  327. package/dist/types/utils/function.d.ts +32 -0
  328. package/dist/types/utils/string.d.ts +50 -0
  329. package/dist/types/utils/utils.d.ts +17 -0
  330. package/dist/types/video/canvas/canvas_renderer.d.ts +380 -0
  331. package/dist/types/video/renderer.d.ts +222 -0
  332. package/dist/types/video/texture/atlas.d.ts +201 -0
  333. package/dist/types/video/texture/cache.d.ts +45 -0
  334. package/dist/types/video/texture/canvas_texture.d.ts +78 -0
  335. package/dist/types/video/utils/autodetect.d.ts +7 -0
  336. package/dist/types/video/utils/resize.d.ts +4 -0
  337. package/dist/types/video/video.d.ts +92 -0
  338. package/dist/types/video/webgl/buffer/vertex.d.ts +56 -0
  339. package/dist/types/video/webgl/glshader.d.ts +93 -0
  340. package/dist/types/video/webgl/utils/attributes.d.ts +4 -0
  341. package/dist/types/video/webgl/utils/precision.d.ts +13 -0
  342. package/dist/types/video/webgl/utils/program.d.ts +5 -0
  343. package/dist/types/video/webgl/utils/string.d.ts +5 -0
  344. package/dist/types/video/webgl/utils/uniforms.d.ts +4 -0
  345. package/dist/types/video/webgl/webgl_compositor.d.ts +174 -0
  346. package/dist/types/video/webgl/webgl_renderer.d.ts +429 -0
  347. package/package.json +14 -14
  348. package/src/application/application.js +171 -20
  349. package/src/application/header.js +25 -0
  350. package/src/application/resize.js +110 -0
  351. package/src/application/settings.js +19 -0
  352. package/src/camera/camera2d.js +1 -1
  353. package/src/index.js +34 -23
  354. package/src/input/pointer.js +1 -1
  355. package/src/input/pointerevent.js +6 -7
  356. package/src/level/level.js +1 -1
  357. package/src/level/tiled/TMXLayer.js +1 -1
  358. package/src/level/tiled/TMXTileMap.js +2 -2
  359. package/src/loader/loadingscreen.js +1 -1
  360. package/src/physics/collision.js +2 -2
  361. package/src/physics/detector.js +172 -145
  362. package/src/physics/world.js +10 -30
  363. package/src/plugin/plugin.js +1 -1
  364. package/src/renderable/container.js +7 -91
  365. package/src/renderable/imagelayer.js +1 -1
  366. package/src/renderable/trigger.js +1 -1
  367. package/src/renderable/ui/uibaseelement.js +1 -1
  368. package/src/state/stage.js +1 -1
  369. package/src/state/state.js +1 -1
  370. package/src/system/device.js +7 -27
  371. package/src/system/dom.js +2 -1
  372. package/src/tweens/tween.js +1 -1
  373. package/src/utils/utils.js +3 -28
  374. package/src/video/canvas/canvas_renderer.js +3 -0
  375. package/src/video/renderer.js +27 -7
  376. package/src/video/texture/canvas_texture.js +20 -0
  377. package/src/video/utils/autodetect.js +18 -0
  378. package/src/video/video.js +17 -291
  379. package/src/video/webgl/glshader.js +3 -4
  380. package/src/video/webgl/utils/precision.js +18 -0
  381. package/src/video/webgl/webgl_renderer.js +3 -0
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @classdesc
3
+ * trigger an event when colliding with another object
4
+ * @augments Renderable
5
+ */
6
+ export default class Trigger extends Renderable {
7
+ /**
8
+ * @param {number} x - the x coordinates of the trigger area
9
+ * @param {number} y - the y coordinates of the trigger area
10
+ * @param {number} [settings.width] - width of the trigger area
11
+ * @param {number} [settings.height] - height of the trigger area
12
+ * @param {Rect[]|Polygon[]|Line[]|Ellipse[]} [settings.shapes] - collision shape(s) that will trigger the event
13
+ * @param {string} [settings.duration] - Fade duration (in ms)
14
+ * @param {string|Color} [settings.color] - Fade color
15
+ * @param {string} [settings.event="level"] - the type of event to trigger (only "level" supported for now)
16
+ * @param {string} [settings.to] - level to load if level trigger
17
+ * @param {string|Container} [settings.container] - Target container. See {@link level.load}
18
+ * @param {Function} [settings.onLoaded] - Level loaded callback. See {@link level.load}
19
+ * @param {boolean} [settings.flatten] - Flatten all objects into the target container. See {@link level.load}
20
+ * @param {boolean} [settings.setViewportBounds] - Resize the viewport to match the level. See {@link level.load}
21
+ * @example
22
+ * me.game.world.addChild(new me.Trigger(
23
+ * x, y, {
24
+ * shapes: [new me.Rect(0, 0, 100, 100)],
25
+ * "duration" : 250,
26
+ * "color" : "#000",
27
+ * "to" : "mymap2"
28
+ * }
29
+ * ));
30
+ */
31
+ constructor(x: number, y: number, settings: any);
32
+ fade: any;
33
+ duration: any;
34
+ fading: boolean;
35
+ type: any;
36
+ id: any;
37
+ gotolevel: any;
38
+ triggerSettings: {
39
+ event: string;
40
+ };
41
+ body: Body;
42
+ /**
43
+ * @ignore
44
+ */
45
+ getTriggerSettings(): {
46
+ event: string;
47
+ };
48
+ /**
49
+ * @ignore
50
+ */
51
+ onFadeComplete(): void;
52
+ /**
53
+ * trigger this event
54
+ * @name triggerEvent
55
+ * @memberof Trigger
56
+ * @protected
57
+ */
58
+ protected triggerEvent(): void;
59
+ }
60
+ import Renderable from "./renderable.js";
61
+ import Body from "./../physics/body.js";
@@ -0,0 +1,95 @@
1
+ /**
2
+ * @classdesc
3
+ * This is a basic clickable container which you can use in your game UI.
4
+ * Use this for example if you want to display a button which contains
5
+ * text and images.
6
+ * @augments Container
7
+ */
8
+ export default class UIBaseElement extends Container {
9
+ /**
10
+ *
11
+ * @param {number} x - The x position of the container
12
+ * @param {number} y - The y position of the container
13
+ * @param {number} w - width of the container (default: viewport width)
14
+ * @param {number} h - height of the container (default: viewport height)
15
+ */
16
+ constructor(x: number, y: number, w: number, h: number);
17
+ /**
18
+ * object can be clicked or not
19
+ * @type {boolean}
20
+ */
21
+ isClickable: boolean;
22
+ /**
23
+ * Tap and hold threshold timeout in ms
24
+ * @type {number}
25
+ * @default 250
26
+ */
27
+ holdThreshold: number;
28
+ /**
29
+ * object can be tap and hold
30
+ * @type {boolean}
31
+ * @default false
32
+ */
33
+ isHoldable: boolean;
34
+ /**
35
+ * true if the pointer is over the object
36
+ * @type {boolean}
37
+ * @default false
38
+ */
39
+ hover: boolean;
40
+ holdTimeout: number | null;
41
+ released: boolean;
42
+ /**
43
+ * function callback for the pointerdown event
44
+ * @ignore
45
+ */
46
+ clicked(event: any): boolean | undefined;
47
+ dirty: boolean | undefined;
48
+ /**
49
+ * function called when the object is pressed (to be extended)
50
+ * @param {Pointer} event - the event object
51
+ * @returns {boolean} return false if we need to stop propagating the event
52
+ */
53
+ onClick(event: Pointer): boolean;
54
+ /**
55
+ * function callback for the pointerEnter event
56
+ * @ignore
57
+ */
58
+ enter(event: any): void;
59
+ /**
60
+ * function called when the pointer is over the object
61
+ * @param {Pointer} event - the event object
62
+ */
63
+ onOver(event: Pointer): void;
64
+ /**
65
+ * function callback for the pointerLeave event
66
+ * @ignore
67
+ */
68
+ leave(event: any): void;
69
+ /**
70
+ * function called when the pointer is leaving the object area
71
+ * @param {Pointer} event - the event object
72
+ */
73
+ onOut(event: Pointer): void;
74
+ /**
75
+ * function callback for the pointerup event
76
+ * @ignore
77
+ */
78
+ release(event: any): boolean | undefined;
79
+ /**
80
+ * function called when the object is pressed and released (to be extended)
81
+ * @returns {boolean} return false if we need to stop propagating the event
82
+ */
83
+ onRelease(): boolean;
84
+ /**
85
+ * function callback for the tap and hold timer event
86
+ * @ignore
87
+ */
88
+ hold(): void;
89
+ /**
90
+ * function called when the object is pressed and held<br>
91
+ * to be extended <br>
92
+ */
93
+ onHold(): void;
94
+ }
95
+ import Container from "../container.js";
@@ -0,0 +1,127 @@
1
+ /**
2
+ * @classdesc
3
+ * This is a basic sprite based button which you can use in your Game UI.
4
+ * @augments Sprite
5
+ */
6
+ export default class UISpriteElement extends Sprite {
7
+ /**
8
+ * @param {number} x - the x coordinate of the GUI Object
9
+ * @param {number} y - the y coordinate of the GUI Object
10
+ * @param {object} settings - See {@link Sprite}
11
+ * @example
12
+ * // create a basic GUI Object
13
+ * class myButton extends UISpriteElement {
14
+ * constructor(x, y) {
15
+ * var settings = {}
16
+ * settings.image = "button";
17
+ * settings.framewidth = 100;
18
+ * settings.frameheight = 50;
19
+ * // super constructor
20
+ * super(x, y, settings);
21
+ * // define the object z order
22
+ * this.pos.z = 4;
23
+ * }
24
+ *
25
+ * // output something in the console
26
+ * // when the object is clicked
27
+ * onClick:function (event) {
28
+ * console.log("clicked!");
29
+ * // don't propagate the event
30
+ * return false;
31
+ * }
32
+ * });
33
+ *
34
+ * // add the object at pos (10,10)
35
+ * me.game.world.addChild(new myButton(10,10));
36
+ */
37
+ constructor(x: number, y: number, settings: object);
38
+ /**
39
+ * object can be clicked or not
40
+ * @type {boolean}
41
+ * @default true
42
+ */
43
+ isClickable: boolean;
44
+ /**
45
+ * Tap and hold threshold timeout in ms
46
+ * @type {number}
47
+ * @default 250
48
+ */
49
+ holdThreshold: number;
50
+ /**
51
+ * object can be tap and hold
52
+ * @type {boolean}
53
+ * @default false
54
+ */
55
+ isHoldable: boolean;
56
+ /**
57
+ * true if the pointer is over the object
58
+ * @type {boolean}
59
+ * @default false
60
+ */
61
+ hover: boolean;
62
+ holdTimeout: number | null;
63
+ released: boolean;
64
+ /**
65
+ * function callback for the pointerdown event
66
+ * @ignore
67
+ */
68
+ clicked(event: any): boolean | undefined;
69
+ dirty: boolean | undefined;
70
+ /**
71
+ * function called when the object is pressed (to be extended)
72
+ * @param {Pointer} event - the event object
73
+ * @returns {boolean} return false if we need to stop propagating the event
74
+ */
75
+ onClick(event: Pointer): boolean;
76
+ /**
77
+ * function callback for the pointerEnter event
78
+ * @ignore
79
+ */
80
+ enter(event: any): void;
81
+ /**
82
+ * function called when the pointer is over the object
83
+ * @param {Pointer} event - the event object
84
+ */
85
+ onOver(event: Pointer): void;
86
+ /**
87
+ * function callback for the pointerLeave event
88
+ * @ignore
89
+ */
90
+ leave(event: any): void;
91
+ /**
92
+ * function called when the pointer is leaving the object area
93
+ * @param {Pointer} event - the event object
94
+ */
95
+ onOut(event: Pointer): void;
96
+ /**
97
+ * function callback for the pointerup event
98
+ * @ignore
99
+ */
100
+ release(event: any): boolean | undefined;
101
+ /**
102
+ * function called when the object is pressed and released (to be extended)
103
+ * @returns {boolean} return false if we need to stop propagating the event
104
+ */
105
+ onRelease(): boolean;
106
+ /**
107
+ * function callback for the tap and hold timer event
108
+ * @ignore
109
+ */
110
+ hold(): void;
111
+ /**
112
+ * function called when the object is pressed and held<br>
113
+ * to be extended <br>
114
+ */
115
+ onHold(): void;
116
+ /**
117
+ * function called when added to the game world or a container
118
+ * @ignore
119
+ */
120
+ onActivateEvent(): void;
121
+ /**
122
+ * function called when removed from the game world or a container
123
+ * @ignore
124
+ */
125
+ onDeactivateEvent(): void;
126
+ }
127
+ import Sprite from "./../sprite.js";
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @classdesc
3
+ * This is a basic base text button which you can use in your Game UI.
4
+ * @augments UIBaseElement
5
+ */
6
+ export default class UITextButton extends UIBaseElement {
7
+ /**
8
+ * A Text Button with an outlined background border, filled with background color.
9
+ * It uses a RoundRect as background and changes the background color on hovering over.
10
+ * The background will be drawn with 0.5 opacity, so that the background of the button is
11
+ * slightly shining through.
12
+ * @param {number} x - x pos of the button
13
+ * @param {number} y - y pos of the button
14
+ * @param {string} [settings.font] - The name of the BitmapText font to use
15
+ * @param {number} [settings.size] - The scale factor of the font (default: 1)
16
+ * @param {string} [settings.text] - The text to display (default: 'click me')
17
+ * @param {string} [settings.bindKey] - The key to bind the action to (default: none)
18
+ * @param {string} [settings.backgroundColor] - The css value of a background color
19
+ * @param {string} [settings.hoverColor] - The css value of a color to be used if the pointer hovers over the button
20
+ * @param {string} [settings.borderStrokeColor] - The css value of a color to be used to draw the border
21
+ * @param {boolean} [settings.offScreenCanvas] - Weather to use an offScreen canvas or not
22
+ * @param {string} [settings.fillStyle] - The css value of a tint color to be used to tint the text
23
+ * @param {number} [settings.borderWidth] - Width of the button
24
+ * @param {number} [settings.borderHeight] - Height of the button
25
+ * @example
26
+ * // Create a new Button
27
+ * class PlayButton extends BaseTextButton {
28
+ * constructor(x,y) {
29
+ * super(x,y, {
30
+ * font: 'my-font',
31
+ * text: 'Play',
32
+ * // if you omit the next two, size is calculated by the size of the text
33
+ * borderWidth: 200,
34
+ * borderHeight: 20,
35
+ * });
36
+ * }
37
+ *
38
+ * onClick(){
39
+ * state.change(state.PLAY);
40
+ * }
41
+ * }
42
+ *
43
+ * game.world.addChild(new PlayButton(15,200));
44
+ */
45
+ constructor(x: number, y: number, settings: any);
46
+ font: BitmapText;
47
+ dimensions: import("../../text/textmetrics.js").default;
48
+ border: RoundRect;
49
+ settings: any;
50
+ draw(renderer: any): void;
51
+ }
52
+ import UIBaseElement from "./uibaseelement.js";
53
+ import BitmapText from "../../text/bitmaptext.js";
54
+ import RoundRect from "../../geometries/roundrect.js";
@@ -0,0 +1,116 @@
1
+ /**
2
+ * @classdesc
3
+ * a default "Stage" object.
4
+ * every "stage" object (title screen, credits, ingame, etc...) to be managed
5
+ * through the state manager must inherit from this base class.
6
+ * @see state
7
+ */
8
+ export default class Stage {
9
+ /**
10
+ * @param {object} [settings] - The stage` parameters
11
+ * @param {Camera2d[]} [settings.cameras=[new me.Camera2d()]] - a list of cameras (experimental)
12
+ * @param {Function} [settings.onResetEvent] - called by the state manager when reseting the object
13
+ * @param {Function} [settings.onDestroyEvent] - called by the state manager before switching to another state
14
+ */
15
+ constructor(settings?: {
16
+ cameras?: Camera2d[] | undefined;
17
+ onResetEvent?: Function | undefined;
18
+ onDestroyEvent?: Function | undefined;
19
+ } | undefined);
20
+ /**
21
+ * The list of active cameras in this stage.
22
+ * Cameras will be renderered based on this order defined in this list.
23
+ * Only the "default" camera will be resized when the window or canvas is resized.
24
+ * @public
25
+ * @type {Map<Camera2d>}
26
+ * @name cameras
27
+ * @memberof Stage
28
+ */
29
+ public cameras: Map<Camera2d, any>;
30
+ /**
31
+ * The list of active lights in this stage.
32
+ * (Note: Canvas Renderering mode will only properly support one light per stage)
33
+ * @public
34
+ * @type {Map<Light2d>}
35
+ * @name lights
36
+ * @memberof Stage
37
+ * @see Light2d
38
+ * @see Stage.ambientLight
39
+ * @example
40
+ * // create a white spot light
41
+ * var whiteLight = new me.Light2d(0, 0, 140, "#fff", 0.7);
42
+ * // and add the light to this current stage
43
+ * this.lights.set("whiteLight", whiteLight);
44
+ * // set a dark ambient light
45
+ * this.ambientLight.parseCSS("#1117");
46
+ * // make the light follow the mouse
47
+ * me.input.registerPointerEvent("pointermove", me.game.viewport, (event) => {
48
+ * whiteLight.centerOn(event.gameX, event.gameY);
49
+ * });
50
+ */
51
+ public lights: Map<Light2d, any>;
52
+ /**
53
+ * an ambient light that will be added to the stage rendering
54
+ * @public
55
+ * @type {Color}
56
+ * @name ambientLight
57
+ * @memberof Stage
58
+ * @default "#000000"
59
+ * @see Light2d
60
+ */
61
+ public ambientLight: Color;
62
+ /**
63
+ * The given constructor options
64
+ * @public
65
+ * @name settings
66
+ * @memberof Stage
67
+ * @type {object}
68
+ */
69
+ public settings: object;
70
+ /**
71
+ * Object reset function
72
+ * @ignore
73
+ */
74
+ reset(...args: any[]): void;
75
+ /**
76
+ * update function
77
+ * @name update
78
+ * @memberof Stage
79
+ * @ignore
80
+ * @param {number} dt - time since the last update in milliseconds.
81
+ * @returns {boolean}
82
+ */
83
+ update(dt: number): boolean;
84
+ /**
85
+ * draw the current stage
86
+ * @name draw
87
+ * @memberof Stage
88
+ * @ignore
89
+ * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
90
+ */
91
+ draw(renderer: CanvasRenderer | WebGLRenderer): void;
92
+ /**
93
+ * destroy function
94
+ * @ignore
95
+ */
96
+ destroy(...args: any[]): void;
97
+ /**
98
+ * onResetEvent function<br>
99
+ * called by the state manager when reseting the object
100
+ * this is typically where you will load a level, add renderables, etc...
101
+ * @name onResetEvent
102
+ * @memberof Stage
103
+ * @param {object} [...arguments] - optional arguments passed when switching state
104
+ * @see state#change
105
+ */
106
+ onResetEvent(...args: any[]): void;
107
+ /**
108
+ * onDestroyEvent function<br>
109
+ * called by the state manager before switching to another state
110
+ * @name onDestroyEvent
111
+ * @memberof Stage
112
+ */
113
+ onDestroyEvent(...args: any[]): void;
114
+ }
115
+ import Camera2d from "./../camera/camera2d.js";
116
+ import Color from "./../math/color.js";
@@ -0,0 +1,170 @@
1
+ export default state;
2
+ declare namespace state {
3
+ const LOADING: number;
4
+ const MENU: number;
5
+ const READY: number;
6
+ const PLAY: number;
7
+ const GAMEOVER: number;
8
+ const GAME_END: number;
9
+ const SCORE: number;
10
+ const CREDITS: number;
11
+ const SETTINGS: number;
12
+ const DEFAULT: number;
13
+ const USER: number;
14
+ /**
15
+ * Stop the current stage.
16
+ * @name stop
17
+ * @memberof state
18
+ * @public
19
+ * @param {boolean} [pauseTrack=false] - pause current track on screen stop.
20
+ */
21
+ function stop(pauseTrack?: boolean | undefined): void;
22
+ /**
23
+ * pause the current stage
24
+ * @name pause
25
+ * @memberof state
26
+ * @public
27
+ * @param {boolean} [music=false] - pause current music track on screen pause
28
+ */
29
+ function pause(music?: boolean | undefined): void;
30
+ /**
31
+ * Restart the current stage from a full stop.
32
+ * @name restart
33
+ * @memberof state
34
+ * @public
35
+ * @param {boolean} [music=false] - resume current music track on screen resume
36
+ */
37
+ function restart(music?: boolean | undefined): void;
38
+ /**
39
+ * resume the current stage
40
+ * @name resume
41
+ * @memberof state
42
+ * @public
43
+ * @param {boolean} [music=false] - resume current music track on screen resume
44
+ */
45
+ function resume(music?: boolean | undefined): void;
46
+ /**
47
+ * return the running state of the state manager
48
+ * @name isRunning
49
+ * @memberof state
50
+ * @public
51
+ * @returns {boolean} true if a "process is running"
52
+ */
53
+ function isRunning(): boolean;
54
+ /**
55
+ * Return the pause state of the state manager
56
+ * @name isPaused
57
+ * @memberof state
58
+ * @public
59
+ * @returns {boolean} true if the game is paused
60
+ */
61
+ function isPaused(): boolean;
62
+ /**
63
+ * associate the specified state with a Stage
64
+ * @name set
65
+ * @memberof state
66
+ * @public
67
+ * @param {number} state - State ID (see constants)
68
+ * @param {Stage} stage - Instantiated Stage to associate with state ID
69
+ * @param {boolean} [start = false] - if true the state will be changed immediately after adding it.
70
+ * @example
71
+ * class MenuButton extends me.GUI_Object {
72
+ * onClick() {
73
+ * // Change to the PLAY state when the button is clicked
74
+ * me.state.change(me.state.PLAY);
75
+ * return true;
76
+ * }
77
+ * };
78
+ *
79
+ * class MenuScreen extends me.Stage {
80
+ * onResetEvent() {
81
+ * // Load background image
82
+ * me.game.world.addChild(
83
+ * new me.ImageLayer(0, 0, {
84
+ * image : "bg",
85
+ * z: 0 // z-index
86
+ * }
87
+ * );
88
+ *
89
+ * // Add a button
90
+ * me.game.world.addChild(
91
+ * new MenuButton(350, 200, { "image" : "start" }),
92
+ * 1 // z-index
93
+ * );
94
+ *
95
+ * // Play music
96
+ * me.audio.playTrack("menu");
97
+ * }
98
+ *
99
+ * onDestroyEvent() {
100
+ * // Stop music
101
+ * me.audio.stopTrack();
102
+ * }
103
+ * };
104
+ *
105
+ * me.state.set(me.state.MENU, new MenuScreen());
106
+ */
107
+ function set(state: number, stage: Stage, start?: boolean | undefined): void;
108
+ /**
109
+ * returns the stage associated with the specified state
110
+ * (or the current one if none is specified)
111
+ * @name set
112
+ * @memberof state
113
+ * @public
114
+ * @param {number} [state] - State ID (see constants)
115
+ * @returns {Stage}
116
+ */
117
+ function get(state?: number | undefined): Stage;
118
+ /**
119
+ * return a reference to the current stage<br>
120
+ * useful to call a object specific method
121
+ * @name current
122
+ * @memberof state
123
+ * @public
124
+ * @returns {Stage}
125
+ */
126
+ function current(): Stage;
127
+ /**
128
+ * specify a global transition effect
129
+ * @name transition
130
+ * @memberof state
131
+ * @public
132
+ * @param {string} effect - (only "fade" is supported for now)
133
+ * @param {Color|string} color - a CSS color value
134
+ * @param {number} [duration=1000] - expressed in milliseconds
135
+ */
136
+ function transition(effect: string, color: any, duration?: number | undefined): void;
137
+ /**
138
+ * enable/disable transition for a specific state (by default enabled for all)
139
+ * @name setTransition
140
+ * @memberof state
141
+ * @public
142
+ * @param {number} state - State ID (see constants)
143
+ * @param {boolean} enable
144
+ */
145
+ function setTransition(state: number, enable: boolean): void;
146
+ /**
147
+ * change the game/app state
148
+ * @name change
149
+ * @memberof state
150
+ * @public
151
+ * @param {number} state - State ID (see constants)
152
+ * @param {boolean} forceChange - if true the state will be changed immediately
153
+ * @param {object} [...arguments] - extra arguments to be passed to the reset functions
154
+ * @example
155
+ * // The onResetEvent method on the play screen will receive two args:
156
+ * // "level_1" and the number 3
157
+ * me.state.change(me.state.PLAY, "level_1", 3);
158
+ */
159
+ function change(state: number, forceChange: boolean, ...args: any[]): void;
160
+ /**
161
+ * return true if the specified state is the current one
162
+ * @name isCurrent
163
+ * @memberof state
164
+ * @public
165
+ * @param {number} state - State ID (see constants)
166
+ * @returns {boolean} true if the specified state is the current one
167
+ */
168
+ function isCurrent(state: number): boolean;
169
+ }
170
+ import Stage from "./../state/stage.js";