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
@@ -5,7 +5,7 @@ import TMXLayer from "./../TMXLayer.js";
5
5
 
6
6
 
7
7
 
8
- // scope global var & constants
8
+ // scope global variables & constants
9
9
  const offsetsStaggerX = [
10
10
  {x: 0, y: 0},
11
11
  {x: + 1, y: - 1},
@@ -82,7 +82,7 @@ const offsetsStaggerY = [
82
82
  * @ignore
83
83
  */
84
84
  getBounds(layer) {
85
- var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
85
+ let bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
86
86
 
87
87
  // The map size is the same regardless of which indexes are shifted.
88
88
  if (this.staggerX) {
@@ -125,7 +125,7 @@ const offsetsStaggerY = [
125
125
  * @ignore
126
126
  */
127
127
  topLeft(x, y, v) {
128
- var ret = v || new Vector2d();
128
+ let ret = v || new Vector2d();
129
129
 
130
130
  if (!this.staggerX) {
131
131
  if ((y & 1) ^ this.staggerEven) {
@@ -149,7 +149,7 @@ const offsetsStaggerY = [
149
149
  * @ignore
150
150
  */
151
151
  topRight(x, y, v) {
152
- var ret = v || new Vector2d();
152
+ let ret = v || new Vector2d();
153
153
 
154
154
  if (!this.staggerX) {
155
155
  if ((y & 1) ^ this.staggerEven) {
@@ -174,7 +174,7 @@ const offsetsStaggerY = [
174
174
  * @ignore
175
175
  */
176
176
  bottomLeft(x, y, v) {
177
- var ret = v || new Vector2d();
177
+ let ret = v || new Vector2d();
178
178
 
179
179
  if (!this.staggerX) {
180
180
  if ((y & 1) ^ this.staggerEven) {
@@ -198,7 +198,7 @@ const offsetsStaggerY = [
198
198
  * @ignore
199
199
  */
200
200
  bottomRight(x, y, v) {
201
- var ret = v || new Vector2d();
201
+ let ret = v || new Vector2d();
202
202
 
203
203
  if (!this.staggerX) {
204
204
  if ((y & 1) ^ this.staggerEven) {
@@ -223,7 +223,7 @@ const offsetsStaggerY = [
223
223
  * @ignore
224
224
  */
225
225
  pixelToTileCoords(x, y, v) {
226
- var ret = v || new Vector2d();
226
+ let ret = v || new Vector2d();
227
227
 
228
228
  if (this.staggerX) { //flat top
229
229
  x -= this.staggerEven ? this.tilewidth : this.sideoffsetx;
@@ -233,13 +233,13 @@ const offsetsStaggerY = [
233
233
  }
234
234
 
235
235
  // Start with the coordinates of a grid-aligned tile
236
- var referencePoint = pool.pull("Vector2d",
236
+ let referencePoint = pool.pull("Vector2d",
237
237
  Math.floor(x / (this.columnwidth * 2)),
238
238
  Math.floor((y / (this.rowheight * 2)))
239
239
  );
240
240
 
241
241
  // Relative x and y position on the base square of the grid-aligned tile
242
- var rel = pool.pull("Vector2d",
242
+ let rel = pool.pull("Vector2d",
243
243
  x - referencePoint.x * (this.columnwidth * 2),
244
244
  y - referencePoint.y * (this.rowheight * 2)
245
245
  );
@@ -259,7 +259,7 @@ const offsetsStaggerY = [
259
259
  }
260
260
 
261
261
  // Determine the nearest hexagon tile by the distance to the center
262
- var left, top, centerX, centerY;
262
+ let left, top, centerX, centerY;
263
263
  if (this.staggerX) {
264
264
  left = this.sidelengthx / 2;
265
265
  centerX = left + this.columnwidth;
@@ -281,17 +281,17 @@ const offsetsStaggerY = [
281
281
  this.centers[3].set(centerX, centerY + this.rowheight);
282
282
  }
283
283
 
284
- var nearest = 0;
285
- var minDist = Number.MAX_VALUE;
286
- for (var i = 0; i < 4; ++i) {
287
- var dc = this.centers[i].sub(rel).length2();
284
+ let nearest = 0;
285
+ let minDist = Number.MAX_VALUE;
286
+ for (let i = 0; i < 4; ++i) {
287
+ let dc = this.centers[i].sub(rel).length2();
288
288
  if (dc < minDist) {
289
289
  minDist = dc;
290
290
  nearest = i;
291
291
  }
292
292
  }
293
293
 
294
- var offsets = (this.staggerX) ? offsetsStaggerX : offsetsStaggerY;
294
+ let offsets = (this.staggerX) ? offsetsStaggerX : offsetsStaggerY;
295
295
 
296
296
  ret.set(
297
297
  referencePoint.x + offsets[nearest].x,
@@ -309,9 +309,9 @@ const offsetsStaggerY = [
309
309
  * @ignore
310
310
  */
311
311
  tileToPixelCoords(x, y, v) {
312
- var tileX = Math.floor(x),
312
+ let tileX = Math.floor(x),
313
313
  tileY = Math.floor(y);
314
- var ret = v || new Vector2d();
314
+ let ret = v || new Vector2d();
315
315
 
316
316
  if (this.staggerX) {
317
317
  ret.y = tileY * (this.tileheight + this.sidelengthy);
@@ -349,8 +349,8 @@ const offsetsStaggerY = [
349
349
  * @ignore
350
350
  */
351
351
  drawTile(renderer, x, y, tmxTile) {
352
- var tileset = tmxTile.tileset;
353
- var point = this.tileToPixelCoords(x, y, pool.pull("Vector2d"));
352
+ let tileset = tmxTile.tileset;
353
+ let point = this.tileToPixelCoords(x, y, pool.pull("Vector2d"));
354
354
 
355
355
  // draw the tile
356
356
  tileset.drawTile(
@@ -368,10 +368,10 @@ const offsetsStaggerY = [
368
368
  * @ignore
369
369
  */
370
370
  drawTileLayer(renderer, layer, rect) {
371
- var tile;
371
+ let tile;
372
372
 
373
373
  // get top-left and bottom-right tile position
374
- var startTile = this.pixelToTileCoords(
374
+ let startTile = this.pixelToTileCoords(
375
375
  rect.pos.x,
376
376
  rect.pos.y,
377
377
  pool.pull("Vector2d")
@@ -381,22 +381,22 @@ const offsetsStaggerY = [
381
381
  startTile.sub(layer.pos);
382
382
 
383
383
  // get top-left and bottom-right tile position
384
- var startPos = this.tileToPixelCoords(
384
+ let startPos = this.tileToPixelCoords(
385
385
  startTile.x + layer.pos.x,
386
386
  startTile.y + layer.pos.y,
387
387
  pool.pull("Vector2d")
388
388
  );
389
389
 
390
- var rowTile = startTile.clone();
391
- var rowPos = startPos.clone();
390
+ let rowTile = startTile.clone();
391
+ let rowPos = startPos.clone();
392
392
 
393
393
  /* Determine in which half of the tile the top-left corner of the area we
394
394
  * need to draw is. If we're in the upper half, we need to start one row
395
395
  * up due to those tiles being visible as well. How we go up one row
396
396
  * depends on whether we're in the left or right half of the tile.
397
397
  */
398
- var inUpperHalf = rect.pos.y - startPos.y < this.sideoffsety;
399
- var inLeftHalf = rect.pos.x - startPos.x < this.sideoffsetx;
398
+ let inUpperHalf = rect.pos.y - startPos.y < this.sideoffsety;
399
+ let inLeftHalf = rect.pos.x - startPos.x < this.sideoffsetx;
400
400
 
401
401
  if (inUpperHalf) {
402
402
  startTile.y--;
@@ -405,8 +405,8 @@ const offsetsStaggerY = [
405
405
  startTile.x--;
406
406
  }
407
407
 
408
- var endX = layer.cols;
409
- var endY = layer.rows;
408
+ let endX = layer.cols;
409
+ let endY = layer.rows;
410
410
 
411
411
  if (this.staggerX) {
412
412
  //ensure we are in the valid tile range
@@ -419,7 +419,7 @@ const offsetsStaggerY = [
419
419
  startPos
420
420
  );
421
421
 
422
- var staggeredRow = this.doStaggerX(startTile.x + layer.pos.x);
422
+ let staggeredRow = this.doStaggerX(startTile.x + layer.pos.x);
423
423
 
424
424
  // main drawing loop
425
425
  for (; startPos.y < rect.bottom && startTile.y < endY; ) {
@@ -42,7 +42,7 @@ import TMXLayer from "./../TMXLayer.js";
42
42
  * @ignore
43
43
  */
44
44
  getBounds(layer) {
45
- var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
45
+ let bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
46
46
  bounds.setMinMax(
47
47
  0, 0,
48
48
  (this.cols + this.rows) * (this.tilewidth / 2),
@@ -56,7 +56,7 @@ import TMXLayer from "./../TMXLayer.js";
56
56
  * @ignore
57
57
  */
58
58
  pixelToTileCoords(x, y, v) {
59
- var ret = v || new Vector2d();
59
+ let ret = v || new Vector2d();
60
60
  return ret.set(
61
61
  (y / this.tileheight) + ((x - this.originX) / this.tilewidth),
62
62
  (y / this.tileheight) - ((x - this.originX) / this.tilewidth)
@@ -68,7 +68,7 @@ import TMXLayer from "./../TMXLayer.js";
68
68
  * @ignore
69
69
  */
70
70
  tileToPixelCoords(x, y, v) {
71
- var ret = v || new Vector2d();
71
+ let ret = v || new Vector2d();
72
72
  return ret.set(
73
73
  (x - y) * this.hTilewidth + this.originX,
74
74
  (x + y) * this.hTileheight
@@ -81,9 +81,9 @@ import TMXLayer from "./../TMXLayer.js";
81
81
  * @ignore
82
82
  */
83
83
  adjustPosition(obj) {
84
- var tileX = obj.x / this.hTilewidth;
85
- var tileY = obj.y / this.tileheight;
86
- var isoPos = pool.pull("Vector2d");
84
+ let tileX = obj.x / this.hTilewidth;
85
+ let tileY = obj.y / this.tileheight;
86
+ let isoPos = pool.pull("Vector2d");
87
87
 
88
88
  this.tileToPixelCoords(tileX, tileY, isoPos);
89
89
 
@@ -98,7 +98,7 @@ import TMXLayer from "./../TMXLayer.js";
98
98
  * @ignore
99
99
  */
100
100
  drawTile(renderer, x, y, tmxTile) {
101
- var tileset = tmxTile.tileset;
101
+ let tileset = tmxTile.tileset;
102
102
  // draw the tile
103
103
  tileset.drawTile(
104
104
  renderer,
@@ -114,24 +114,24 @@ import TMXLayer from "./../TMXLayer.js";
114
114
  */
115
115
  drawTileLayer(renderer, layer, rect) {
116
116
  // cache a couple of useful references
117
- var tileset = layer.tileset;
117
+ let tileset = layer.tileset;
118
118
 
119
119
  // get top-left and bottom-right tile position
120
- var rowItr = this.pixelToTileCoords(
120
+ let rowItr = this.pixelToTileCoords(
121
121
  rect.pos.x - tileset.tilewidth,
122
122
  rect.pos.y - tileset.tileheight,
123
123
  pool.pull("Vector2d")
124
124
  ).floorSelf();
125
- var tileEnd = this.pixelToTileCoords(
125
+ let tileEnd = this.pixelToTileCoords(
126
126
  rect.pos.x + rect.width + tileset.tilewidth,
127
127
  rect.pos.y + rect.height + tileset.tileheight,
128
128
  pool.pull("Vector2d")
129
129
  ).ceilSelf();
130
130
 
131
- var rectEnd = this.tileToPixelCoords(tileEnd.x, tileEnd.y, pool.pull("Vector2d"));
131
+ let rectEnd = this.tileToPixelCoords(tileEnd.x, tileEnd.y, pool.pull("Vector2d"));
132
132
 
133
133
  // Determine the tile and pixel coordinates to start at
134
- var startPos = this.tileToPixelCoords(rowItr.x, rowItr.y, pool.pull("Vector2d"));
134
+ let startPos = this.tileToPixelCoords(rowItr.x, rowItr.y, pool.pull("Vector2d"));
135
135
  startPos.x -= this.hTilewidth;
136
136
  startPos.y += this.tileheight;
137
137
 
@@ -140,8 +140,8 @@ import TMXLayer from "./../TMXLayer.js";
140
140
  * up due to those tiles being visible as well. How we go up one row
141
141
  * depends on whether we're in the left or right half of the tile.
142
142
  */
143
- var inUpperHalf = startPos.y - rect.pos.y > this.hTileheight;
144
- var inLeftHalf = rect.pos.x - startPos.x < this.hTilewidth;
143
+ let inUpperHalf = startPos.y - rect.pos.y > this.hTileheight;
144
+ let inLeftHalf = rect.pos.x - startPos.x < this.hTilewidth;
145
145
 
146
146
  if (inUpperHalf) {
147
147
  if (inLeftHalf) {
@@ -156,21 +156,21 @@ import TMXLayer from "./../TMXLayer.js";
156
156
  }
157
157
 
158
158
  // Determine whether the current row is shifted half a tile to the right
159
- var shifted = inUpperHalf ^ inLeftHalf;
159
+ let shifted = inUpperHalf ^ inLeftHalf;
160
160
 
161
161
  // initialize the columItr vector
162
- var columnItr = rowItr.clone();
162
+ let columnItr = rowItr.clone();
163
163
 
164
164
  // main drawing loop
165
- for (var y = startPos.y * 2; y - this.tileheight * 2 < rectEnd.y * 2; y += this.tileheight) {
165
+ for (let y = startPos.y * 2; y - this.tileheight * 2 < rectEnd.y * 2; y += this.tileheight) {
166
166
  columnItr.setV(rowItr);
167
- for (var x = startPos.x; x < rectEnd.x; x += this.tilewidth) {
168
- var tmxTile = layer.cellAt(columnItr.x, columnItr.y);
167
+ for (let x = startPos.x; x < rectEnd.x; x += this.tilewidth) {
168
+ let tmxTile = layer.cellAt(columnItr.x, columnItr.y);
169
169
  // render if a valid tile position
170
170
  if (tmxTile) {
171
171
  tileset = tmxTile.tileset;
172
172
  // offset could be different per tileset
173
- var offset = tileset.tileoffset;
173
+ let offset = tileset.tileoffset;
174
174
  // draw our tile
175
175
  tileset.drawTile(
176
176
  renderer,
@@ -36,7 +36,7 @@ import TMXRenderer from "./TMXRenderer.js";
36
36
  * @ignore
37
37
  */
38
38
  pixelToTileCoords(x, y, v) {
39
- var ret = v || new Vector2d();
39
+ let ret = v || new Vector2d();
40
40
  return ret.set(
41
41
  x / this.tilewidth,
42
42
  y / this.tileheight
@@ -49,7 +49,7 @@ import TMXRenderer from "./TMXRenderer.js";
49
49
  * @ignore
50
50
  */
51
51
  tileToPixelCoords(x, y, v) {
52
- var ret = v || new Vector2d();
52
+ let ret = v || new Vector2d();
53
53
  return ret.set(
54
54
  x * this.tilewidth,
55
55
  y * this.tileheight
@@ -75,7 +75,7 @@ import TMXRenderer from "./TMXRenderer.js";
75
75
  * @ignore
76
76
  */
77
77
  drawTile(renderer, x, y, tmxTile) {
78
- var tileset = tmxTile.tileset;
78
+ let tileset = tmxTile.tileset;
79
79
  // draw the tile
80
80
  tileset.drawTile(
81
81
  renderer,
@@ -90,16 +90,16 @@ import TMXRenderer from "./TMXRenderer.js";
90
90
  * @ignore
91
91
  */
92
92
  drawTileLayer(renderer, layer, rect) {
93
- var incX = 1, incY = 1;
93
+ let incX = 1, incY = 1;
94
94
 
95
95
  // get top-left and bottom-right tile position
96
- var start = this.pixelToTileCoords(
96
+ let start = this.pixelToTileCoords(
97
97
  Math.max(rect.pos.x - (layer.maxTileSize.width - layer.tilewidth), 0),
98
98
  Math.max(rect.pos.y - (layer.maxTileSize.height - layer.tileheight), 0),
99
99
  pool.pull("Vector2d")
100
100
  ).floorSelf();
101
101
 
102
- var end = this.pixelToTileCoords(
102
+ let end = this.pixelToTileCoords(
103
103
  rect.pos.x + rect.width + this.tilewidth,
104
104
  rect.pos.y + rect.height + this.tileheight,
105
105
  pool.pull("Vector2d")
@@ -133,9 +133,9 @@ import TMXRenderer from "./TMXRenderer.js";
133
133
  }
134
134
 
135
135
  // main drawing loop
136
- for (var y = start.y; y !== end.y; y+= incY) {
137
- for (var x = start.x; x !== end.x; x+= incX) {
138
- var tmxTile = layer.cellAt(x, y, false);
136
+ for (let y = start.y; y !== end.y; y+= incY) {
137
+ for (let x = start.x; x !== end.x; x+= incX) {
138
+ let tmxTile = layer.cellAt(x, y, false);
139
139
  if (tmxTile) {
140
140
  this.drawTile(renderer, x, y, tmxTile);
141
141
  }
@@ -47,7 +47,7 @@ import Bounds from "./../../../physics/bounds.js";
47
47
  * @returns {Bounds}
48
48
  */
49
49
  getBounds(layer) {
50
- var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
50
+ let bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
51
51
  bounds.setMinMax(
52
52
  0, 0,
53
53
  this.cols * this.tilewidth,
@@ -27,9 +27,9 @@ import { degToRad } from "./../../../math/math.js";
27
27
  * @ignore
28
28
  */
29
29
  pixelToTileCoords(x, y, v) {
30
- var ret = v || new Vector2d();
30
+ let ret = v || new Vector2d();
31
31
 
32
- var alignedX = x,
32
+ let alignedX = x,
33
33
  alignedY = y;
34
34
 
35
35
  if (this.staggerX) {
@@ -39,7 +39,7 @@ import { degToRad } from "./../../../math/math.js";
39
39
  }
40
40
 
41
41
  // Start with the coordinates of a grid-aligned tile
42
- var referencePoint = pool.pull("Vector2d",
42
+ let referencePoint = pool.pull("Vector2d",
43
43
  Math.floor(alignedX / this.tilewidth),
44
44
  Math.floor(alignedY / this.tileheight)
45
45
  );
@@ -58,13 +58,13 @@ import { degToRad } from "./../../../math/math.js";
58
58
  }
59
59
 
60
60
  // Relative x and y position on the base square of the grid-aligned tile
61
- var rel = pool.pull("Vector2d",
61
+ let rel = pool.pull("Vector2d",
62
62
  alignedX - referencePoint.x * this.tilewidth,
63
63
  alignedY - referencePoint.y * this.tileheight
64
64
  );
65
65
 
66
66
  // Check whether the cursor is in any of the corners (neighboring tiles)
67
- var y_pos = rel.x * (this.tileheight / this.tilewidth);
67
+ let y_pos = rel.x * (this.tileheight / this.tilewidth);
68
68
 
69
69
  if (this.sideoffsety - y_pos > rel.y) {
70
70
  referencePoint = this.topLeft(referencePoint.x, referencePoint.y, referencePoint);
@@ -56,7 +56,7 @@ function checkLoadStatus(onloadcb) {
56
56
  clearTimeout(timerId);
57
57
  // trigger the onload callback
58
58
  // we call either the supplied callback (which takes precedence) or the global one
59
- var callback = onloadcb || onload;
59
+ let callback = onloadcb || onload;
60
60
  setTimeout(() => {
61
61
  callback();
62
62
  event.emit(event.LOADER_COMPLETE);
@@ -82,7 +82,7 @@ function onResourceLoaded(res) {
82
82
  loadCount++;
83
83
 
84
84
  // currrent progress
85
- var progress = loadCount / resourceCount;
85
+ let progress = loadCount / resourceCount;
86
86
 
87
87
  // call callback if defined
88
88
  if (typeof onProgress === "function") {
@@ -143,11 +143,11 @@ function onLoadingError(res) {
143
143
  * ];
144
144
  * ...
145
145
  * // set all resources to be loaded
146
- * me.loader.preload(game.resources, this.loaded.bind(this));
146
+ * me.loader.preload(game.resources, () => this.loaded());
147
147
  */
148
148
  export function preload(res, onloadcb, switchToLoadState = true) {
149
149
  // parse the resources
150
- for (var i = 0; i < res.length; i++) {
150
+ for (let i = 0; i < res.length; i++) {
151
151
  resourceCount += load(
152
152
  res[i],
153
153
  onResourceLoaded.bind(this, res[i]),
@@ -183,7 +183,7 @@ export function preload(res, onloadcb, switchToLoadState = true) {
183
183
  * @returns {number} the amount of corresponding resource to be preloaded
184
184
  * @example
185
185
  * // load an image asset
186
- * me.loader.load({name: "avatar", type:"image", src: "data/avatar.png"}, this.onload.bind(this), this.onerror.bind(this));
186
+ * me.loader.load({name: "avatar", type:"image", src: "data/avatar.png"}, () => this.onload(), () => this.onerror());
187
187
  * // load a base64 image asset
188
188
  * me.loader.load({name: "avatar", type:"image", src: "data:image/png;base64,iVBORw0KAAAQAAAAEACA..."};
189
189
  * // start loading music
@@ -307,7 +307,7 @@ export function unload(res) {
307
307
  * @example me.loader.unloadAll();
308
308
  */
309
309
  export function unloadAll() {
310
- var name;
310
+ let name;
311
311
 
312
312
  // unload all binary resources
313
313
  for (name in binList) {
@@ -72,7 +72,7 @@ class DefaultLoadingScreen extends Stage {
72
72
  * @ignore
73
73
  */
74
74
  onResetEvent() {
75
- var barHeight = 8;
75
+ const barHeight = 8;
76
76
 
77
77
  // set a background color
78
78
  game.world.backgroundColor.parseCSS("#202020");
@@ -50,7 +50,7 @@ export function preloadFontFace(data, onload, onerror) {
50
50
  }
51
51
  }
52
52
 
53
- var font = new FontFace(data.name, data.src);
53
+ let font = new FontFace(data.name, data.src);
54
54
 
55
55
  // loading promise
56
56
  font.load().then(() => {
@@ -97,9 +97,9 @@ export function preloadTMX(tmxData, onload, onerror) {
97
97
  return;
98
98
  }
99
99
 
100
- var xmlhttp = new XMLHttpRequest();
100
+ let xmlhttp = new XMLHttpRequest();
101
101
  // check the data format ('tmx', 'json')
102
- var format = fileUtil.getExtension(tmxData.src);
102
+ let format = fileUtil.getExtension(tmxData.src);
103
103
 
104
104
  if (xmlhttp.overrideMimeType) {
105
105
  if (format === "json") {
@@ -119,7 +119,7 @@ export function preloadTMX(tmxData, onload, onerror) {
119
119
  // status = 0 when file protocol is used, or cross-domain origin,
120
120
  // (With Chrome use "--allow-file-access-from-files --disable-web-security")
121
121
  if ((xmlhttp.status === 200) || ((xmlhttp.status === 0) && xmlhttp.responseText)) {
122
- var result = null;
122
+ let result = null;
123
123
 
124
124
  // parse response
125
125
  switch (format) {
@@ -139,7 +139,7 @@ export function preloadTMX(tmxData, onload, onerror) {
139
139
  result = xmlhttp.responseXML;
140
140
  }
141
141
  // converts to a JS object
142
- var data = TMXUtils.parse(result);
142
+ var data = TMXUtils.parse(result); // <= "Unexpected lexical declaration in case block" if using let
143
143
  switch (format) {
144
144
  case "tmx":
145
145
  result = data.map;
@@ -184,7 +184,7 @@ export function preloadTMX(tmxData, onload, onerror) {
184
184
  * @ignore
185
185
  */
186
186
  export function preloadJSON(data, onload, onerror) {
187
- var xmlhttp = new XMLHttpRequest();
187
+ let xmlhttp = new XMLHttpRequest();
188
188
 
189
189
  if (xmlhttp.overrideMimeType) {
190
190
  xmlhttp.overrideMimeType("application/json");
@@ -221,7 +221,7 @@ export function preloadJSON(data, onload, onerror) {
221
221
  * @ignore
222
222
  */
223
223
  export function preloadBinary(data, onload, onerror) {
224
- var httpReq = new XMLHttpRequest();
224
+ let httpReq = new XMLHttpRequest();
225
225
 
226
226
  // load our file
227
227
  httpReq.open("GET", data.src + nocache, true);
@@ -229,11 +229,11 @@ export function preloadBinary(data, onload, onerror) {
229
229
  httpReq.responseType = "arraybuffer";
230
230
  httpReq.onerror = onerror;
231
231
  httpReq.onload = function () {
232
- var arrayBuffer = httpReq.response;
232
+ let arrayBuffer = httpReq.response;
233
233
  if (arrayBuffer) {
234
- var byteArray = new Uint8Array(arrayBuffer);
235
- var buffer = [];
236
- for (var i = 0; i < byteArray.byteLength; i++) {
234
+ let byteArray = new Uint8Array(arrayBuffer);
235
+ let buffer = [];
236
+ for (let i = 0; i < byteArray.byteLength; i++) {
237
237
  buffer[i] = String.fromCharCode(byteArray[i]);
238
238
  }
239
239
  binList[data.name] = buffer.join("");
@@ -252,7 +252,7 @@ export function preloadBinary(data, onload, onerror) {
252
252
  * @ignore
253
253
  */
254
254
  export function preloadJavascript(data, onload, onerror) {
255
- var script = document.createElement("script");
255
+ let script = document.createElement("script");
256
256
 
257
257
  script.src = data.src;
258
258
  script.type = "text/javascript";
@@ -21,7 +21,7 @@ export let baseURL = {};
21
21
  * me.loader.crossOrigin = "anonymous";
22
22
  *
23
23
  * // set all ressources to be loaded
24
- * me.loader.preload(game.resources, this.loaded.bind(this));
24
+ * me.loader.preload(game.resources, () => this.loaded());
25
25
  */
26
26
  export let crossOrigin;
27
27
 
@@ -39,7 +39,7 @@ export let crossOrigin;
39
39
  * me.loader.withCredentials = true;
40
40
  *
41
41
  * // set all ressources to be loaded
42
- * me.loader.preload(game.resources, this.loaded.bind(this));
42
+ * me.loader.preload(game.resources, () => this.loaded());
43
43
  */
44
44
  export let withCredentials = false;
45
45
 
package/src/math/color.js CHANGED
@@ -21,7 +21,7 @@ const hex4Rx = /^#([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])$/;
21
21
  const hex6Rx = /^#([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})$/;
22
22
  const hex8Rx = /^#([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})$/;
23
23
 
24
- var cssToRGB = new Map();
24
+ let cssToRGB = new Map();
25
25
 
26
26
  [
27
27
  // CSS1
@@ -279,13 +279,13 @@ var cssToRGB = new Map();
279
279
  * @returns {Color} Reference to this object for method chaining
280
280
  */
281
281
  setHSV(h, s, v) {
282
- var r, g, b;
282
+ let r, g, b;
283
283
 
284
- var i = Math.floor(h * 6);
285
- var f = h * 6 - i;
286
- var p = v * (1 - s);
287
- var q = v * (1 - f * s);
288
- var t = v * (1 - (1 - f) * s);
284
+ let i = Math.floor(h * 6);
285
+ let f = h * 6 - i;
286
+ let p = v * (1 - s);
287
+ let q = v * (1 - f * s);
288
+ let t = v * (1 - (1 - f) * s);
289
289
 
290
290
  switch (i % 6) {
291
291
  case 0: r = v, g = t, b = p; break;
@@ -306,13 +306,13 @@ var cssToRGB = new Map();
306
306
  * @returns {Color} Reference to this object for method chaining
307
307
  */
308
308
  setHSL(h, s, l) {
309
- var r, g, b;
309
+ let r, g, b;
310
310
 
311
311
  if (s === 0) {
312
312
  r = g = b = l; // achromatic
313
313
  } else {
314
- var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
315
- var p = 2 * l - q;
314
+ let q = l < 0.5 ? l * (1 + s) : l + s - l * s;
315
+ let p = 2 * l - q;
316
316
 
317
317
  r = hue2rgb(p, q, h + 1/3);
318
318
  g = hue2rgb(p, q, h);
@@ -462,7 +462,7 @@ var cssToRGB = new Map();
462
462
  parseRGB(rgbColor) {
463
463
  // TODO : Memoize this function by caching its input
464
464
 
465
- var match = rgbaRx.exec(rgbColor);
465
+ let match = rgbaRx.exec(rgbColor);
466
466
  if (match) {
467
467
  return this.setColor(+match[1], +match[2], +match[3], +match[5]);
468
468
  }
@@ -480,7 +480,7 @@ var cssToRGB = new Map();
480
480
  parseHex(hexColor, argb = false) {
481
481
  // TODO : Memoize this function by caching its input
482
482
 
483
- var match;
483
+ let match;
484
484
  if ((match = hex8Rx.exec(hexColor))) {
485
485
  // #AARRGGBB or #RRGGBBAA
486
486
  return this.setColor(
@@ -502,10 +502,10 @@ var cssToRGB = new Map();
502
502
 
503
503
  if ((match = hex4Rx.exec(hexColor))) {
504
504
  // #ARGB or #RGBA
505
- var r = match[argb === false ? 1 : 2];
506
- var g = match[argb === false ? 2 : 3];
507
- var b = match[argb === false ? 3 : 4];
508
- var a = match[argb === false ? 4 : 1];
505
+ let r = match[argb === false ? 1 : 2];
506
+ let g = match[argb === false ? 2 : 3];
507
+ let b = match[argb === false ? 3 : 4];
508
+ let a = match[argb === false ? 4 : 1];
509
509
  return this.setColor(
510
510
  parseInt(r + r, 16), // r
511
511
  parseInt(g + g, 16), // g
@@ -534,11 +534,11 @@ var cssToRGB = new Map();
534
534
  * @returns {number}
535
535
  */
536
536
  toUint32(alpha = 1.0) {
537
- var a = this.glArray;
537
+ let a = this.glArray;
538
538
 
539
- var ur = (a[0] * 255) & 0xff;
540
- var ug = (a[1] * 255) & 0xff;
541
- var ub = (a[2] * 255) & 0xff;
539
+ let ur = (a[0] * 255) & 0xff;
540
+ let ug = (a[1] * 255) & 0xff;
541
+ let ub = (a[2] * 255) & 0xff;
542
542
 
543
543
  return (((alpha * 255) & 0xff) << 24) + (ur << 16) + (ug << 8) + ub;
544
544
  }
package/src/math/math.js CHANGED
@@ -185,7 +185,7 @@ export function weightedRandom(min, max) {
185
185
  */
186
186
  export function round(num, dec = 0) {
187
187
  // if only one argument use the object value
188
- var powres = Math.pow(10, dec);
188
+ const powres = Math.pow(10, dec);
189
189
  return (~~(0.5 + num * powres) / powres);
190
190
  }
191
191