melonjs 15.0.0 → 15.1.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 (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 +77 -59
  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 +1747 -1809
  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 +76 -58
  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
@@ -3,30 +3,30 @@ import * as event from "./../system/event.js";
3
3
  import { isMobile } from "./../system/platform.js";
4
4
 
5
5
  // corresponding actions
6
- var _keyStatus = {};
6
+ let _keyStatus = {};
7
7
 
8
8
  // lock enable flag for keys
9
- var _keyLock = {};
9
+ let _keyLock = {};
10
10
  // actual lock status of each key
11
- var _keyLocked = {};
11
+ let _keyLocked = {};
12
12
 
13
13
  // List of binded keys being held
14
- var _keyRefs = {};
14
+ let _keyRefs = {};
15
15
 
16
16
  // whether default event should be prevented for a given keypress
17
- var _preventDefaultForKeys = {};
17
+ let _preventDefaultForKeys = {};
18
18
 
19
19
  // list of binded keys
20
- var _keyBindings = {};
20
+ let _keyBindings = {};
21
21
 
22
22
  /**
23
23
  * key down event
24
24
  * @ignore
25
25
  */
26
- var keyDownEvent = function (e, keyCode, mouseButton) {
26
+ let keyDownEvent = function (e, keyCode, mouseButton) {
27
27
 
28
28
  keyCode = keyCode || e.keyCode || e.button;
29
- var action = _keyBindings[keyCode];
29
+ let action = _keyBindings[keyCode];
30
30
 
31
31
  // publish a message for keydown event
32
32
  event.emit(event.KEYDOWN,
@@ -37,7 +37,7 @@ var keyDownEvent = function (e, keyCode, mouseButton) {
37
37
 
38
38
  if (action) {
39
39
  if (!_keyLocked[action]) {
40
- var trigger = (typeof mouseButton !== "undefined") ? mouseButton : keyCode;
40
+ let trigger = (typeof mouseButton !== "undefined") ? mouseButton : keyCode;
41
41
  if (!_keyRefs[action][trigger]) {
42
42
  _keyStatus[action]++;
43
43
  _keyRefs[action][trigger] = true;
@@ -61,15 +61,15 @@ var keyDownEvent = function (e, keyCode, mouseButton) {
61
61
  * key up event
62
62
  * @ignore
63
63
  */
64
- var keyUpEvent = function (e, keyCode, mouseButton) {
64
+ let keyUpEvent = function (e, keyCode, mouseButton) {
65
65
  keyCode = keyCode || e.keyCode || e.button;
66
- var action = _keyBindings[keyCode];
66
+ let action = _keyBindings[keyCode];
67
67
 
68
68
  // publish a message for keydown event
69
69
  event.emit(event.KEYUP, action, keyCode);
70
70
 
71
71
  if (action) {
72
- var trigger = (typeof mouseButton !== "undefined") ? mouseButton : keyCode;
72
+ let trigger = (typeof mouseButton !== "undefined") ? mouseButton : keyCode;
73
73
  _keyRefs[action][trigger] = undefined;
74
74
 
75
75
  if (_keyStatus[action] > 0) {
@@ -102,7 +102,7 @@ var keyUpEvent = function (e, keyCode, mouseButton) {
102
102
  * @name keyBoardEventTarget
103
103
  * @memberof input
104
104
  */
105
- export var keyBoardEventTarget = null;
105
+ export let keyBoardEventTarget = null;
106
106
 
107
107
  /**
108
108
  * standard keyboard constants
@@ -451,7 +451,7 @@ export function unlockKey(action) {
451
451
  */
452
452
  export function unbindKey(keycode) {
453
453
  // clear the event status
454
- var keybinding = _keyBindings[keycode];
454
+ let keybinding = _keyBindings[keycode];
455
455
  _keyStatus[keybinding] = 0;
456
456
  _keyLock[keybinding] = false;
457
457
  _keyRefs[keybinding] = {};
@@ -9,7 +9,7 @@ import { locked } from "./pointerevent.js";
9
9
  * a temporary vector object
10
10
  * @ignore
11
11
  */
12
- var tmpVec = new Vector2d();
12
+ let tmpVec = new Vector2d();
13
13
 
14
14
  /**
15
15
  * @classdesc
@@ -16,22 +16,22 @@ import { game } from "../index.js";
16
16
  * @type {Array.<Vector2d>}
17
17
  * @ignore
18
18
  */
19
- var T_POINTERS = [];
19
+ let T_POINTERS = [];
20
20
 
21
21
  // list of registered Event handlers
22
- var eventHandlers = new Map();
22
+ let eventHandlers = new Map();
23
23
 
24
24
  // a cache rect represeting the current pointer area
25
- var currentPointer;
25
+ let currentPointer;
26
26
 
27
27
  // some useful flags
28
- var pointerInitialized = false;
28
+ let pointerInitialized = false;
29
29
 
30
30
  // Track last event timestamp to prevent firing events out of order
31
- var lastTimeStamp = 0;
31
+ let lastTimeStamp = 0;
32
32
 
33
33
  // "active" list of supported events
34
- var activeEventList = [];
34
+ let activeEventList = [];
35
35
 
36
36
  // internal constants
37
37
  const WHEEL = ["wheel"];
@@ -93,14 +93,14 @@ const pointerEventMap = {
93
93
  * Array of normalized events (mouse, touch, pointer)
94
94
  * @ignore
95
95
  */
96
- var normalizedEvents = [];
96
+ let normalizedEvents = [];
97
97
 
98
98
  /**
99
99
  * addEventListerner for the specified event list and callback
100
100
  * @ignore
101
101
  */
102
102
  function registerEventListener(eventList, callback) {
103
- for (var x = 0; x < eventList.length; x++) {
103
+ for (let x = 0; x < eventList.length; x++) {
104
104
  if (POINTER_MOVE.indexOf(eventList[x]) === -1) {
105
105
  pointerEventTarget.addEventListener(eventList[x], callback, { passive: (preventDefault === false) });
106
106
  }
@@ -118,7 +118,7 @@ function enablePointerEvent() {
118
118
  currentPointer = new Rect(0, 0, 1, 1);
119
119
 
120
120
  // instantiate a pool of pointer catched
121
- for (var v = 0; v < device.maxTouchPoints; v++) {
121
+ for (let v = 0; v < device.maxTouchPoints; v++) {
122
122
  T_POINTERS.push(new Pointer());
123
123
  }
124
124
 
@@ -158,8 +158,8 @@ function enablePointerEvent() {
158
158
  }
159
159
 
160
160
  // if time interval <= 16, disable the feature
161
- var i;
162
- var events = findAllActiveEvents(activeEventList, POINTER_MOVE);
161
+ let i;
162
+ let events = findAllActiveEvents(activeEventList, POINTER_MOVE);
163
163
  if (throttlingInterval < 17) {
164
164
  for (i = 0; i < events.length; i++) {
165
165
  if (activeEventList.indexOf(events[i]) !== -1) {
@@ -209,8 +209,8 @@ function enablePointerEvent() {
209
209
  * @ignore
210
210
  */
211
211
  function findActiveEvent(activeEventList, eventTypes) {
212
- for (var i = 0; i < eventTypes.length; i++) {
213
- var event = activeEventList.indexOf(eventTypes[i]);
212
+ for (let i = 0; i < eventTypes.length; i++) {
213
+ let event = activeEventList.indexOf(eventTypes[i]);
214
214
  if (event !== -1) {
215
215
  return eventTypes[i];
216
216
  }
@@ -221,9 +221,9 @@ function findActiveEvent(activeEventList, eventTypes) {
221
221
  * @ignore
222
222
  */
223
223
  function findAllActiveEvents(activeEventList, eventTypes) {
224
- var events = [];
225
- for (var i = 0; i < eventTypes.length; i++) {
226
- var event = activeEventList.indexOf(eventTypes[i]);
224
+ let events = [];
225
+ for (let i = 0; i < eventTypes.length; i++) {
226
+ let event = activeEventList.indexOf(eventTypes[i]);
227
227
  if (event !== -1) {
228
228
  events.push(eventTypes[i]);
229
229
  }
@@ -236,10 +236,10 @@ function findAllActiveEvents(activeEventList, eventTypes) {
236
236
  * @ignore
237
237
  */
238
238
  function triggerEvent(handlers, type, pointer, pointerId) {
239
- var callback;
239
+ let callback;
240
240
  if (handlers.callbacks[type]) {
241
241
  handlers.pointerId = pointerId;
242
- for (var i = handlers.callbacks[type].length - 1; (i >= 0) && (callback = handlers.callbacks[type][i]); i--) {
242
+ for (let i = handlers.callbacks[type].length - 1; (i >= 0) && (callback = handlers.callbacks[type][i]); i--) {
243
243
  if (callback(pointer) === false) {
244
244
  // stop propagating the event if return false
245
245
  return true;
@@ -254,12 +254,12 @@ function triggerEvent(handlers, type, pointer, pointerId) {
254
254
  * @ignore
255
255
  */
256
256
  function dispatchEvent(normalizedEvents) {
257
- var handled = false;
257
+ let handled = false;
258
258
 
259
259
  while (normalizedEvents.length > 0) {
260
260
 
261
261
  // keep a reference to the last item
262
- var pointer = normalizedEvents.pop();
262
+ let pointer = normalizedEvents.pop();
263
263
  // and put it back into our cache
264
264
  T_POINTERS.push(pointer);
265
265
 
@@ -286,18 +286,18 @@ function dispatchEvent(normalizedEvents) {
286
286
  }
287
287
 
288
288
  // fetch valid candiates from the game world container
289
- var candidates = game.world.broadphase.retrieve(currentPointer, game.world._sortReverseZ);
289
+ let candidates = game.world.broadphase.retrieve(currentPointer, game.world._sortReverseZ);
290
290
 
291
291
  // add the main game viewport to the list of candidates
292
292
  candidates = candidates.concat([ game.viewport ]);
293
293
 
294
- for (var c = candidates.length, candidate; c--, (candidate = candidates[c]);) {
294
+ for (let c = candidates.length, candidate; c--, (candidate = candidates[c]);) {
295
295
  if (eventHandlers.has(candidate) && (candidate.isKinematic !== true)) {
296
- var handlers = eventHandlers.get(candidate);
297
- var region = handlers.region;
298
- var ancestor = region.ancestor;
299
- var bounds = region.getBounds();
300
- var eventInBounds = false;
296
+ let handlers = eventHandlers.get(candidate);
297
+ let region = handlers.region;
298
+ let ancestor = region.ancestor;
299
+ let bounds = region.getBounds();
300
+ let eventInBounds = false;
301
301
 
302
302
  if (region.isFloating === true) {
303
303
  pointer.gameX = pointer.gameLocalX = pointer.gameScreenX;
@@ -310,7 +310,7 @@ function dispatchEvent(normalizedEvents) {
310
310
  // adjust gameLocalX to specify coordinates
311
311
  // within the region ancestor container
312
312
  if (typeof ancestor !== "undefined") {
313
- var parentBounds = ancestor.getBounds();
313
+ let parentBounds = ancestor.getBounds();
314
314
  pointer.gameLocalX = pointer.gameX - parentBounds.x;
315
315
  pointer.gameLocalY = pointer.gameY - parentBounds.y;
316
316
  }
@@ -398,13 +398,13 @@ function dispatchEvent(normalizedEvents) {
398
398
  * @ignore
399
399
  */
400
400
  function normalizeEvent(originalEvent) {
401
- var _pointer;
401
+ let _pointer;
402
402
 
403
403
  // PointerEvent or standard Mouse event
404
404
  if (device.touchEvent && originalEvent.changedTouches) {
405
405
  // iOS/Android Touch event
406
- for (var i = 0, l = originalEvent.changedTouches.length; i < l; i++) {
407
- var touchEvent = originalEvent.changedTouches[i];
406
+ for (let i = 0, l = originalEvent.changedTouches.length; i < l; i++) {
407
+ let touchEvent = originalEvent.changedTouches[i];
408
408
  _pointer = T_POINTERS.pop();
409
409
  _pointer.setEvent(
410
410
  originalEvent,
@@ -461,7 +461,7 @@ function onPointerEvent(e) {
461
461
  normalizeEvent(e);
462
462
 
463
463
  // remember/use the first "primary" normalized event for pointer.bind
464
- var button = normalizedEvents[0].button;
464
+ let button = normalizedEvents[0].button;
465
465
 
466
466
  // dispatch event to registered objects
467
467
  if (dispatchEvent(normalizedEvents) || e.type === "wheel") {
@@ -471,7 +471,7 @@ function onPointerEvent(e) {
471
471
  }
472
472
  }
473
473
 
474
- var keycode = pointer.bind[button];
474
+ let keycode = pointer.bind[button];
475
475
 
476
476
  // check if mapped to a key
477
477
  if (keycode) {
@@ -490,7 +490,7 @@ function onPointerEvent(e) {
490
490
  * @name pointerEventTarget
491
491
  * @memberof input
492
492
  */
493
- export var pointerEventTarget = null;
493
+ export let pointerEventTarget = null;
494
494
 
495
495
  /**
496
496
  * Pointer information (current position and size)
@@ -499,7 +499,7 @@ function onPointerEvent(e) {
499
499
  * @name pointer
500
500
  * @memberof input
501
501
  */
502
- export var pointer = new Pointer(0, 0, 1, 1);
502
+ export let pointer = new Pointer(0, 0, 1, 1);
503
503
 
504
504
 
505
505
  /**
@@ -509,7 +509,7 @@ export var pointer = new Pointer(0, 0, 1, 1);
509
509
  * @name locked
510
510
  * @memberof input
511
511
  */
512
- export var locked = false;
512
+ export let locked = false;
513
513
 
514
514
  /**
515
515
  * time interval for event throttling in milliseconds<br>
@@ -520,7 +520,7 @@ export var locked = false;
520
520
  * @name throttlingInterval
521
521
  * @memberof input
522
522
  */
523
- export var throttlingInterval;
523
+ export let throttlingInterval;
524
524
 
525
525
  /**
526
526
  * Translate the specified x and y values from the global (absolute)
@@ -535,17 +535,17 @@ export var throttlingInterval;
535
535
  * @example
536
536
  * onMouseEvent : function (pointer) {
537
537
  * // convert the given into local (viewport) relative coordinates
538
- * var pos = me.input.globalToLocal(pointer.clientX, pointer.clientY);
538
+ * let pos = me.input.globalToLocal(pointer.clientX, pointer.clientY);
539
539
  * // do something with pos !
540
540
  * };
541
541
  */
542
542
  export function globalToLocal(x, y, v) {
543
543
  v = v || pool.pull("Vector2d");
544
- var rect = device.getElementBounds(renderer.getCanvas());
545
- var pixelRatio = globalThis.devicePixelRatio || 1;
544
+ let rect = device.getElementBounds(renderer.getCanvas());
545
+ let pixelRatio = globalThis.devicePixelRatio || 1;
546
546
  x -= rect.left + (globalThis.pageXOffset || 0);
547
547
  y -= rect.top + (globalThis.pageYOffset || 0);
548
- var scale = renderer.scaleRatio;
548
+ let scale = renderer.scaleRatio;
549
549
  if (scale.x !== 1.0 || scale.y !== 1.0) {
550
550
  x /= scale.x;
551
551
  y /= scale.y;
@@ -586,8 +586,8 @@ export function setTouchAction(element, value) {
586
586
  * me.input.bindPointer(me.input.pointer.RIGHT, me.input.KEY.X);
587
587
  */
588
588
  export function bindPointer() {
589
- var button = (arguments.length < 2) ? pointer.LEFT : arguments[0];
590
- var keyCode = (arguments.length < 2) ? arguments[0] : arguments[1];
589
+ let button = (arguments.length < 2) ? pointer.LEFT : arguments[0];
590
+ let keyCode = (arguments.length < 2) ? arguments[0] : arguments[1];
591
591
 
592
592
  // make sure the mouse is initialized
593
593
  enablePointerEvent();
@@ -645,7 +645,7 @@ export function unbindPointer(button) {
645
645
  * // onActivate function
646
646
  * onActivateEvent: function () {
647
647
  * // register on the 'pointerdown' event
648
- * me.input.registerPointerEvent('pointerdown', this, this.pointerDown.bind(this));
648
+ * me.input.registerPointerEvent('pointerdown', this, (e) => this.pointerDown(e));
649
649
  * },
650
650
  *
651
651
  * // pointerDown event callback
@@ -668,7 +668,7 @@ export function registerPointerEvent(eventType, region, callback) {
668
668
  throw new Error("registerPointerEvent: region for " + toString(region) + " event is undefined ");
669
669
  }
670
670
 
671
- var eventTypes = findAllActiveEvents(activeEventList, pointerEventMap[eventType]);
671
+ let eventTypes = findAllActiveEvents(activeEventList, pointerEventMap[eventType]);
672
672
 
673
673
  // register the event
674
674
  if (!eventHandlers.has(region)) {
@@ -680,8 +680,8 @@ export function registerPointerEvent(eventType, region, callback) {
680
680
  }
681
681
 
682
682
  // allocate array if not defined
683
- var handlers = eventHandlers.get(region);
684
- for (var i = 0; i < eventTypes.length; i++) {
683
+ let handlers = eventHandlers.get(region);
684
+ for (let i = 0; i < eventTypes.length; i++) {
685
685
  eventType = eventTypes[i];
686
686
  if (handlers.callbacks[eventType]) {
687
687
  handlers.callbacks[eventType].push(callback);
@@ -710,11 +710,11 @@ export function releasePointerEvent(eventType, region, callback) {
710
710
  }
711
711
 
712
712
  // convert to supported event type if pointerEvent not natively supported
713
- var eventTypes = findAllActiveEvents(activeEventList, pointerEventMap[eventType]);
713
+ let eventTypes = findAllActiveEvents(activeEventList, pointerEventMap[eventType]);
714
714
 
715
- var handlers = eventHandlers.get(region);
715
+ let handlers = eventHandlers.get(region);
716
716
  if (typeof (handlers) !== "undefined") {
717
- for (var i = 0; i < eventTypes.length; i++) {
717
+ for (let i = 0; i < eventTypes.length; i++) {
718
718
  eventType = eventTypes[i];
719
719
  if (handlers.callbacks[eventType]) {
720
720
  if (typeof (callback) !== "undefined") {
@@ -748,7 +748,7 @@ export function releasePointerEvent(eventType, region, callback) {
748
748
  */
749
749
  export function releaseAllPointerEvents(region) {
750
750
  if (eventHandlers.has(region)) {
751
- for (var i = 0; i < pointerEventList.length; i++) {
751
+ for (let i = 0; i < pointerEventList.length; i++) {
752
752
  releasePointerEvent(pointerEventList[i], region);
753
753
  }
754
754
  }
@@ -771,7 +771,7 @@ export function releaseAllPointerEvents(region) {
771
771
  */
772
772
  export function requestPointerLock() {
773
773
  if (device.hasPointerLockSupport) {
774
- var element = game.getParentElement();
774
+ let element = game.getParentElement();
775
775
  element.requestPointerLock();
776
776
  return true;
777
777
  }
@@ -6,8 +6,8 @@
6
6
  * @param {string} version - the version since when the lass,function or property is deprecated
7
7
  */
8
8
  export function warning(deprecated, replacement, version) {
9
- var msg = "melonJS: %s is deprecated since version %s, please use %s";
10
- var stack = new Error().stack;
9
+ const msg = "melonJS: %s is deprecated since version %s, please use %s";
10
+ let stack = new Error().stack;
11
11
 
12
12
  if (console.groupCollapsed) {
13
13
  console.groupCollapsed(
@@ -106,7 +106,7 @@ Renderer.prototype.getScreenContext = function() {
106
106
  * @param {object} settings - See {@link Sprite}
107
107
  */
108
108
  constructor(x, y, settings) {
109
- warning("GUI_Object", "UISpriteElement", "14.0.0");
109
+ warning("GUI_Object", "UISpriteElement or UITextButton", "14.0.0");
110
110
  super(x, y, settings);
111
111
  }
112
112
  }
@@ -7,11 +7,11 @@ import TMXTileMap from "./tiled/TMXTileMap.js";
7
7
 
8
8
 
9
9
  // our levels
10
- var levels = {};
10
+ let levels = {};
11
11
  // level index table
12
- var levelIdx = [];
12
+ let levelIdx = [];
13
13
  // current level index
14
- var currentLevelIdx = 0;
14
+ let currentLevelIdx = 0;
15
15
 
16
16
  /**
17
17
  * @ignore
@@ -58,7 +58,7 @@ function safeLoadLevel(levelId, options, restart) {
58
58
  * @ignore
59
59
  */
60
60
  function loadTMXLevel(levelId, container, flatten, setViewportBounds) {
61
- var level = levels[levelId];
61
+ let level = levels[levelId];
62
62
 
63
63
  // reset the GUID generator
64
64
  // and pass the level id as parameter
@@ -77,7 +77,7 @@ function loadTMXLevel(levelId, container, flatten, setViewportBounds) {
77
77
  * @namespace level
78
78
  */
79
79
 
80
- var level = {
80
+ let level = {
81
81
 
82
82
  /**
83
83
  * add a level into the game manager (usually called by the preloader)
@@ -132,7 +132,7 @@ var level = {
132
132
  * @example
133
133
  * // the game assets to be be preloaded
134
134
  * // TMX maps
135
- * var resources = [
135
+ * let resources = [
136
136
  * {name: "a4_level1", type: "tmx", src: "data/level/a4_level1.tmx"},
137
137
  * {name: "a4_level2", type: "tmx", src: "data/level/a4_level2.tmx"},
138
138
  * {name: "a4_level3", type: "tmx", src: "data/level/a4_level3.tmx"},
@@ -146,7 +146,7 @@ var level = {
146
146
  * ...
147
147
  * ...
148
148
  * // load a level into a specific container
149
- * var levelContainer = new me.Container();
149
+ * let levelContainer = new me.Container();
150
150
  * me.level.load("a4_level2", {container:levelContainer});
151
151
  * // add a simple transformation
152
152
  * levelContainer.currentTransform.translate(levelContainer.width / 2, levelContainer.height / 2 );
@@ -171,7 +171,7 @@ var level = {
171
171
  if (levels[levelId] instanceof TMXTileMap) {
172
172
 
173
173
  // check the status of the state mngr
174
- var wasRunning = state.isRunning();
174
+ let wasRunning = state.isRunning();
175
175
 
176
176
  if (wasRunning) {
177
177
  // stop the game loop to avoid
@@ -57,7 +57,7 @@ export default class TMXGroup {
57
57
  */
58
58
  this.objects = [];
59
59
 
60
- var visible = typeof(data.visible) !== "undefined" ? data.visible : true;
60
+ let visible = typeof(data.visible) !== "undefined" ? data.visible : true;
61
61
  this.opacity = (visible === true) ? clamp(+data.opacity || 1.0, 0.0, 1.0) : 0;
62
62
 
63
63
  // check if we have any user-defined properties
@@ -73,7 +73,7 @@ export default class TMXGroup {
73
73
 
74
74
  if (data.layers) {
75
75
  data.layers.forEach((data) => {
76
- var layer = new TMXLayer(map, data, map.tilewidth, map.tileheight, map.orientation, map.tilesets, z++);
76
+ let layer = new TMXLayer(map, data, map.tilewidth, map.tileheight, map.orientation, map.tilesets, z++);
77
77
  // set a renderer
78
78
  layer.setRenderer(map.getRenderer());
79
79
  // resize container accordingly
@@ -12,10 +12,10 @@ import { game } from "../../index.js";
12
12
  */
13
13
  function initArray(rows, cols) {
14
14
  // initialize the array
15
- var array = new Array(cols);
16
- for (var col = 0; col < cols; col++) {
15
+ let array = new Array(cols);
16
+ for (let col = 0; col < cols; col++) {
17
17
  array[col] = new Array(rows);
18
- for (var row = 0; row < rows; row++) {
18
+ for (let row = 0; row < rows; row++) {
19
19
  array[col][row] = null;
20
20
  }
21
21
  }
@@ -27,8 +27,8 @@ function initArray(rows, cols) {
27
27
  * @ignore
28
28
  */
29
29
  function setLayerData(layer, bounds, data) {
30
- var idx = 0;
31
- var width, height;
30
+ let idx = 0;
31
+ let width, height;
32
32
 
33
33
  // layer provide rows and cols, chunk width and height
34
34
  if (typeof bounds.rows === "undefined") {
@@ -39,10 +39,10 @@ function setLayerData(layer, bounds, data) {
39
39
  height = bounds.rows;
40
40
  }
41
41
  // set everything
42
- for (var y = 0; y < height; y++) {
43
- for (var x = 0; x < width; x++) {
42
+ for (let y = 0; y < height; y++) {
43
+ for (let x = 0; x < width; x++) {
44
44
  // get the value of the gid
45
- var gid = data[idx++];
45
+ let gid = data[idx++];
46
46
  // fill the array
47
47
  if (gid !== 0) {
48
48
  // add a new tile to the layer
@@ -58,10 +58,10 @@ function setLayerData(layer, bounds, data) {
58
58
  */
59
59
  function preRenderLayer(layer, renderer) {
60
60
  // set everything
61
- for (var y = 0; y < layer.rows; y++) {
62
- for (var x = 0; x < layer.cols; x++) {
61
+ for (let y = 0; y < layer.rows; y++) {
62
+ for (let x = 0; x < layer.cols; x++) {
63
63
  // get the value of the gid
64
- var tile = layer.layerData[x][y];
64
+ let tile = layer.layerData[x][y];
65
65
  // draw the tile if defined
66
66
  if (tile instanceof Tile) {
67
67
  // add a new tile to the layer
@@ -127,8 +127,8 @@ function preRenderLayer(layer, renderer) {
127
127
  "width" : 0,
128
128
  "height" : 0
129
129
  };
130
- for (var i = 0; i < this.tilesets.length; i++) {
131
- var tileset = this.tilesets.getTilesetByIndex(i);
130
+ for (let i = 0; i < this.tilesets.length; i++) {
131
+ let tileset = this.tilesets.getTilesetByIndex(i);
132
132
  this.maxTileSize.width = Math.max(this.maxTileSize.width, tileset.tilewidth);
133
133
  this.maxTileSize.height = Math.max(this.maxTileSize.height, tileset.tileheight);
134
134
  }
@@ -171,7 +171,7 @@ function preRenderLayer(layer, renderer) {
171
171
  this.rows = +data.height;
172
172
 
173
173
  // layer opacity
174
- var visible = typeof(data.visible) !== "undefined" ? +data.visible : 1;
174
+ let visible = typeof(data.visible) !== "undefined" ? +data.visible : 1;
175
175
  this.setOpacity(visible ? +data.opacity : 0);
176
176
 
177
177
  // layer tint
@@ -241,8 +241,8 @@ function preRenderLayer(layer, renderer) {
241
241
  }
242
242
 
243
243
  if (this.tilesets) {
244
- var tileset = this.tilesets.tilesets;
245
- for (var i = 0; i < tileset.length; i++) {
244
+ let tileset = this.tilesets.tilesets;
245
+ for (let i = 0; i < tileset.length; i++) {
246
246
  if (tileset[i].isAnimated) {
247
247
  this.animatedTilesets.push(tileset[i]);
248
248
  }
@@ -280,7 +280,7 @@ function preRenderLayer(layer, renderer) {
280
280
  * @param {TMXRenderer} renderer
281
281
  * @example
282
282
  * // use the parent map default renderer
283
- * var layer = new me.TMXLayer(...);
283
+ * let layer = new me.TMXLayer(...);
284
284
  * layer.setRenderer(map.getRenderer());
285
285
  */
286
286
  setRenderer(renderer) {
@@ -302,7 +302,7 @@ function preRenderLayer(layer, renderer) {
302
302
  * @returns {number} TileId or null if there is no Tile at the given position
303
303
  */
304
304
  getTileId(x, y) {
305
- var tile = this.getTile(x, y);
305
+ let tile = this.getTile(x, y);
306
306
  return (tile ? tile.tileId : null);
307
307
  }
308
308
 
@@ -313,15 +313,15 @@ function preRenderLayer(layer, renderer) {
313
313
  * @returns {Tile} corresponding tile or null if there is no defined tile at the coordinate or if outside of the layer bounds
314
314
  * @example
315
315
  * // get the TMX Map Layer called "Front layer"
316
- * var layer = me.game.world.getChildByName("Front Layer")[0];
316
+ * let layer = me.game.world.getChildByName("Front Layer")[0];
317
317
  * // get the tile object corresponding to the latest pointer position
318
- * var tile = layer.getTile(me.input.pointer.x, me.input.pointer.y);
318
+ * let tile = layer.getTile(me.input.pointer.x, me.input.pointer.y);
319
319
  */
320
320
  getTile(x, y) {
321
- var tile = null;
321
+ let tile = null;
322
322
 
323
323
  if (this.contains(x, y)) {
324
- var coord = this.getRenderer().pixelToTileCoords(x, y, pool.pull("Vector2d"));
324
+ let coord = this.getRenderer().pixelToTileCoords(x, y, pool.pull("Vector2d"));
325
325
  tile = this.cellAt(coord.x, coord.y);
326
326
  pool.push(coord);
327
327
  }
@@ -363,13 +363,13 @@ function preRenderLayer(layer, renderer) {
363
363
  * @returns {Tile} corresponding tile or null if there is no defined tile at the position or if outside of the layer bounds
364
364
  * @example
365
365
  * // return the first tile at offset 0, 0
366
- * var tile = layer.cellAt(0, 0);
366
+ * let tile = layer.cellAt(0, 0);
367
367
  */
368
368
  cellAt(x, y, boundsCheck) {
369
- var _x = ~~x;
370
- var _y = ~~y;
369
+ let _x = ~~x;
370
+ let _y = ~~y;
371
371
 
372
- var renderer = this.getRenderer();
372
+ let renderer = this.getRenderer();
373
373
  // boundsCheck only used internally by the tiled renderer, when the layer bound check was already done
374
374
  if (boundsCheck === false || (_x >= 0 && _x < renderer.cols && _y >= 0 && _y < renderer.rows)) {
375
375
  return this.layerData[_x][_y];
@@ -403,8 +403,8 @@ function preRenderLayer(layer, renderer) {
403
403
  */
404
404
  update(dt) {
405
405
  if (this.isAnimated) {
406
- var result = false;
407
- for (var i = 0; i < this.animatedTilesets.length; i++) {
406
+ let result = false;
407
+ for (let i = 0; i < this.animatedTilesets.length; i++) {
408
408
  result = this.animatedTilesets[i].update(dt) || result;
409
409
  }
410
410
  return result;
@@ -419,8 +419,8 @@ function preRenderLayer(layer, renderer) {
419
419
  draw(renderer, rect) {
420
420
  // use the offscreen canvas
421
421
  if (this.preRender) {
422
- var width = Math.min(rect.width, this.width);
423
- var height = Math.min(rect.height, this.height);
422
+ const width = Math.min(rect.width, this.width);
423
+ const height = Math.min(rect.height, this.height);
424
424
 
425
425
  // draw using the cached canvas
426
426
  renderer.drawImage(