melonjs 15.0.0 → 15.1.1

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 (285) hide show
  1. package/README.md +4 -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 +1 -1
  5. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/index.js +7 -3
  7. package/dist/melonjs.mjs/_virtual/index2.js +1 -1
  8. package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
  9. package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
  10. package/dist/melonjs.mjs/application/application.js +27 -17
  11. package/dist/melonjs.mjs/application/header.js +6 -5
  12. package/dist/melonjs.mjs/application/resize.js +20 -20
  13. package/dist/melonjs.mjs/application/settings.js +1 -1
  14. package/dist/melonjs.mjs/audio/audio.js +17 -17
  15. package/dist/melonjs.mjs/camera/camera2d.js +10 -10
  16. package/dist/melonjs.mjs/const.js +1 -1
  17. package/dist/melonjs.mjs/entity/entity.js +4 -4
  18. package/dist/melonjs.mjs/geometries/ellipse.js +6 -6
  19. package/dist/melonjs.mjs/geometries/line.js +9 -9
  20. package/dist/melonjs.mjs/geometries/path2d.js +53 -53
  21. package/dist/melonjs.mjs/geometries/point.js +2 -2
  22. package/dist/melonjs.mjs/geometries/poly.js +29 -29
  23. package/dist/melonjs.mjs/geometries/rectangle.js +8 -8
  24. package/dist/melonjs.mjs/geometries/roundrect.js +6 -6
  25. package/dist/melonjs.mjs/index.js +5 -5
  26. package/dist/melonjs.mjs/input/gamepad.js +30 -30
  27. package/dist/melonjs.mjs/input/input.js +2 -2
  28. package/dist/melonjs.mjs/input/keyboard.js +15 -15
  29. package/dist/melonjs.mjs/input/pointer.js +2 -2
  30. package/dist/melonjs.mjs/input/pointerevent.js +58 -58
  31. package/dist/melonjs.mjs/lang/console.js +3 -3
  32. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  33. package/dist/melonjs.mjs/level/level.js +9 -9
  34. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +3 -3
  35. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +31 -31
  36. package/dist/melonjs.mjs/level/tiled/TMXObject.js +8 -8
  37. package/dist/melonjs.mjs/level/tiled/TMXTile.js +8 -8
  38. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +19 -19
  39. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +15 -15
  40. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -3
  41. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +46 -41
  42. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +30 -30
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +21 -21
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +10 -10
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  47. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +6 -6
  48. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  49. package/dist/melonjs.mjs/loader/cache.js +1 -1
  50. package/dist/melonjs.mjs/loader/loader.js +7 -7
  51. package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
  52. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  53. package/dist/melonjs.mjs/loader/parser.js +13 -13
  54. package/dist/melonjs.mjs/loader/settings.js +3 -3
  55. package/dist/melonjs.mjs/math/color.js +21 -21
  56. package/dist/melonjs.mjs/math/math.js +2 -2
  57. package/dist/melonjs.mjs/math/matrix2.js +22 -22
  58. package/dist/melonjs.mjs/math/matrix3.js +52 -52
  59. package/dist/melonjs.mjs/math/observable_vector2.js +12 -12
  60. package/dist/melonjs.mjs/math/observable_vector3.js +22 -22
  61. package/dist/melonjs.mjs/math/vector2.js +11 -11
  62. package/dist/melonjs.mjs/math/vector3.js +21 -21
  63. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +45 -0
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +130 -0
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  67. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
  68. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
  69. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  70. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  71. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  72. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  73. package/dist/melonjs.mjs/particles/emitter.js +5 -5
  74. package/dist/melonjs.mjs/particles/particle.js +8 -8
  75. package/dist/melonjs.mjs/particles/settings.js +3 -3
  76. package/dist/melonjs.mjs/physics/body.js +17 -17
  77. package/dist/melonjs.mjs/physics/bounds.js +12 -12
  78. package/dist/melonjs.mjs/physics/collision.js +3 -3
  79. package/dist/melonjs.mjs/physics/detector.js +14 -14
  80. package/dist/melonjs.mjs/physics/quadtree.js +19 -19
  81. package/dist/melonjs.mjs/physics/response.js +1 -1
  82. package/dist/melonjs.mjs/physics/sat.js +60 -60
  83. package/dist/melonjs.mjs/physics/world.js +4 -4
  84. package/dist/melonjs.mjs/plugin/plugin.js +11 -11
  85. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  86. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  87. package/dist/melonjs.mjs/renderable/container.js +107 -63
  88. package/dist/melonjs.mjs/renderable/dragndrop.js +5 -5
  89. package/dist/melonjs.mjs/renderable/imagelayer.js +7 -6
  90. package/dist/melonjs.mjs/renderable/light2d.js +6 -6
  91. package/dist/melonjs.mjs/renderable/nineslicesprite.js +12 -12
  92. package/dist/melonjs.mjs/renderable/renderable.js +11 -11
  93. package/dist/melonjs.mjs/renderable/sprite.js +25 -25
  94. package/dist/melonjs.mjs/renderable/trigger.js +11 -9
  95. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +97 -27
  96. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +25 -25
  97. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +83 -63
  98. package/dist/melonjs.mjs/state/stage.js +7 -7
  99. package/dist/melonjs.mjs/state/state.js +15 -15
  100. package/dist/melonjs.mjs/system/device.js +2 -2
  101. package/dist/melonjs.mjs/system/dom.js +1 -1
  102. package/dist/melonjs.mjs/system/event.js +2 -2
  103. package/dist/melonjs.mjs/system/platform.js +1 -1
  104. package/dist/melonjs.mjs/system/pooling.js +9 -9
  105. package/dist/melonjs.mjs/system/save.js +6 -6
  106. package/dist/melonjs.mjs/system/timer.js +16 -12
  107. package/dist/melonjs.mjs/text/bitmaptext.js +20 -20
  108. package/dist/melonjs.mjs/text/bitmaptextdata.js +22 -22
  109. package/dist/melonjs.mjs/text/glyph.js +3 -3
  110. package/dist/melonjs.mjs/text/text.js +10 -9
  111. package/dist/melonjs.mjs/text/textmetrics.js +15 -15
  112. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  113. package/dist/melonjs.mjs/tweens/easing.js +4 -4
  114. package/dist/melonjs.mjs/tweens/interpolation.js +8 -8
  115. package/dist/melonjs.mjs/tweens/tween.js +11 -11
  116. package/dist/melonjs.mjs/utils/agent.js +6 -6
  117. package/dist/melonjs.mjs/utils/array.js +4 -4
  118. package/dist/melonjs.mjs/utils/file.js +1 -1
  119. package/dist/melonjs.mjs/utils/function.js +5 -5
  120. package/dist/melonjs.mjs/utils/string.js +3 -3
  121. package/dist/melonjs.mjs/utils/utils.js +16 -16
  122. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +35 -109
  123. package/dist/melonjs.mjs/video/renderer.js +74 -7
  124. package/dist/melonjs.mjs/video/texture/atlas.js +37 -37
  125. package/dist/melonjs.mjs/video/texture/cache.js +9 -10
  126. package/dist/melonjs.mjs/video/texture/canvas_texture.js +63 -3
  127. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  128. package/dist/melonjs.mjs/video/video.js +2 -2
  129. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  130. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +5 -5
  131. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  132. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +18 -15
  133. package/dist/melonjs.mjs/video/webgl/glshader.js +7 -7
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  138. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  139. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/program.js +7 -7
  141. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  142. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +4 -4
  143. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +55 -38
  144. package/dist/melonjs.module.js +1777 -1813
  145. package/dist/types/application/application.d.ts +11 -8
  146. package/dist/types/audio/audio.d.ts +3 -3
  147. package/dist/types/index.d.ts +4 -3
  148. package/dist/types/input/input.d.ts +1 -1
  149. package/dist/types/input/keyboard.d.ts +1 -1
  150. package/dist/types/input/pointerevent.d.ts +6 -6
  151. package/dist/types/level/level.d.ts +2 -2
  152. package/dist/types/level/tiled/TMXLayer.d.ts +4 -4
  153. package/dist/types/level/tiled/TMXTileMap.d.ts +2 -2
  154. package/dist/types/level/tiled/TMXUtils.d.ts +5 -4
  155. package/dist/types/loader/loader.d.ts +2 -2
  156. package/dist/types/loader/settings.d.ts +2 -2
  157. package/dist/types/particles/emitter.d.ts +1 -1
  158. package/dist/types/physics/collision.d.ts +1 -1
  159. package/dist/types/physics/detector.d.ts +1 -1
  160. package/dist/types/plugin/plugin.d.ts +2 -2
  161. package/dist/types/renderable/container.d.ts +21 -17
  162. package/dist/types/renderable/sprite.d.ts +11 -11
  163. package/dist/types/renderable/trigger.d.ts +1 -1
  164. package/dist/types/renderable/ui/uibaseelement.d.ts +28 -6
  165. package/dist/types/renderable/ui/uispriteelement.d.ts +12 -14
  166. package/dist/types/renderable/ui/uitextbutton.d.ts +52 -11
  167. package/dist/types/state/stage.d.ts +1 -1
  168. package/dist/types/system/device.d.ts +1 -1
  169. package/dist/types/system/pooling.d.ts +3 -3
  170. package/dist/types/system/timer.d.ts +5 -5
  171. package/dist/types/text/bitmaptext.d.ts +1 -1
  172. package/dist/types/text/text.d.ts +1 -1
  173. package/dist/types/utils/array.d.ts +2 -2
  174. package/dist/types/video/canvas/canvas_renderer.d.ts +8 -76
  175. package/dist/types/video/renderer.d.ts +48 -0
  176. package/dist/types/video/texture/atlas.d.ts +3 -3
  177. package/dist/types/video/texture/canvas_texture.d.ts +40 -0
  178. package/dist/types/video/webgl/glshader.d.ts +1 -1
  179. package/dist/types/video/webgl/webgl_renderer.d.ts +13 -9
  180. package/package.json +14 -14
  181. package/src/application/application.js +26 -16
  182. package/src/application/header.js +5 -4
  183. package/src/application/resize.js +19 -19
  184. package/src/audio/audio.js +16 -16
  185. package/src/camera/camera2d.js +9 -9
  186. package/src/entity/entity.js +3 -3
  187. package/src/geometries/ellipse.js +5 -5
  188. package/src/geometries/line.js +8 -8
  189. package/src/geometries/path2d.js +52 -52
  190. package/src/geometries/point.js +1 -1
  191. package/src/geometries/poly.js +28 -28
  192. package/src/geometries/rectangle.js +7 -7
  193. package/src/geometries/roundrect.js +5 -5
  194. package/src/index.js +3 -2
  195. package/src/input/gamepad.js +29 -29
  196. package/src/input/input.js +1 -1
  197. package/src/input/keyboard.js +14 -14
  198. package/src/input/pointer.js +1 -1
  199. package/src/input/pointerevent.js +52 -52
  200. package/src/lang/console.js +2 -2
  201. package/src/lang/deprecated.js +1 -1
  202. package/src/level/level.js +8 -8
  203. package/src/level/tiled/TMXGroup.js +2 -2
  204. package/src/level/tiled/TMXLayer.js +30 -30
  205. package/src/level/tiled/TMXObject.js +7 -7
  206. package/src/level/tiled/TMXTile.js +7 -7
  207. package/src/level/tiled/TMXTileMap.js +18 -18
  208. package/src/level/tiled/TMXTileset.js +14 -14
  209. package/src/level/tiled/TMXTilesetGroup.js +2 -2
  210. package/src/level/tiled/TMXUtils.js +45 -40
  211. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +29 -29
  212. package/src/level/tiled/renderer/TMXIsometricRenderer.js +20 -20
  213. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +9 -9
  214. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  215. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +5 -5
  216. package/src/loader/loader.js +6 -6
  217. package/src/loader/loadingscreen.js +1 -1
  218. package/src/loader/parser.js +12 -12
  219. package/src/loader/settings.js +2 -2
  220. package/src/math/color.js +20 -20
  221. package/src/math/math.js +1 -1
  222. package/src/math/matrix2.js +21 -21
  223. package/src/math/matrix3.js +51 -51
  224. package/src/math/observable_vector2.js +11 -11
  225. package/src/math/observable_vector3.js +21 -21
  226. package/src/math/vector2.js +10 -10
  227. package/src/math/vector3.js +20 -20
  228. package/src/particles/emitter.js +4 -4
  229. package/src/particles/particle.js +7 -7
  230. package/src/particles/settings.js +2 -2
  231. package/src/physics/body.js +16 -16
  232. package/src/physics/bounds.js +11 -11
  233. package/src/physics/collision.js +2 -2
  234. package/src/physics/detector.js +13 -13
  235. package/src/physics/quadtree.js +18 -18
  236. package/src/physics/sat.js +59 -59
  237. package/src/physics/world.js +3 -3
  238. package/src/plugin/plugin.js +8 -8
  239. package/src/renderable/collectable.js +1 -1
  240. package/src/renderable/container.js +106 -62
  241. package/src/renderable/dragndrop.js +4 -4
  242. package/src/renderable/imagelayer.js +6 -5
  243. package/src/renderable/light2d.js +5 -5
  244. package/src/renderable/nineslicesprite.js +11 -11
  245. package/src/renderable/renderable.js +10 -10
  246. package/src/renderable/sprite.js +24 -24
  247. package/src/renderable/trigger.js +10 -8
  248. package/src/renderable/ui/uibaseelement.js +96 -26
  249. package/src/renderable/ui/uispriteelement.js +24 -24
  250. package/src/renderable/ui/uitextbutton.js +85 -65
  251. package/src/state/stage.js +6 -6
  252. package/src/state/state.js +14 -14
  253. package/src/system/device.js +1 -1
  254. package/src/system/event.js +1 -1
  255. package/src/system/pooling.js +8 -8
  256. package/src/system/save.js +5 -5
  257. package/src/system/timer.js +15 -11
  258. package/src/text/bitmaptext.js +19 -19
  259. package/src/text/bitmaptextdata.js +21 -21
  260. package/src/text/glyph.js +2 -2
  261. package/src/text/text.js +9 -8
  262. package/src/text/textmetrics.js +14 -14
  263. package/src/tweens/easing.js +3 -3
  264. package/src/tweens/interpolation.js +7 -7
  265. package/src/tweens/tween.js +10 -10
  266. package/src/utils/agent.js +5 -5
  267. package/src/utils/array.js +3 -3
  268. package/src/utils/function.js +4 -4
  269. package/src/utils/string.js +2 -2
  270. package/src/utils/utils.js +15 -15
  271. package/src/video/canvas/canvas_renderer.js +34 -108
  272. package/src/video/renderer.js +72 -5
  273. package/src/video/texture/atlas.js +36 -36
  274. package/src/video/texture/cache.js +6 -6
  275. package/src/video/texture/canvas_texture.js +62 -2
  276. package/src/video/video.js +1 -1
  277. package/src/video/webgl/buffer/vertex.js +2 -2
  278. package/src/video/webgl/compositors/compositor.js +4 -4
  279. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  280. package/src/video/webgl/compositors/quad_compositor.js +17 -14
  281. package/src/video/webgl/glshader.js +6 -6
  282. package/src/video/webgl/utils/attributes.js +1 -1
  283. package/src/video/webgl/utils/program.js +6 -6
  284. package/src/video/webgl/utils/uniforms.js +3 -3
  285. package/src/video/webgl/webgl_renderer.js +54 -37
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -13,11 +13,11 @@ import { game } from '../index.js';
13
13
  import TMXTileMap from './tiled/TMXTileMap.js';
14
14
 
15
15
  // our levels
16
- var levels = {};
16
+ let levels = {};
17
17
  // level index table
18
- var levelIdx = [];
18
+ let levelIdx = [];
19
19
  // current level index
20
- var currentLevelIdx = 0;
20
+ let currentLevelIdx = 0;
21
21
 
22
22
  /**
23
23
  * @ignore
@@ -64,7 +64,7 @@ function safeLoadLevel(levelId, options, restart) {
64
64
  * @ignore
65
65
  */
66
66
  function loadTMXLevel(levelId, container, flatten, setViewportBounds) {
67
- var level = levels[levelId];
67
+ let level = levels[levelId];
68
68
 
69
69
  // reset the GUID generator
70
70
  // and pass the level id as parameter
@@ -83,7 +83,7 @@ function loadTMXLevel(levelId, container, flatten, setViewportBounds) {
83
83
  * @namespace level
84
84
  */
85
85
 
86
- var level = {
86
+ let level = {
87
87
 
88
88
  /**
89
89
  * add a level into the game manager (usually called by the preloader)
@@ -138,7 +138,7 @@ var level = {
138
138
  * @example
139
139
  * // the game assets to be be preloaded
140
140
  * // TMX maps
141
- * var resources = [
141
+ * let resources = [
142
142
  * {name: "a4_level1", type: "tmx", src: "data/level/a4_level1.tmx"},
143
143
  * {name: "a4_level2", type: "tmx", src: "data/level/a4_level2.tmx"},
144
144
  * {name: "a4_level3", type: "tmx", src: "data/level/a4_level3.tmx"},
@@ -152,7 +152,7 @@ var level = {
152
152
  * ...
153
153
  * ...
154
154
  * // load a level into a specific container
155
- * var levelContainer = new me.Container();
155
+ * let levelContainer = new me.Container();
156
156
  * me.level.load("a4_level2", {container:levelContainer});
157
157
  * // add a simple transformation
158
158
  * levelContainer.currentTransform.translate(levelContainer.width / 2, levelContainer.height / 2 );
@@ -177,7 +177,7 @@ var level = {
177
177
  if (levels[levelId] instanceof TMXTileMap) {
178
178
 
179
179
  // check the status of the state mngr
180
- var wasRunning = state.isRunning();
180
+ let wasRunning = state.isRunning();
181
181
 
182
182
  if (wasRunning) {
183
183
  // stop the game loop to avoid
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -64,7 +64,7 @@ class TMXGroup {
64
64
  */
65
65
  this.objects = [];
66
66
 
67
- var visible = typeof(data.visible) !== "undefined" ? data.visible : true;
67
+ let visible = typeof(data.visible) !== "undefined" ? data.visible : true;
68
68
  this.opacity = (visible === true) ? clamp(+data.opacity || 1.0, 0.0, 1.0) : 0;
69
69
 
70
70
  // check if we have any user-defined properties
@@ -80,7 +80,7 @@ class TMXGroup {
80
80
 
81
81
  if (data.layers) {
82
82
  data.layers.forEach((data) => {
83
- var layer = new TMXLayer(map, data, map.tilewidth, map.tileheight, map.orientation, map.tilesets, z++);
83
+ let layer = new TMXLayer(map, data, map.tilewidth, map.tileheight, map.orientation, map.tilesets, z++);
84
84
  // set a renderer
85
85
  layer.setRenderer(map.getRenderer());
86
86
  // resize container accordingly
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -19,10 +19,10 @@ import { game } from '../../index.js';
19
19
  */
20
20
  function initArray(rows, cols) {
21
21
  // initialize the array
22
- var array = new Array(cols);
23
- for (var col = 0; col < cols; col++) {
22
+ let array = new Array(cols);
23
+ for (let col = 0; col < cols; col++) {
24
24
  array[col] = new Array(rows);
25
- for (var row = 0; row < rows; row++) {
25
+ for (let row = 0; row < rows; row++) {
26
26
  array[col][row] = null;
27
27
  }
28
28
  }
@@ -34,8 +34,8 @@ function initArray(rows, cols) {
34
34
  * @ignore
35
35
  */
36
36
  function setLayerData(layer, bounds, data) {
37
- var idx = 0;
38
- var width, height;
37
+ let idx = 0;
38
+ let width, height;
39
39
 
40
40
  // layer provide rows and cols, chunk width and height
41
41
  if (typeof bounds.rows === "undefined") {
@@ -46,10 +46,10 @@ function setLayerData(layer, bounds, data) {
46
46
  height = bounds.rows;
47
47
  }
48
48
  // set everything
49
- for (var y = 0; y < height; y++) {
50
- for (var x = 0; x < width; x++) {
49
+ for (let y = 0; y < height; y++) {
50
+ for (let x = 0; x < width; x++) {
51
51
  // get the value of the gid
52
- var gid = data[idx++];
52
+ let gid = data[idx++];
53
53
  // fill the array
54
54
  if (gid !== 0) {
55
55
  // add a new tile to the layer
@@ -65,10 +65,10 @@ function setLayerData(layer, bounds, data) {
65
65
  */
66
66
  function preRenderLayer(layer, renderer) {
67
67
  // set everything
68
- for (var y = 0; y < layer.rows; y++) {
69
- for (var x = 0; x < layer.cols; x++) {
68
+ for (let y = 0; y < layer.rows; y++) {
69
+ for (let x = 0; x < layer.cols; x++) {
70
70
  // get the value of the gid
71
- var tile = layer.layerData[x][y];
71
+ let tile = layer.layerData[x][y];
72
72
  // draw the tile if defined
73
73
  if (tile instanceof Tile) {
74
74
  // add a new tile to the layer
@@ -134,8 +134,8 @@ function preRenderLayer(layer, renderer) {
134
134
  "width" : 0,
135
135
  "height" : 0
136
136
  };
137
- for (var i = 0; i < this.tilesets.length; i++) {
138
- var tileset = this.tilesets.getTilesetByIndex(i);
137
+ for (let i = 0; i < this.tilesets.length; i++) {
138
+ let tileset = this.tilesets.getTilesetByIndex(i);
139
139
  this.maxTileSize.width = Math.max(this.maxTileSize.width, tileset.tilewidth);
140
140
  this.maxTileSize.height = Math.max(this.maxTileSize.height, tileset.tileheight);
141
141
  }
@@ -178,7 +178,7 @@ function preRenderLayer(layer, renderer) {
178
178
  this.rows = +data.height;
179
179
 
180
180
  // layer opacity
181
- var visible = typeof(data.visible) !== "undefined" ? +data.visible : 1;
181
+ let visible = typeof(data.visible) !== "undefined" ? +data.visible : 1;
182
182
  this.setOpacity(visible ? +data.opacity : 0);
183
183
 
184
184
  // layer tint
@@ -248,8 +248,8 @@ function preRenderLayer(layer, renderer) {
248
248
  }
249
249
 
250
250
  if (this.tilesets) {
251
- var tileset = this.tilesets.tilesets;
252
- for (var i = 0; i < tileset.length; i++) {
251
+ let tileset = this.tilesets.tilesets;
252
+ for (let i = 0; i < tileset.length; i++) {
253
253
  if (tileset[i].isAnimated) {
254
254
  this.animatedTilesets.push(tileset[i]);
255
255
  }
@@ -287,7 +287,7 @@ function preRenderLayer(layer, renderer) {
287
287
  * @param {TMXRenderer} renderer
288
288
  * @example
289
289
  * // use the parent map default renderer
290
- * var layer = new me.TMXLayer(...);
290
+ * let layer = new me.TMXLayer(...);
291
291
  * layer.setRenderer(map.getRenderer());
292
292
  */
293
293
  setRenderer(renderer) {
@@ -309,7 +309,7 @@ function preRenderLayer(layer, renderer) {
309
309
  * @returns {number} TileId or null if there is no Tile at the given position
310
310
  */
311
311
  getTileId(x, y) {
312
- var tile = this.getTile(x, y);
312
+ let tile = this.getTile(x, y);
313
313
  return (tile ? tile.tileId : null);
314
314
  }
315
315
 
@@ -320,15 +320,15 @@ function preRenderLayer(layer, renderer) {
320
320
  * @returns {Tile} corresponding tile or null if there is no defined tile at the coordinate or if outside of the layer bounds
321
321
  * @example
322
322
  * // get the TMX Map Layer called "Front layer"
323
- * var layer = me.game.world.getChildByName("Front Layer")[0];
323
+ * let layer = me.game.world.getChildByName("Front Layer")[0];
324
324
  * // get the tile object corresponding to the latest pointer position
325
- * var tile = layer.getTile(me.input.pointer.x, me.input.pointer.y);
325
+ * let tile = layer.getTile(me.input.pointer.x, me.input.pointer.y);
326
326
  */
327
327
  getTile(x, y) {
328
- var tile = null;
328
+ let tile = null;
329
329
 
330
330
  if (this.contains(x, y)) {
331
- var coord = this.getRenderer().pixelToTileCoords(x, y, pool.pull("Vector2d"));
331
+ let coord = this.getRenderer().pixelToTileCoords(x, y, pool.pull("Vector2d"));
332
332
  tile = this.cellAt(coord.x, coord.y);
333
333
  pool.push(coord);
334
334
  }
@@ -370,13 +370,13 @@ function preRenderLayer(layer, renderer) {
370
370
  * @returns {Tile} corresponding tile or null if there is no defined tile at the position or if outside of the layer bounds
371
371
  * @example
372
372
  * // return the first tile at offset 0, 0
373
- * var tile = layer.cellAt(0, 0);
373
+ * let tile = layer.cellAt(0, 0);
374
374
  */
375
375
  cellAt(x, y, boundsCheck) {
376
- var _x = ~~x;
377
- var _y = ~~y;
376
+ let _x = ~~x;
377
+ let _y = ~~y;
378
378
 
379
- var renderer = this.getRenderer();
379
+ let renderer = this.getRenderer();
380
380
  // boundsCheck only used internally by the tiled renderer, when the layer bound check was already done
381
381
  if (boundsCheck === false || (_x >= 0 && _x < renderer.cols && _y >= 0 && _y < renderer.rows)) {
382
382
  return this.layerData[_x][_y];
@@ -410,8 +410,8 @@ function preRenderLayer(layer, renderer) {
410
410
  */
411
411
  update(dt) {
412
412
  if (this.isAnimated) {
413
- var result = false;
414
- for (var i = 0; i < this.animatedTilesets.length; i++) {
413
+ let result = false;
414
+ for (let i = 0; i < this.animatedTilesets.length; i++) {
415
415
  result = this.animatedTilesets[i].update(dt) || result;
416
416
  }
417
417
  return result;
@@ -426,8 +426,8 @@ function preRenderLayer(layer, renderer) {
426
426
  draw(renderer, rect) {
427
427
  // use the offscreen canvas
428
428
  if (this.preRender) {
429
- var width = Math.min(rect.width, this.width);
430
- var height = Math.min(rect.height, this.height);
429
+ const width = Math.min(rect.width, this.width);
430
+ const height = Math.min(rect.height, this.height);
431
431
 
432
432
  // draw using the cached canvas
433
433
  renderer.drawImage(
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -198,7 +198,7 @@ class TMXObject {
198
198
  */
199
199
  setTile(tilesets) {
200
200
  // get the corresponding tileset
201
- var tileset = tilesets.getTilesetByGid(this.gid);
201
+ let tileset = tilesets.getTilesetByGid(this.gid);
202
202
 
203
203
  if (tileset.isCollection === false) {
204
204
  // set width and height equal to tile size
@@ -216,8 +216,8 @@ class TMXObject {
216
216
  * @returns {Polygon[]|Line[]|Ellipse[]} an array of shape objects
217
217
  */
218
218
  parseTMXShapes() {
219
- var i = 0;
220
- var shapes = [];
219
+ let i = 0;
220
+ let shapes = [];
221
221
 
222
222
  // add an ellipse shape
223
223
  if (this.isEllipse === true) {
@@ -233,7 +233,7 @@ class TMXObject {
233
233
  } else {
234
234
  // add a polygon
235
235
  if (this.isPolygon === true) {
236
- var _polygon = pool.pull("Polygon", 0, 0, this.points);
236
+ let _polygon = pool.pull("Polygon", 0, 0, this.points);
237
237
  // make sure it's a convex polygon
238
238
  if (_polygon.isConvex() === false ) {
239
239
  throw new Error("collision polygones in Tiled should be defined as Convex");
@@ -241,9 +241,9 @@ class TMXObject {
241
241
  shapes.push(_polygon.rotate(this.rotation));
242
242
 
243
243
  } else if (this.isPolyLine === true) {
244
- var p = this.points;
245
- var p1, p2;
246
- var segments = p.length - 1;
244
+ let p = this.points;
245
+ let p1, p2;
246
+ let segments = p.length - 1;
247
247
  for (i = 0; i < segments; i++) {
248
248
  // clone the value before, as [i + 1]
249
249
  // is reused later by the next segment
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -23,14 +23,14 @@ import { TMX_CLEAR_BIT_MASK, TMX_FLIP_H, TMX_FLIP_V, TMX_FLIP_AD } from './const
23
23
  * @param {TMXTileset} tileset - the corresponding tileset object
24
24
  */
25
25
  constructor(x, y, gid, tileset) {
26
- var width, height;
26
+ let width, height;
27
27
 
28
28
  // call the parent constructor
29
29
  super();
30
30
 
31
31
  // determine the tile size
32
32
  if (tileset.isCollection) {
33
- var image = tileset.getTileImage(gid & TMX_CLEAR_BIT_MASK);
33
+ let image = tileset.getTileImage(gid & TMX_CLEAR_BIT_MASK);
34
34
  width = image.width;
35
35
  height = image.height;
36
36
  } else {
@@ -127,12 +127,12 @@ import { TMX_CLEAR_BIT_MASK, TMX_FLIP_H, TMX_FLIP_V, TMX_FLIP_AD } from './const
127
127
  * @returns {Renderable} a me.Sprite object
128
128
  */
129
129
  getRenderable(settings) {
130
- var renderable;
131
- var tileset = this.tileset;
130
+ let renderable;
131
+ let tileset = this.tileset;
132
132
 
133
133
  if (tileset.animations.has(this.tileId)) {
134
- var frames = [];
135
- var frameId = [];
134
+ let frames = [];
135
+ let frameId = [];
136
136
  (tileset.animations.get(this.tileId).frames).forEach((frame) => {
137
137
  frameId.push(frame.tileid);
138
138
  frames.push({
@@ -146,7 +146,7 @@ import { TMX_CLEAR_BIT_MASK, TMX_FLIP_H, TMX_FLIP_V, TMX_FLIP_AD } from './const
146
146
 
147
147
  } else {
148
148
  if (tileset.isCollection === true) {
149
- var image = tileset.getTileImage(this.tileId);
149
+ let image = tileset.getTileImage(this.tileId);
150
150
  renderable = new Sprite(0, 0,
151
151
  Object.assign({
152
152
  image: image
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -38,7 +38,7 @@ function readImageLayer(map, data, z) {
38
38
  applyTMXProperties(data.properties, data);
39
39
 
40
40
  // create the layer
41
- var imageLayer = pool.pull("ImageLayer",
41
+ let imageLayer = pool.pull("ImageLayer",
42
42
  // x/y is deprecated since 0.15 and replace by offsetx/y
43
43
  +data.offsetx || +data.x || 0,
44
44
  +data.offsety || +data.y || 0,
@@ -54,7 +54,7 @@ function readImageLayer(map, data, z) {
54
54
 
55
55
 
56
56
  // set some additional flags
57
- var visible = typeof(data.visible) !== "undefined" ? data.visible : true;
57
+ let visible = typeof(data.visible) !== "undefined" ? data.visible : true;
58
58
  imageLayer.setOpacity(visible ? +data.opacity : 0);
59
59
 
60
60
  return imageLayer;
@@ -87,7 +87,7 @@ function readObjectGroup(map, data, z) {
87
87
  * @param {object} data - TMX map in JSON format
88
88
  * @example
89
89
  * // create a new level object based on the TMX JSON object
90
- * var level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
90
+ * let level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
91
91
  * // add the level to the game world container
92
92
  * level.addTo(me.game.world, true);
93
93
  */
@@ -249,7 +249,7 @@ function readObjectGroup(map, data, z) {
249
249
  }
250
250
 
251
251
  // to automatically increment z index
252
- var zOrder = 0;
252
+ let zOrder = 0;
253
253
 
254
254
  // Tileset information
255
255
  if (!this.tilesets) {
@@ -259,7 +259,7 @@ function readObjectGroup(map, data, z) {
259
259
 
260
260
  // parse all tileset objects
261
261
  if (typeof (data.tilesets) !== "undefined") {
262
- var tilesets = data.tilesets;
262
+ let tilesets = data.tilesets;
263
263
  tilesets.forEach((tileset) => {
264
264
  // add the new tileset
265
265
  this.tilesets.add(readTileset(tileset));
@@ -313,15 +313,15 @@ function readObjectGroup(map, data, z) {
313
313
  * @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.
314
314
  * @example
315
315
  * // create a new level object based on the TMX JSON object
316
- * var level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
316
+ * let level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
317
317
  * // add the level to the game world container
318
318
  * level.addTo(me.game.world, true, true);
319
319
  */
320
320
  addTo(container, flatten, setViewportBounds) {
321
- var _sort = container.autoSort;
322
- var _depth = container.autoDepth;
321
+ let _sort = container.autoSort;
322
+ let _depth = container.autoDepth;
323
323
 
324
- var levelBounds = this.getBounds();
324
+ let levelBounds = this.getBounds();
325
325
 
326
326
  // disable auto-sort and auto-depth
327
327
  container.autoSort = false;
@@ -387,15 +387,15 @@ function readObjectGroup(map, data, z) {
387
387
  * @returns {Renderable[]} Array of Objects
388
388
  */
389
389
  getObjects(flatten) {
390
- var objects = [];
391
- var isCollisionGroup = false;
392
- var targetContainer;
390
+ let objects = [];
391
+ let isCollisionGroup = false;
392
+ let targetContainer;
393
393
 
394
394
  // parse the map for objects
395
395
  this.readMapObjects(this.data);
396
396
 
397
- for (var g = 0; g < this.objectGroups.length; g++) {
398
- var group = this.objectGroups[g];
397
+ for (let g = 0; g < this.objectGroups.length; g++) {
398
+ let group = this.objectGroups[g];
399
399
 
400
400
  // check if this is the collision shape group
401
401
  isCollisionGroup = group.name.toLowerCase().includes(COLLISION_GROUP);
@@ -419,13 +419,13 @@ function readObjectGroup(map, data, z) {
419
419
 
420
420
  // iterate through the group and add all object into their
421
421
  // corresponding target Container
422
- for (var o = 0; o < group.objects.length; o++) {
422
+ for (let o = 0; o < group.objects.length; o++) {
423
423
  // TMX object settings
424
- var settings = group.objects[o];
424
+ let settings = group.objects[o];
425
425
  // reference to the instantiated object
426
- var obj;
426
+ let obj;
427
427
  // a reference to the default shape
428
- var shape;
428
+ let shape;
429
429
 
430
430
  // Tiled uses 0,0 by default
431
431
  if (typeof (settings.anchorPoint) === "undefined") {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -20,7 +20,7 @@ import { getTMX, getImage } from '../../loader/loader.js';
20
20
  * @param {object} tileset - tileset data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#tileset})
21
21
  */
22
22
  constructor(tileset) {
23
- var i = 0;
23
+ let i = 0;
24
24
  // first gid
25
25
 
26
26
  // tile properties (collidable, etc..)
@@ -33,8 +33,8 @@ import { getTMX, getImage } from '../../loader/loader.js';
33
33
 
34
34
  // check if an external tileset is defined
35
35
  if (typeof(tileset.source) !== "undefined") {
36
- var src = tileset.source;
37
- var ext = getExtension(src);
36
+ let src = tileset.source;
37
+ let ext = getExtension(src);
38
38
  if (ext === "tsx" || ext === "json") {
39
39
  // load the external tileset (TSX/JSON)
40
40
  tileset = getTMX(getBasename(src));
@@ -83,7 +83,7 @@ import { getTMX, getImage } from '../../loader/loader.js';
83
83
  */
84
84
  this._lastUpdate = 0;
85
85
 
86
- var tiles = tileset.tiles;
86
+ let tiles = tileset.tiles;
87
87
  for (i in tiles) {
88
88
  if (tiles.hasOwnProperty(i)) {
89
89
  if ("animation" in tiles[i]) {
@@ -98,8 +98,8 @@ import { getTMX, getImage } from '../../loader/loader.js';
98
98
  // set tile properties, if any
99
99
  if ("properties" in tiles[i]) {
100
100
  if (Array.isArray(tiles[i].properties)) { // JSON (new format)
101
- var tileProperty = {};
102
- for (var j in tiles[i].properties) {
101
+ let tileProperty = {};
102
+ for (let j in tiles[i].properties) {
103
103
  tileProperty[tiles[i].properties[j].name] = tiles[i].properties[j].value;
104
104
  }
105
105
  this.setTileProperty(+tiles[i].id + this.firstgid, tileProperty);
@@ -108,7 +108,7 @@ import { getTMX, getImage } from '../../loader/loader.js';
108
108
  }
109
109
  }
110
110
  if ("image" in tiles[i]) {
111
- var image = getImage(tiles[i].image);
111
+ let image = getImage(tiles[i].image);
112
112
  if (!image) {
113
113
  throw new Error("melonJS: '" + tiles[i].image + "' file for tile '" + (+i + this.firstgid) + "' not found!");
114
114
  }
@@ -119,14 +119,14 @@ import { getTMX, getImage } from '../../loader/loader.js';
119
119
 
120
120
  this.isCollection = this.imageCollection.length > 0;
121
121
 
122
- var offset = tileset.tileoffset;
122
+ let offset = tileset.tileoffset;
123
123
  if (offset) {
124
124
  this.tileoffset.x = +offset.x;
125
125
  this.tileoffset.y = +offset.y;
126
126
  }
127
127
 
128
128
  // set tile properties, if any (JSON old format)
129
- var tileInfo = tileset.tileproperties;
129
+ let tileInfo = tileset.tileproperties;
130
130
  if (tileInfo) {
131
131
  for (i in tileInfo) {
132
132
  if (tileInfo.hasOwnProperty(i)) {
@@ -155,8 +155,8 @@ import { getTMX, getImage } from '../../loader/loader.js';
155
155
  this.atlas = this.texture.getAtlas();
156
156
 
157
157
  // calculate the number of tiles per horizontal line
158
- var hTileCount = +tileset.columns || Math.round(this.image.width / (this.tilewidth + this.spacing));
159
- var vTileCount = Math.round(this.image.height / (this.tileheight + this.spacing));
158
+ let hTileCount = +tileset.columns || Math.round(this.image.width / (this.tilewidth + this.spacing));
159
+ let vTileCount = Math.round(this.image.height / (this.tileheight + this.spacing));
160
160
  if (tileset.tilecount % hTileCount > 0) {
161
161
  ++vTileCount;
162
162
  }
@@ -205,7 +205,7 @@ import { getTMX, getImage } from '../../loader/loader.js';
205
205
  * @returns {number} View tile ID
206
206
  */
207
207
  getViewTileId(gid) {
208
- var localId = gid - this.firstgid;
208
+ let localId = gid - this.firstgid;
209
209
 
210
210
  if (this.animations.has(localId)) {
211
211
  // return the current corresponding tile id if animated
@@ -226,7 +226,7 @@ import { getTMX, getImage } from '../../loader/loader.js';
226
226
 
227
227
  // update tile animations
228
228
  update(dt) {
229
- var duration = 0,
229
+ let duration = 0,
230
230
  now = timer.getTime(),
231
231
  result = false;
232
232
 
@@ -274,7 +274,7 @@ import { getTMX, getImage } from '../../loader/loader.js';
274
274
  );
275
275
  } else {
276
276
  // use the tileset texture
277
- var offset = this.atlas[this.getViewTileId(tmxTile.tileId)].offset;
277
+ let offset = this.atlas[this.getViewTileId(tmxTile.tileId)].offset;
278
278
  // draw the tile
279
279
  renderer.drawImage(
280
280
  this.image,
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.0.0
2
+ * melonJS Game Engine - v15.1.1
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
@@ -43,13 +43,13 @@ import { TMX_CLEAR_BIT_MASK } from './constants.js';
43
43
  * @returns {TMXTileset} corresponding tileset
44
44
  */
45
45
  getTilesetByGid(gid) {
46
- var invalidRange = -1;
46
+ let invalidRange = -1;
47
47
 
48
48
  // clear the gid of all flip/rotation flags
49
49
  gid &= TMX_CLEAR_BIT_MASK;
50
50
 
51
51
  // cycle through all tilesets
52
- for (var i = 0, len = this.tilesets.length; i < len; i++) {
52
+ for (let i = 0, len = this.tilesets.length; i < len; i++) {
53
53
  // return the corresponding tileset if matching
54
54
  if (this.tilesets[i].contains(gid)) {
55
55
  return this.tilesets[i];