melonjs 14.2.0 → 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 (283) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  2. package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/index2.js +1 -1
  7. package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
  8. package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
  9. package/dist/melonjs.mjs/application/application.js +153 -9
  10. package/dist/melonjs.mjs/application/header.js +34 -0
  11. package/dist/melonjs.mjs/application/resize.js +1 -1
  12. package/dist/melonjs.mjs/application/settings.js +28 -0
  13. package/dist/melonjs.mjs/audio/audio.js +1 -1
  14. package/dist/melonjs.mjs/camera/camera2d.js +2 -2
  15. package/dist/melonjs.mjs/entity/entity.js +1 -1
  16. package/dist/melonjs.mjs/game.js +1 -1
  17. package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
  18. package/dist/melonjs.mjs/geometries/line.js +1 -1
  19. package/dist/melonjs.mjs/geometries/path2d.js +1 -1
  20. package/dist/melonjs.mjs/geometries/point.js +1 -1
  21. package/dist/melonjs.mjs/geometries/poly.js +1 -1
  22. package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
  23. package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
  24. package/dist/melonjs.mjs/index.js +41 -30
  25. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  26. package/dist/melonjs.mjs/input/input.js +1 -1
  27. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  28. package/dist/melonjs.mjs/input/pointer.js +2 -2
  29. package/dist/melonjs.mjs/input/pointerevent.js +2 -2
  30. package/dist/melonjs.mjs/lang/deprecated.js +1 -1
  31. package/dist/melonjs.mjs/level/level.js +2 -2
  32. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  33. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +2 -2
  34. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  35. package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
  36. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +2 -2
  37. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
  39. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  45. package/dist/melonjs.mjs/loader/loader.js +1 -1
  46. package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
  47. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  48. package/dist/melonjs.mjs/math/color.js +1 -1
  49. package/dist/melonjs.mjs/math/math.js +1 -1
  50. package/dist/melonjs.mjs/math/matrix2.js +1 -1
  51. package/dist/melonjs.mjs/math/matrix3.js +1 -1
  52. package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
  53. package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
  54. package/dist/melonjs.mjs/math/vector2.js +1 -1
  55. package/dist/melonjs.mjs/math/vector3.js +1 -1
  56. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
  57. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  58. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  61. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  62. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  63. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  64. package/dist/melonjs.mjs/particles/emitter.js +1 -1
  65. package/dist/melonjs.mjs/particles/particle.js +1 -1
  66. package/dist/melonjs.mjs/particles/settings.js +1 -1
  67. package/dist/melonjs.mjs/physics/body.js +1 -1
  68. package/dist/melonjs.mjs/physics/bounds.js +1 -1
  69. package/dist/melonjs.mjs/physics/collision.js +3 -3
  70. package/dist/melonjs.mjs/physics/detector.js +174 -146
  71. package/dist/melonjs.mjs/physics/quadtree.js +1 -1
  72. package/dist/melonjs.mjs/physics/response.js +1 -1
  73. package/dist/melonjs.mjs/physics/sat.js +1 -1
  74. package/dist/melonjs.mjs/physics/world.js +10 -30
  75. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  76. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  77. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  78. package/dist/melonjs.mjs/renderable/container.js +3 -87
  79. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  80. package/dist/melonjs.mjs/renderable/imagelayer.js +2 -2
  81. package/dist/melonjs.mjs/renderable/light2d.js +1 -1
  82. package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
  83. package/dist/melonjs.mjs/renderable/renderable.js +1 -1
  84. package/dist/melonjs.mjs/renderable/sprite.js +1 -1
  85. package/dist/melonjs.mjs/renderable/trigger.js +2 -2
  86. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
  87. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
  88. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
  89. package/dist/melonjs.mjs/state/stage.js +2 -2
  90. package/dist/melonjs.mjs/state/state.js +2 -2
  91. package/dist/melonjs.mjs/system/device.js +2 -22
  92. package/dist/melonjs.mjs/system/dom.js +1 -1
  93. package/dist/melonjs.mjs/system/event.js +1 -1
  94. package/dist/melonjs.mjs/system/platform.js +1 -1
  95. package/dist/melonjs.mjs/system/pooling.js +1 -1
  96. package/dist/melonjs.mjs/system/save.js +1 -1
  97. package/dist/melonjs.mjs/system/timer.js +1 -1
  98. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  99. package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
  100. package/dist/melonjs.mjs/text/glyph.js +1 -1
  101. package/dist/melonjs.mjs/text/text.js +1 -1
  102. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  103. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  104. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  105. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  106. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  107. package/dist/melonjs.mjs/utils/agent.js +1 -1
  108. package/dist/melonjs.mjs/utils/array.js +1 -1
  109. package/dist/melonjs.mjs/utils/file.js +1 -1
  110. package/dist/melonjs.mjs/utils/function.js +1 -1
  111. package/dist/melonjs.mjs/utils/string.js +1 -1
  112. package/dist/melonjs.mjs/utils/utils.js +1 -1
  113. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +4 -1
  114. package/dist/melonjs.mjs/video/renderer.js +8 -1
  115. package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
  116. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  117. package/dist/melonjs.mjs/video/texture/canvas_texture.js +3 -2
  118. package/dist/melonjs.mjs/video/utils/autodetect.js +27 -0
  119. package/dist/melonjs.mjs/video/utils/resize.js +1 -1
  120. package/dist/melonjs.mjs/video/video.js +15 -147
  121. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
  122. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -3
  123. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  124. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  125. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  126. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  127. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  128. package/dist/melonjs.mjs/video/webgl/utils/precision.js +20 -2
  129. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  130. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  131. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  132. package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +1 -1
  133. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +4 -1
  134. package/dist/melonjs.module.js +20922 -20921
  135. package/dist/types/application/application.d.ts +144 -0
  136. package/dist/types/application/header.d.ts +5 -0
  137. package/dist/types/application/resize.d.ts +5 -0
  138. package/dist/types/application/settings.d.ts +18 -0
  139. package/dist/types/audio/audio.d.ts +267 -0
  140. package/dist/types/camera/camera2d.d.ts +289 -0
  141. package/dist/types/entity/entity.d.ts +98 -0
  142. package/{src/game.js → dist/types/game.d.ts} +3 -14
  143. package/dist/types/geometries/ellipse.d.ts +154 -0
  144. package/dist/types/geometries/line.d.ts +11 -0
  145. package/dist/types/geometries/path2d.d.ts +121 -0
  146. package/dist/types/geometries/point.d.ts +53 -0
  147. package/dist/types/geometries/poly.d.ts +222 -0
  148. package/dist/types/geometries/rectangle.d.ts +176 -0
  149. package/dist/types/geometries/roundrect.d.ts +52 -0
  150. package/dist/types/index.d.ts +3 -2
  151. package/dist/types/input/gamepad.d.ts +95 -0
  152. package/dist/types/input/input.d.ts +15 -0
  153. package/dist/types/input/keyboard.d.ts +205 -0
  154. package/dist/types/input/pointer.d.ts +270 -0
  155. package/dist/types/input/pointerevent.d.ts +181 -0
  156. package/dist/types/lang/deprecated.d.ts +53 -0
  157. package/dist/types/level/level.d.ts +134 -0
  158. package/dist/types/level/tiled/TMXGroup.d.ts +82 -0
  159. package/dist/types/level/tiled/TMXLayer.d.ts +180 -0
  160. package/dist/types/level/tiled/TMXObject.d.ts +195 -0
  161. package/dist/types/level/tiled/TMXTile.d.ts +78 -0
  162. package/dist/types/level/tiled/TMXTileMap.d.ts +180 -0
  163. package/dist/types/level/tiled/TMXTileset.d.ts +94 -0
  164. package/dist/types/level/tiled/TMXTilesetGroup.d.ts +32 -0
  165. package/dist/types/level/tiled/TMXUtils.d.ts +47 -0
  166. package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +87 -0
  167. package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +55 -0
  168. package/dist/types/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +43 -0
  169. package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +75 -0
  170. package/dist/types/level/tiled/renderer/TMXStaggeredRenderer.d.ts +8 -0
  171. package/dist/types/loader/loader.d.ts +181 -0
  172. package/dist/types/loader/loadingscreen.d.ts +18 -0
  173. package/dist/types/math/color.d.ts +170 -0
  174. package/dist/types/math/math.d.ts +165 -0
  175. package/dist/types/math/matrix2.d.ts +209 -0
  176. package/dist/types/math/matrix3.d.ts +236 -0
  177. package/dist/types/math/observable_vector2.d.ts +278 -0
  178. package/dist/types/math/observable_vector3.d.ts +277 -0
  179. package/dist/types/math/vector2.d.ts +327 -0
  180. package/dist/types/math/vector3.d.ts +332 -0
  181. package/dist/types/particles/emitter.d.ts +188 -0
  182. package/dist/types/particles/particle.d.ts +32 -0
  183. package/dist/types/particles/settings.d.ts +32 -0
  184. package/dist/types/physics/body.d.ts +330 -0
  185. package/dist/types/physics/bounds.d.ts +250 -0
  186. package/dist/types/physics/collision.d.ts +44 -0
  187. package/dist/types/physics/detector.d.ts +64 -0
  188. package/dist/types/physics/quadtree.d.ts +79 -0
  189. package/dist/types/physics/response.d.ts +37 -0
  190. package/dist/types/physics/sat.d.ts +48 -0
  191. package/dist/types/physics/world.d.ts +83 -0
  192. package/dist/types/plugin/plugin.d.ts +10 -0
  193. package/dist/types/polyfill/console.d.ts +0 -0
  194. package/dist/types/polyfill/index.d.ts +1 -0
  195. package/dist/types/polyfill/performance.d.ts +0 -0
  196. package/dist/types/polyfill/requestAnimationFrame.d.ts +1 -0
  197. package/dist/types/polyfill/roundrect.d.ts +0 -0
  198. package/dist/types/renderable/collectable.d.ts +19 -0
  199. package/dist/types/renderable/colorlayer.d.ts +28 -0
  200. package/dist/types/renderable/container.d.ts +302 -0
  201. package/dist/types/renderable/dragndrop.d.ts +118 -0
  202. package/dist/types/renderable/imagelayer.d.ts +106 -0
  203. package/dist/types/renderable/light2d.d.ts +58 -0
  204. package/dist/types/renderable/nineslicesprite.d.ts +59 -0
  205. package/dist/types/renderable/renderable.d.ts +402 -0
  206. package/dist/types/renderable/sprite.d.ts +268 -0
  207. package/dist/types/renderable/trigger.d.ts +61 -0
  208. package/dist/types/renderable/ui/uibaseelement.d.ts +95 -0
  209. package/dist/types/renderable/ui/uispriteelement.d.ts +127 -0
  210. package/dist/types/renderable/ui/uitextbutton.d.ts +54 -0
  211. package/dist/types/state/stage.d.ts +116 -0
  212. package/dist/types/state/state.d.ts +170 -0
  213. package/dist/types/system/device.d.ts +579 -0
  214. package/dist/types/system/dom.d.ts +1 -0
  215. package/dist/types/system/event.d.ts +473 -0
  216. package/dist/types/system/platform.d.ts +31 -0
  217. package/dist/types/system/pooling.d.ts +101 -0
  218. package/dist/types/system/save.d.ts +25 -0
  219. package/dist/types/system/timer.d.ts +126 -0
  220. package/dist/types/text/bitmaptext.d.ts +151 -0
  221. package/dist/types/text/bitmaptextdata.d.ts +35 -0
  222. package/dist/types/text/glyph.d.ts +28 -0
  223. package/dist/types/text/text.d.ts +173 -0
  224. package/dist/types/text/textmetrics.d.ts +47 -0
  225. package/dist/types/text/textstyle.d.ts +5 -0
  226. package/dist/types/tweens/easing.d.ts +46 -0
  227. package/dist/types/tweens/interpolation.d.ts +18 -0
  228. package/dist/types/tweens/tween.d.ts +195 -0
  229. package/dist/types/utils/agent.d.ts +21 -0
  230. package/dist/types/utils/array.d.ts +39 -0
  231. package/dist/types/utils/file.d.ts +18 -0
  232. package/dist/types/utils/function.d.ts +32 -0
  233. package/dist/types/utils/string.d.ts +50 -0
  234. package/dist/types/utils/utils.d.ts +17 -0
  235. package/dist/types/video/canvas/canvas_renderer.d.ts +380 -0
  236. package/dist/types/video/renderer.d.ts +222 -0
  237. package/dist/types/video/texture/atlas.d.ts +201 -0
  238. package/dist/types/video/texture/cache.d.ts +45 -0
  239. package/dist/types/video/texture/canvas_texture.d.ts +78 -0
  240. package/dist/types/video/utils/autodetect.d.ts +7 -0
  241. package/dist/types/video/utils/resize.d.ts +4 -0
  242. package/dist/types/video/video.d.ts +92 -0
  243. package/dist/types/video/webgl/buffer/vertex.d.ts +56 -0
  244. package/dist/types/video/webgl/glshader.d.ts +93 -0
  245. package/dist/types/video/webgl/utils/attributes.d.ts +4 -0
  246. package/dist/types/video/webgl/utils/precision.d.ts +13 -0
  247. package/dist/types/video/webgl/utils/program.d.ts +5 -0
  248. package/dist/types/video/webgl/utils/string.d.ts +5 -0
  249. package/dist/types/video/webgl/utils/uniforms.d.ts +4 -0
  250. package/dist/types/video/webgl/webgl_compositor.d.ts +174 -0
  251. package/dist/types/video/webgl/webgl_renderer.d.ts +429 -0
  252. package/package.json +4 -4
  253. package/src/application/application.js +151 -7
  254. package/src/application/header.js +25 -0
  255. package/src/{video/utils → application}/resize.js +9 -6
  256. package/src/application/settings.js +19 -0
  257. package/src/camera/camera2d.js +1 -1
  258. package/src/index.js +34 -23
  259. package/src/input/pointer.js +1 -1
  260. package/src/input/pointerevent.js +1 -1
  261. package/src/level/level.js +1 -1
  262. package/src/level/tiled/TMXLayer.js +1 -1
  263. package/src/level/tiled/TMXTileMap.js +2 -2
  264. package/src/loader/loadingscreen.js +1 -1
  265. package/src/physics/collision.js +2 -2
  266. package/src/physics/detector.js +172 -145
  267. package/src/physics/world.js +10 -30
  268. package/src/renderable/container.js +7 -91
  269. package/src/renderable/imagelayer.js +1 -1
  270. package/src/renderable/trigger.js +1 -1
  271. package/src/renderable/ui/uibaseelement.js +1 -1
  272. package/src/state/stage.js +1 -1
  273. package/src/state/state.js +1 -1
  274. package/src/system/device.js +0 -20
  275. package/src/tweens/tween.js +1 -1
  276. package/src/video/canvas/canvas_renderer.js +3 -0
  277. package/src/video/renderer.js +7 -0
  278. package/src/video/texture/canvas_texture.js +2 -1
  279. package/src/video/utils/autodetect.js +18 -0
  280. package/src/video/video.js +13 -145
  281. package/src/video/webgl/glshader.js +3 -4
  282. package/src/video/webgl/utils/precision.js +18 -0
  283. package/src/video/webgl/webgl_renderer.js +3 -0
@@ -0,0 +1,180 @@
1
+ /**
2
+ * @classdesc
3
+ * a TMX Tile Map Object
4
+ * Tiled QT +0.7.x format
5
+ */
6
+ export default class TMXTileMap {
7
+ /**
8
+ * @param {string} levelId - name of TMX map
9
+ * @param {object} data - TMX map in JSON format
10
+ * @example
11
+ * // create a new level object based on the TMX JSON object
12
+ * var level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
13
+ * // add the level to the game world container
14
+ * level.addTo(me.game.world, true);
15
+ */
16
+ constructor(levelId: string, data: object);
17
+ /**
18
+ * the level data (JSON)
19
+ * @ignore
20
+ */
21
+ data: object;
22
+ /**
23
+ * name of the tilemap
24
+ * @public
25
+ * @type {string}
26
+ * @name TMXTileMap#name
27
+ */
28
+ public name: string;
29
+ /**
30
+ * width of the tilemap in tiles
31
+ * @public
32
+ * @type {number}
33
+ * @name TMXTileMap#cols
34
+ */
35
+ public cols: number;
36
+ /**
37
+ * height of the tilemap in tiles
38
+ * @public
39
+ * @type {number}
40
+ * @name TMXTileMap#rows
41
+ */
42
+ public rows: number;
43
+ /**
44
+ * Tile width
45
+ * @public
46
+ * @type {number}
47
+ * @name TMXTileMap#tilewidth
48
+ */
49
+ public tilewidth: number;
50
+ /**
51
+ * Tile height
52
+ * @public
53
+ * @type {number}
54
+ * @name TMXTileMap#tileheight
55
+ */
56
+ public tileheight: number;
57
+ /**
58
+ * is the map an infinite map
59
+ * @public
60
+ * @type {number}
61
+ * @default 0
62
+ * @name TMXTileMap#infinite
63
+ */
64
+ public infinite: number;
65
+ /**
66
+ * the map orientation type. melonJS supports “orthogonal”, “isometric”, “staggered” and “hexagonal”.
67
+ * @public
68
+ * @type {string}
69
+ * @default "orthogonal"
70
+ * @name TMXTileMap#orientation
71
+ */
72
+ public orientation: string;
73
+ /**
74
+ * the order in which tiles on orthogonal tile layers are rendered.
75
+ * (valid values are "left-down", "left-up", "right-down", "right-up")
76
+ * @public
77
+ * @type {string}
78
+ * @default "right-down"
79
+ * @name TMXTileMap#renderorder
80
+ */
81
+ public renderorder: string;
82
+ /**
83
+ * the TMX format version
84
+ * @public
85
+ * @type {string}
86
+ * @name TMXTileMap#version
87
+ */
88
+ public version: string;
89
+ /**
90
+ * The Tiled version used to save the file (since Tiled 1.0.1).
91
+ * @public
92
+ * @type {string}
93
+ * @name TMXTileMap#tiledversion
94
+ */
95
+ public tiledversion: string;
96
+ /**
97
+ * The map class.
98
+ * @public
99
+ * @type {string}
100
+ * @name TMXTileMap#class
101
+ */
102
+ public class: string;
103
+ tilesets: TMXTilesetGroup | null | undefined;
104
+ layers: any[];
105
+ objectGroups: any[];
106
+ isEditor: boolean;
107
+ nextobjectid: number | undefined;
108
+ hexsidelength: number;
109
+ staggeraxis: any;
110
+ staggerindex: any;
111
+ bounds: any;
112
+ width: any;
113
+ height: any;
114
+ backgroundcolor: any;
115
+ initialized: boolean;
116
+ /**
117
+ * Return the map default renderer
118
+ * @name getRenderer
119
+ * @memberof TMXTileMap
120
+ * @public
121
+ * @returns {TMXRenderer} a TMX renderer
122
+ */
123
+ public getRenderer(): TMXRenderer;
124
+ renderer: TMXOrthogonalRenderer | TMXIsometricRenderer | TMXHexagonalRenderer | undefined;
125
+ /**
126
+ * return the map bounding rect
127
+ * @name TMXRenderer#getBounds
128
+ * @public
129
+ * @returns {Bounds}
130
+ */
131
+ public getBounds(): Bounds;
132
+ /**
133
+ * parse the map
134
+ * @ignore
135
+ */
136
+ readMapObjects(data: any): void;
137
+ /**
138
+ * add all the map layers and objects to the given container.
139
+ * note : this will not automatically update the camera viewport
140
+ * @name TMXTileMap#addTo
141
+ * @public
142
+ * @param {Container} container - target container
143
+ * @param {boolean} [flatten=true] - if true, flatten all objects into the given container, else a `me.Container` object will be created for each corresponding groups
144
+ * @param {boolean} [setViewportBounds=false] - if true, set the viewport bounds to the map size, this should be set to true especially if adding a level to the game world container.
145
+ * @example
146
+ * // create a new level object based on the TMX JSON object
147
+ * var level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
148
+ * // add the level to the game world container
149
+ * level.addTo(me.game.world, true, true);
150
+ */
151
+ public addTo(container: Container, flatten?: boolean | undefined, setViewportBounds?: boolean | undefined): void;
152
+ /**
153
+ * return an Array of instantiated objects, based on the map object definition
154
+ * @name TMXTileMap#getObjects
155
+ * @public
156
+ * @param {boolean} [flatten=true] - if true, flatten all objects into the returned array.
157
+ * when false, a `me.Container` object will be created for each corresponding groups
158
+ * @returns {Renderable[]} Array of Objects
159
+ */
160
+ public getObjects(flatten?: boolean | undefined): Renderable[];
161
+ /**
162
+ * return all the existing layers
163
+ * @name TMXTileMap#getLayers
164
+ * @public
165
+ * @returns {TMXLayer[]} Array of Layers
166
+ */
167
+ public getLayers(): TMXLayer[];
168
+ /**
169
+ * destroy function, clean all allocated objects
170
+ * @name TMXTileMap#destroy
171
+ * @public
172
+ */
173
+ public destroy(): void;
174
+ }
175
+ import TMXTilesetGroup from "./TMXTilesetGroup.js";
176
+ import TMXOrthogonalRenderer from "./renderer/TMXOrthogonalRenderer.js";
177
+ import TMXIsometricRenderer from "./renderer/TMXIsometricRenderer.js";
178
+ import TMXHexagonalRenderer from "./renderer/TMXHexagonalRenderer.js";
179
+ import Container from "../../renderable/container.js";
180
+ import TMXLayer from "./TMXLayer.js";
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @classdesc
3
+ * a TMX Tile Set Object
4
+ */
5
+ export default class TMXTileset {
6
+ /**
7
+ * @param {object} tileset - tileset data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#tileset})
8
+ */
9
+ constructor(tileset: object);
10
+ TileProperties: any[];
11
+ imageCollection: HTMLImageElement[];
12
+ firstgid: number;
13
+ lastgid: number;
14
+ name: any;
15
+ tilewidth: number;
16
+ tileheight: number;
17
+ spacing: number;
18
+ margin: number;
19
+ tileoffset: Vector2d;
20
+ /**
21
+ * Tileset contains animated tiles
22
+ * @public
23
+ * @type {boolean}
24
+ * @name TMXTileset#isAnimated
25
+ */
26
+ public isAnimated: boolean;
27
+ /**
28
+ * true if the tileset is a "Collection of Image" Tileset
29
+ * @public
30
+ * @type {boolean}
31
+ * @name TMXTileset#isCollection
32
+ */
33
+ public isCollection: boolean;
34
+ /**
35
+ * the tileset class
36
+ * @public
37
+ * @type {boolean}
38
+ * @name TMXTileset#class
39
+ */
40
+ public class: boolean;
41
+ /**
42
+ * Tileset animations
43
+ * @private
44
+ */
45
+ private animations;
46
+ /**
47
+ * Remember the last update timestamp to prevent too many animation updates
48
+ * @private
49
+ */
50
+ private _lastUpdate;
51
+ image: HTMLImageElement | undefined;
52
+ texture: any;
53
+ atlas: any;
54
+ /**
55
+ * return the tile image from a "Collection of Image" tileset
56
+ * @name TMXTileset#getTileImage
57
+ * @public
58
+ * @param {number} gid
59
+ * @returns {Image} corresponding image or undefined
60
+ */
61
+ public getTileImage(gid: number): new (width?: number | undefined, height?: number | undefined) => HTMLImageElement;
62
+ /**
63
+ * set the tile properties
64
+ * @ignore
65
+ */
66
+ setTileProperty(gid: any, prop: any): void;
67
+ /**
68
+ * return true if the gid belongs to the tileset
69
+ * @name TMXTileset#contains
70
+ * @public
71
+ * @param {number} gid
72
+ * @returns {boolean}
73
+ */
74
+ public contains(gid: number): boolean;
75
+ /**
76
+ * Get the view (local) tile ID from a GID, with animations applied
77
+ * @name TMXTileset#getViewTileId
78
+ * @public
79
+ * @param {number} gid - Global tile ID
80
+ * @returns {number} View tile ID
81
+ */
82
+ public getViewTileId(gid: number): number;
83
+ /**
84
+ * return the properties of the specified tile
85
+ * @name TMXTileset#getTileProperties
86
+ * @public
87
+ * @param {number} tileId
88
+ * @returns {object}
89
+ */
90
+ public getTileProperties(tileId: number): object;
91
+ update(dt: any): boolean;
92
+ drawTile(renderer: any, dx: any, dy: any, tmxTile: any): void;
93
+ }
94
+ import Vector2d from "./../../math/vector2.js";
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @classdesc
3
+ * an object containing all tileset
4
+ */
5
+ export default class TMXTilesetGroup {
6
+ tilesets: any[];
7
+ length: number;
8
+ /**
9
+ * add a tileset to the tileset group
10
+ * @name TMXTilesetGroup#add
11
+ * @public
12
+ * @param {TMXTileset} tileset
13
+ */
14
+ public add(tileset: TMXTileset): void;
15
+ /**
16
+ * return the tileset at the specified index
17
+ * @name TMXTilesetGroup#getTilesetByIndex
18
+ * @public
19
+ * @param {number} i
20
+ * @returns {TMXTileset} corresponding tileset
21
+ */
22
+ public getTilesetByIndex(i: number): TMXTileset;
23
+ /**
24
+ * return the tileset corresponding to the specified id <br>
25
+ * will throw an exception if no matching tileset is found
26
+ * @name TMXTilesetGroup#getTilesetByGid
27
+ * @public
28
+ * @param {number} gid
29
+ * @returns {TMXTileset} corresponding tileset
30
+ */
31
+ public getTilesetByGid(gid: number): TMXTileset;
32
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * decompress zlib/gzip data (NOT IMPLEMENTED)
3
+ * @ignore
4
+ * @name decompress
5
+ * @param {number[]} data- - Array of bytes
6
+ * @param {string} format- - compressed data format ("gzip","zlib")
7
+ */
8
+ export function decompress(): void;
9
+ /**
10
+ * Decode a CSV encoded array into a binary array
11
+ * @ignore
12
+ * @name decodeCSV
13
+ * @param {string} input- - CSV formatted data (only numbers, everything else will be converted to NaN)
14
+ * @returns {number[]} Decoded data
15
+ */
16
+ export function decodeCSV(input: any): number[];
17
+ /**
18
+ * Decode a base64 encoded string into a byte array
19
+ * @ignore
20
+ * @name decodeBase64AsArray
21
+ * @param {string} input - Base64 encoded data
22
+ * @param {number} [bytes] - number of bytes per array entry
23
+ * @returns {Uint32Array} Decoded data
24
+ */
25
+ export function decodeBase64AsArray(input: string, bytes?: number | undefined): Uint32Array;
26
+ /**
27
+ * Decode the given data
28
+ * @ignore
29
+ */
30
+ export function decode(data: any, encoding: any, compression: any): any;
31
+ /**
32
+ * Normalize TMX format to Tiled JSON format
33
+ * @ignore
34
+ */
35
+ export function normalize(obj: any, item: any): void;
36
+ /**
37
+ * Parse a XML TMX object and returns the corresponding javascript object
38
+ * @ignore
39
+ */
40
+ export function parse(xml: any): {
41
+ text: string;
42
+ };
43
+ /**
44
+ * Apply TMX Properties to the given object
45
+ * @ignore
46
+ */
47
+ export function applyTMXProperties(obj: any, data: any): void;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @classdesc
3
+ * an Hexagonal Map Renderder
4
+ * @augments TMXRenderer
5
+ */
6
+ export default class TMXHexagonalRenderer extends TMXRenderer {
7
+ /**
8
+ * @param {TMXTileMap} map - the TMX map
9
+ */
10
+ constructor(map: TMXTileMap);
11
+ hexsidelength: any;
12
+ staggerX: boolean;
13
+ staggerEven: boolean;
14
+ sidelengthx: any;
15
+ sidelengthy: any;
16
+ sideoffsetx: number;
17
+ sideoffsety: number;
18
+ columnwidth: any;
19
+ rowheight: any;
20
+ centers: Vector2d[];
21
+ /**
22
+ * return true if the renderer can render the specified layer
23
+ * @ignore
24
+ */
25
+ canRender(layer: any): boolean;
26
+ /**
27
+ * return the bounding rect for this map renderer
28
+ * @name TMXHexagonalRenderer#getBounds
29
+ * @public
30
+ * @param {TMXLayer} [layer] - calculate the bounding rect for a specific layer (will return a new bounds object)
31
+ * @returns {Bounds}
32
+ */
33
+ public getBounds(layer?: TMXLayer | undefined): Bounds;
34
+ /**
35
+ * @ignore
36
+ */
37
+ doStaggerX(x: any): number | false;
38
+ /**
39
+ * @ignore
40
+ */
41
+ doStaggerY(y: any): number | false;
42
+ /**
43
+ * @ignore
44
+ */
45
+ topLeft(x: any, y: any, v: any): any;
46
+ /**
47
+ * @ignore
48
+ */
49
+ topRight(x: any, y: any, v: any): any;
50
+ /**
51
+ * @ignore
52
+ */
53
+ bottomLeft(x: any, y: any, v: any): any;
54
+ /**
55
+ * @ignore
56
+ */
57
+ bottomRight(x: any, y: any, v: any): any;
58
+ /**
59
+ * return the tile position corresponding to the specified pixel
60
+ * @ignore
61
+ */
62
+ pixelToTileCoords(x: any, y: any, v: any): any;
63
+ /**
64
+ * return the pixel position corresponding of the specified tile
65
+ * @ignore
66
+ */
67
+ tileToPixelCoords(x: any, y: any, v: any): any;
68
+ /**
69
+ * fix the position of Objects to match
70
+ * the way Tiled places them
71
+ * @ignore
72
+ */
73
+ adjustPosition(obj: any): void;
74
+ /**
75
+ * draw the tile map
76
+ * @ignore
77
+ */
78
+ drawTile(renderer: any, x: any, y: any, tmxTile: any): void;
79
+ /**
80
+ * draw the tile map
81
+ * @ignore
82
+ */
83
+ drawTileLayer(renderer: any, layer: any, rect: any): void;
84
+ }
85
+ import TMXRenderer from "./TMXRenderer.js";
86
+ import Vector2d from "./../../../math/vector2.js";
87
+ import TMXLayer from "./../TMXLayer.js";
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @classdesc
3
+ * an Isometric Map Renderder
4
+ * @augments TMXRenderer
5
+ */
6
+ export default class TMXIsometricRenderer extends TMXRenderer {
7
+ /**
8
+ * @param {TMXTileMap} map - the TMX map
9
+ */
10
+ constructor(map: TMXTileMap);
11
+ hTilewidth: number;
12
+ hTileheight: number;
13
+ originX: number;
14
+ /**
15
+ * return true if the renderer can render the specified layer
16
+ * @ignore
17
+ */
18
+ canRender(layer: any): boolean;
19
+ /**
20
+ * return the bounding rect for this map renderer
21
+ * @name TMXIsometricRenderer#getBounds
22
+ * @public
23
+ * @param {TMXLayer} [layer] - calculate the bounding rect for a specific layer (will return a new bounds object)
24
+ * @returns {Bounds}
25
+ */
26
+ public getBounds(layer?: TMXLayer | undefined): Bounds;
27
+ /**
28
+ * return the tile position corresponding to the specified pixel
29
+ * @ignore
30
+ */
31
+ pixelToTileCoords(x: any, y: any, v: any): any;
32
+ /**
33
+ * return the pixel position corresponding of the specified tile
34
+ * @ignore
35
+ */
36
+ tileToPixelCoords(x: any, y: any, v: any): any;
37
+ /**
38
+ * fix the position of Objects to match
39
+ * the way Tiled places them
40
+ * @ignore
41
+ */
42
+ adjustPosition(obj: any): void;
43
+ /**
44
+ * draw the tile map
45
+ * @ignore
46
+ */
47
+ drawTile(renderer: any, x: any, y: any, tmxTile: any): void;
48
+ /**
49
+ * draw the tile map
50
+ * @ignore
51
+ */
52
+ drawTileLayer(renderer: any, layer: any, rect: any): void;
53
+ }
54
+ import TMXRenderer from "./TMXRenderer.js";
55
+ import TMXLayer from "./../TMXLayer.js";
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @classdesc
3
+ * an Orthogonal Map Renderder
4
+ * @augments TMXRenderer
5
+ */
6
+ export default class TMXOrthogonalRenderer extends TMXRenderer {
7
+ /**
8
+ * @param {TMXTileMap} map - the TMX map
9
+ */
10
+ constructor(map: TMXTileMap);
11
+ /**
12
+ * return true if the renderer can render the specified layer
13
+ * @ignore
14
+ */
15
+ canRender(layer: any): boolean;
16
+ /**
17
+ * return the tile position corresponding to the specified pixel
18
+ * @ignore
19
+ */
20
+ pixelToTileCoords(x: any, y: any, v: any): any;
21
+ /**
22
+ * return the pixel position corresponding of the specified tile
23
+ * @ignore
24
+ */
25
+ tileToPixelCoords(x: any, y: any, v: any): any;
26
+ /**
27
+ * fix the position of Objects to match
28
+ * the way Tiled places them
29
+ * @ignore
30
+ */
31
+ adjustPosition(obj: any): void;
32
+ /**
33
+ * draw the tile map
34
+ * @ignore
35
+ */
36
+ drawTile(renderer: any, x: any, y: any, tmxTile: any): void;
37
+ /**
38
+ * draw the tile map
39
+ * @ignore
40
+ */
41
+ drawTileLayer(renderer: any, layer: any, rect: any): void;
42
+ }
43
+ import TMXRenderer from "./TMXRenderer.js";
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @classdesc
3
+ * The map renderer base class
4
+ */
5
+ export default class TMXRenderer {
6
+ /**
7
+ * @param {number} cols - width of the tilemap in tiles
8
+ * @param {number} rows - height of the tilemap in tiles
9
+ * @param {number} tilewidth - width of each tile in pixels
10
+ * @param {number} tileheight - height of each tile in pixels
11
+ */
12
+ constructor(cols: number, rows: number, tilewidth: number, tileheight: number);
13
+ cols: number;
14
+ rows: number;
15
+ tilewidth: number;
16
+ tileheight: number;
17
+ bounds: Bounds;
18
+ /**
19
+ * return true if the renderer can render the specified map or layer
20
+ * @name TMXRenderer#canRender
21
+ * @public
22
+ * @param {TMXTileMap|TMXLayer} component - TMX Map or Layer
23
+ * @returns {boolean}
24
+ */
25
+ public canRender(component: TMXTileMap | TMXLayer): boolean;
26
+ /**
27
+ * return the bounding rect for this map renderer
28
+ * @name TMXRenderer#getBounds
29
+ * @public
30
+ * @param {TMXLayer} [layer] - calculate the bounding rect for a specific layer (will return a new bounds object)
31
+ * @returns {Bounds}
32
+ */
33
+ public getBounds(layer?: TMXLayer | undefined): Bounds;
34
+ /**
35
+ * return the tile position corresponding to the specified pixel
36
+ * @name TMXRenderer#pixelToTileCoords
37
+ * @public
38
+ * @param {number} x - X coordinate
39
+ * @param {number} y - Y coordinate
40
+ * @param {Vector2d} [v] - an optional vector object where to put the return values
41
+ * @returns {Vector2d}
42
+ */
43
+ public pixelToTileCoords(x: number, y: number, v?: any): Vector2d;
44
+ /**
45
+ * return the pixel position corresponding of the specified tile
46
+ * @name TMXRenderer#tileToPixelCoords
47
+ * @public
48
+ * @param {number} col - tile horizontal position
49
+ * @param {number} row - tile vertical position
50
+ * @param {Vector2d} [v] - an optional vector object where to put the return values
51
+ * @returns {Vector2d}
52
+ */
53
+ public tileToPixelCoords(col: number, row: number, v?: any): Vector2d;
54
+ /**
55
+ * draw the given tile at the specified layer
56
+ * @name TMXRenderer#drawTile
57
+ * @public
58
+ * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
59
+ * @param {number} x - X coordinate where to draw the tile
60
+ * @param {number} y - Y coordinate where to draw the tile
61
+ * @param {Tile} tile - the tile object to draw
62
+ */
63
+ public drawTile(renderer: CanvasRenderer | WebGLRenderer, x: number, y: number, tile: Tile): void;
64
+ /**
65
+ * draw the given TMX Layer for the given area
66
+ * @name TMXRenderer#drawTileLayer
67
+ * @public
68
+ * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer object
69
+ * @param {TMXLayer} layer - a TMX Layer object
70
+ * @param {Rect} rect - the area of the layer to draw
71
+ */
72
+ public drawTileLayer(renderer: CanvasRenderer | WebGLRenderer, layer: TMXLayer, rect: Rect): void;
73
+ }
74
+ import Bounds from "./../../../physics/bounds.js";
75
+ import TMXLayer from "./../TMXLayer.js";
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @classdesc
3
+ * a Staggered Map Renderder
4
+ * @augments TMXHexagonalRenderer
5
+ */
6
+ export default class TMXStaggeredRenderer extends TMXHexagonalRenderer {
7
+ }
8
+ import TMXHexagonalRenderer from "./TMXHexagonalRenderer.js";