excalibur 0.26.0-alpha.310 → 0.26.0-alpha.314

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 (104) hide show
  1. package/CHANGELOG.md +9 -2
  2. package/build/dist/Actor.js +3 -1
  3. package/build/dist/Actor.js.map +1 -1
  4. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.d.ts +2 -2
  5. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js +9 -26
  6. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js.map +1 -1
  7. package/build/dist/Collision/Detection/Pair.d.ts +5 -0
  8. package/build/dist/Collision/Detection/Pair.js +19 -0
  9. package/build/dist/Collision/Detection/Pair.js.map +1 -1
  10. package/build/dist/Debug/Debug.d.ts +16 -0
  11. package/build/dist/Debug/Debug.js +35 -0
  12. package/build/dist/Debug/Debug.js.map +1 -1
  13. package/build/dist/Drawing/Animation.js +10 -1
  14. package/build/dist/Drawing/Animation.js.map +1 -1
  15. package/build/dist/Drawing/Polygon.js +11 -1
  16. package/build/dist/Drawing/Polygon.js.map +1 -1
  17. package/build/dist/Drawing/Sprite.js +24 -25
  18. package/build/dist/Drawing/Sprite.js.map +1 -1
  19. package/build/dist/Drawing/Texture.js +25 -36
  20. package/build/dist/Drawing/Texture.js.map +1 -1
  21. package/build/dist/Engine.d.ts +34 -1
  22. package/build/dist/Engine.js +114 -60
  23. package/build/dist/Engine.js.map +1 -1
  24. package/build/dist/EntityComponentSystem/SystemManager.d.ts +6 -0
  25. package/build/dist/EntityComponentSystem/SystemManager.js +12 -5
  26. package/build/dist/EntityComponentSystem/SystemManager.js.map +1 -1
  27. package/build/dist/Graphics/Animation.js +7 -1
  28. package/build/dist/Graphics/Animation.js.map +1 -1
  29. package/build/dist/Graphics/Canvas.js +5 -1
  30. package/build/dist/Graphics/Canvas.js.map +1 -1
  31. package/build/dist/Graphics/Circle.js +5 -1
  32. package/build/dist/Graphics/Circle.js.map +1 -1
  33. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js +4 -4
  34. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js.map +1 -1
  35. package/build/dist/Graphics/Font.js +14 -2
  36. package/build/dist/Graphics/Font.js.map +1 -1
  37. package/build/dist/Graphics/GraphicsComponent.js +6 -3
  38. package/build/dist/Graphics/GraphicsComponent.js.map +1 -1
  39. package/build/dist/Graphics/GraphicsGroup.js +4 -1
  40. package/build/dist/Graphics/GraphicsGroup.js.map +1 -1
  41. package/build/dist/Graphics/ImageSource.js +25 -36
  42. package/build/dist/Graphics/ImageSource.js.map +1 -1
  43. package/build/dist/Graphics/Polygon.js +5 -1
  44. package/build/dist/Graphics/Polygon.js.map +1 -1
  45. package/build/dist/Graphics/Rectangle.js +6 -1
  46. package/build/dist/Graphics/Rectangle.js.map +1 -1
  47. package/build/dist/Graphics/Sprite.js +6 -1
  48. package/build/dist/Graphics/Sprite.js.map +1 -1
  49. package/build/dist/Graphics/SpriteSheet.js +2 -2
  50. package/build/dist/Graphics/SpriteSheet.js.map +1 -1
  51. package/build/dist/Loader.d.ts +4 -1
  52. package/build/dist/Loader.js +47 -45
  53. package/build/dist/Loader.js.map +1 -1
  54. package/build/dist/Particles.js +1 -1
  55. package/build/dist/Particles.js.map +1 -1
  56. package/build/dist/Resources/Gif.js +8 -19
  57. package/build/dist/Resources/Gif.js.map +1 -1
  58. package/build/dist/Resources/Sound/Sound.js +42 -59
  59. package/build/dist/Resources/Sound/Sound.js.map +1 -1
  60. package/build/dist/Scene.js +1 -0
  61. package/build/dist/Scene.js.map +1 -1
  62. package/build/dist/Screen.js +3 -3
  63. package/build/dist/Screen.js.map +1 -1
  64. package/build/dist/ScreenElement.js +1 -1
  65. package/build/dist/ScreenElement.js.map +1 -1
  66. package/build/dist/Trigger.js +4 -1
  67. package/build/dist/Trigger.js.map +1 -1
  68. package/build/dist/Util/Clock.d.ts +117 -0
  69. package/build/dist/Util/Clock.js +209 -0
  70. package/build/dist/Util/Clock.js.map +1 -0
  71. package/build/dist/Util/Decorators.js +7 -2
  72. package/build/dist/Util/Decorators.js.map +1 -1
  73. package/build/dist/Util/Fps.d.ts +40 -0
  74. package/build/dist/Util/Fps.js +47 -0
  75. package/build/dist/Util/Fps.js.map +1 -0
  76. package/build/dist/Util/Util.d.ts +6 -1
  77. package/build/dist/Util/Util.js +9 -3
  78. package/build/dist/Util/Util.js.map +1 -1
  79. package/build/dist/Util/WebAudio.js.map +1 -1
  80. package/build/dist/excalibur.js +743 -346
  81. package/build/dist/excalibur.js.map +1 -1
  82. package/build/dist/excalibur.min.js +1 -1
  83. package/build/dist/excalibur.min.js.LICENSE.txt +1 -1
  84. package/build/dist/excalibur.min.js.map +1 -1
  85. package/build/dist/index.d.ts +3 -0
  86. package/build/dist/index.js +5 -2
  87. package/build/dist/index.js.map +1 -1
  88. package/build/esm/Collision/Detection/DynamicTreeCollisionProcessor.d.ts +2 -2
  89. package/build/esm/Collision/Detection/Pair.d.ts +5 -0
  90. package/build/esm/Debug/Debug.d.ts +16 -0
  91. package/build/esm/Engine.d.ts +34 -1
  92. package/build/esm/EntityComponentSystem/SystemManager.d.ts +6 -0
  93. package/build/esm/Loader.d.ts +4 -1
  94. package/build/esm/Util/Clock.d.ts +117 -0
  95. package/build/esm/Util/Fps.d.ts +40 -0
  96. package/build/esm/Util/Util.d.ts +6 -1
  97. package/build/esm/excalibur.js +749 -347
  98. package/build/esm/excalibur.js.map +1 -1
  99. package/build/esm/excalibur.min.js +1 -1
  100. package/build/esm/excalibur.min.js.LICENSE.txt +1 -1
  101. package/build/esm/excalibur.min.js.map +1 -1
  102. package/build/esm/index.d.ts +3 -0
  103. package/package.json +4 -4
  104. package/wallaby.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Sprite.js","sourceRoot":"","sources":["../../../src/engine/Drawing/Sprite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;GAGG;AACH,MAAM,OAAO,UAAU;IA+CrB;;;;;;OAMG;IACH,YAAY,aAAmC,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QAnD7F,MAAC,GAAW,CAAC,CAAC;QACd,MAAC,GAAW,CAAC,CAAC;QAUd,aAAQ,GAAW,GAAG,CAAC;QACvB,WAAM,GAAW,MAAM,CAAC,IAAI,CAAC;QAC7B,WAAM,GAAW,MAAM,CAAC,IAAI,CAAC;QAC7B,UAAK,GAAW,MAAM,CAAC,GAAG,CAAC;QAClC;;;WAGG;QACI,qBAAgB,GAAG,KAAK,CAAC;QAEzB,WAAM,GAAW,MAAM,CAAC,WAAW,EAAE,CAAC;QAE7C;;WAEG;QACI,iBAAY,GAAY,KAAK,CAAC;QAErC;;WAEG;QACI,mBAAc,GAAY,KAAK,CAAC;QAEhC,YAAO,GAA2B,EAAE,CAAC;QAErC,UAAK,GAAW,CAAC,CAAC;QAClB,WAAM,GAAW,CAAC,CAAC;QAElB,kBAAa,GAAsB,IAAI,CAAC;QACxC,eAAU,GAA6B,IAAI,CAAC;QAC5C,eAAU,GAAc,IAAI,CAAC;QAC7B,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAY,IAAI,CAAC;QAkG7B,aAAQ,GAAW,CAAC,CAAC;QAxF3B,IAAI,KAAK,GAAG,aAAa,CAAC;QAC1B,IAAI,aAAa,IAAI,CAAC,CAAC,aAAa,YAAY,OAAO,CAAC,EAAE;YACxD,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;YAChC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YAClC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,OAAO,GAAG,oDAAoD,CAAC;gBACrE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;QAED,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEhB,IAAI,CAAC,OAAO,GAAG,KAAgB,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IA1ED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAsEa,sBAAsB;;YAClC,IAAI;gBACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC;gBAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC;gBACjD,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC;gBAC1E,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC;gBAC7E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aACnE;QACH,CAAC;KAAA;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;YAE5D,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,KAAK;gCACvB,YAAY,2BAA2B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;aACrF;YAED,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,KAAK,qBAAqB,YAAY,EAAE,CAAC,CAAC;aAChI;YAED,IAAI,IAAI,CAAC,MAAM,GAAG,aAAa,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM;gCACzB,aAAa,2BAA2B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;aACtF;YAED,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,kEAAkE,IAAI,CAAC,MAAM,sBAAsB,aAAa,EAAE,CAAC,CAAC;aACrI;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;IAEO,aAAa;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;QAE5D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,SAAS,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAClB,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,EAC9B,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,EAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,EAClC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,EACpC,CAAC,EACD,CAAC,EACD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;IAGD;;OAEG;IACI,OAAO,CAAC,KAAa;QAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,SAAS;QACd,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,MAAM;QACX,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,KAAY;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAY;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,SAAiB,GAAG;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAiB,GAAG;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,SAAiB,GAAG;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,SAAiB,GAAG;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,MAA4B;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,uFAAuF;QACvF,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAaM,YAAY,CAAC,KAAU;QAC5B,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,aAAa,GAAG,KAAK,CAAC;SACvB;aAAM;YACL,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC7C;QAED,eAAe;QACf,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC7D,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAEtC,uFAAuF;QACvF,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE9E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBACnC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;qBACpD;iBACF;aACF;YACD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACrD;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,KAAK;QACV,aAAa;IACf,CAAC;IAEM,SAAS,CAAC,GAA6B,EAAE,CAAS,EAAE,CAAS;QAClE,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/C,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAcM,IAAI,CAAC,YAAoD,EAAE,CAAU,EAAE,CAAU;QACtF,IAAI,YAAY,YAAY,wBAAwB,EAAE;YACpD,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SACrC;IACH,CAAC;IAEO,gBAAgB,CAAC,OAAoB;;QAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,mCACtG,OAAO,KACV,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC,QAAQ,EAC3C,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,CAAC,KAAK,EAC1C,UAAU,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,EAC7C,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,IAAI,CAAC,cAAc,EAC7D,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI,CAAC,YAAY,EACvD,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAI,CAAC,MAAM,EACrC,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAI,CAAC,MAAM,EACrC,OAAO,EAAE,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,GACvD,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QACD,iCAAiC;QACjC,MAAM,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5C,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,gCAAgC;QAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpB,uCAAuC;QACvC,6FAA6F;QAC7F,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,wEAAwE;YACxE,mDAAmD;YACnD,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;SACnC;QAED,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrB,iGAAiG;QACjG,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,cAAc,EAAE;YAClB,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAClB;QAED,IAAI,YAAY,EAAE;YAChB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC;QACjC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;QAC1B,wCAAwC;QACxC,GAAG,CAAC,SAAS,CACX,IAAI,CAAC,aAAa,EAClB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EAAE,SAAS;QACtB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ,CAAC,CAAC,OAAO;QACV,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC3B,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK;QACV,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC5C,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAExC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAiBD;;;;GAIG;AAKH,IAAa,MAAM,GAAnB,MAAa,MAAO,SAAQ,YAAY,CAAC,UAAU,CAAC;IAGlD,YAAY,aAAmC,EAAE,CAAU,EAAE,CAAU,EAAE,KAAc,EAAE,MAAe;QACtG,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AANY,MAAM;IAJlB,QAAQ,CAAC;QACR,OAAO,EAAE,kDAAkD;QAC3D,eAAe,EAAE,uBAAuB;KACzC,CAAC;GACW,MAAM,CAMlB;SANY,MAAM"}
1
+ {"version":3,"file":"Sprite.js","sourceRoot":"","sources":["../../../src/engine/Drawing/Sprite.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { Resource } from '../Resources/Resource';
11
2
  import { Sprite } from './Sprite';
12
3
  /**
@@ -43,35 +34,33 @@ export class Texture {
43
34
  /**
44
35
  * Begins loading the texture and returns a promise to be resolved on completion
45
36
  */
46
- load() {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- try {
49
- // Load base64 or blob if needed
50
- let url;
51
- if (!this.path.includes('data:image/')) {
52
- const blob = yield this._resource.load();
53
- url = URL.createObjectURL(blob);
54
- }
55
- else {
56
- url = this.path;
57
- }
58
- // Decode the image
59
- const image = new Image();
60
- image.src = url;
61
- yield image.decode();
62
- // Set results
63
- this.data = image;
64
- this.width = this._sprite.width = image.naturalWidth;
65
- this.height = this._sprite.height = image.naturalHeight;
66
- this._sprite = new Sprite(this, 0, 0, this.width, this.height);
37
+ async load() {
38
+ try {
39
+ // Load base64 or blob if needed
40
+ let url;
41
+ if (!this.path.includes('data:image/')) {
42
+ const blob = await this._resource.load();
43
+ url = URL.createObjectURL(blob);
67
44
  }
68
- catch (_a) {
69
- yield Promise.reject('Error loading texture');
45
+ else {
46
+ url = this.path;
70
47
  }
71
- // todo emit complete
72
- this._loadedResolve(this.data);
73
- return this.data;
74
- });
48
+ // Decode the image
49
+ const image = new Image();
50
+ image.src = url;
51
+ await image.decode();
52
+ // Set results
53
+ this.data = image;
54
+ this.width = this._sprite.width = image.naturalWidth;
55
+ this.height = this._sprite.height = image.naturalHeight;
56
+ this._sprite = new Sprite(this, 0, 0, this.width, this.height);
57
+ }
58
+ catch (_a) {
59
+ await Promise.reject('Error loading texture');
60
+ }
61
+ // todo emit complete
62
+ this._loadedResolve(this.data);
63
+ return this.data;
75
64
  }
76
65
  asSprite() {
77
66
  return this._sprite;
@@ -1 +1 @@
1
- {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../src/engine/Drawing/Texture.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;GAKG;AACH,MAAM,OAAO,OAAO;IA2BlB;;;OAGG;IACH,YAAmB,IAAY,EAAS,YAAY,IAAI;QAArC,SAAI,GAAJ,IAAI,CAAQ;QAAS,cAAS,GAAT,SAAS,CAAO;QAnBhD,YAAO,GAAW,IAAI,CAAC;QAWxB,WAAM,GAAG,IAAI,OAAO,CAAmB,OAAO,CAAC,EAAE;YACtD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;QAOD,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAhBD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAgBD;;;OAGG;IACI,QAAQ;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACU,IAAI;;YACf,IAAI;gBACF,gCAAgC;gBAChC,IAAI,GAAW,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACzC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;iBACjC;qBAAM;oBACL,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;iBACjB;gBAED,mBAAmB;gBACnB,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;gBAChB,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;gBAErB,cAAc;gBACd,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;gBACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;gBACxD,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAChE;YAAC,WAAM;gBACN,MAAM,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;aAC/C;YACD,qBAAqB;YACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KAAA;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../src/engine/Drawing/Texture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;GAKG;AACH,MAAM,OAAO,OAAO;IA2BlB;;;OAGG;IACH,YAAmB,IAAY,EAAS,YAAY,IAAI;QAArC,SAAI,GAAJ,IAAI,CAAQ;QAAS,cAAS,GAAT,SAAS,CAAO;QAnBhD,YAAO,GAAW,IAAI,CAAC;QAWxB,WAAM,GAAG,IAAI,OAAO,CAAmB,OAAO,CAAC,EAAE;YACtD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;QAOD,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAhBD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAgBD;;;OAGG;IACI,QAAQ;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI;QACf,IAAI;YACF,gCAAgC;YAChC,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aACjC;iBAAM;gBACL,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;aACjB;YAED,mBAAmB;YACnB,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YAChB,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;YAErB,cAAc;YACd,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;YACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;YACxD,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SAChE;QAAC,WAAM;YACN,MAAM,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;SAC/C;QACD,qBAAqB;QACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -18,6 +18,7 @@ import * as Input from './Input/Index';
18
18
  import * as Events from './Events';
19
19
  import { BrowserEvents } from './Util/Browser';
20
20
  import { ExcaliburGraphicsContext } from './Graphics';
21
+ import { Clock } from './Util/Clock';
21
22
  /**
22
23
  * Enum representing the different mousewheel event bubble prevention
23
24
  */
@@ -124,6 +125,13 @@ export interface EngineOptions {
124
125
  * Optionally set the background color
125
126
  */
126
127
  backgroundColor?: Color;
128
+ /**
129
+ * Optionally set the maximum fps if not set Excalibur will go as fast as the device allows.
130
+ *
131
+ * You may want to constrain max fps if your game cannot maintain fps consistenly, it can look and feel better to have a 30fps game than
132
+ * one that bounces between 30fps and 60fps
133
+ */
134
+ maxFps?: number;
127
135
  }
128
136
  /**
129
137
  * The Excalibur Engine
@@ -154,6 +162,17 @@ export declare class Engine extends Class implements CanInitialize, CanUpdate, C
154
162
  * Direct access to the canvas element ID, if an ID exists
155
163
  */
156
164
  canvasElementId: string;
165
+ /**
166
+ * Optionally set the maximum fps if not set Excalibur will go as fast as the device allows.
167
+ *
168
+ * You may want to constrain max fps if your game cannot maintain fps consistenly, it can look and feel better to have a 30fps game than
169
+ * one that bounces between 30fps and 60fps
170
+ */
171
+ maxFps: number;
172
+ /**
173
+ * Direct access to the excalibur clock
174
+ */
175
+ clock: Clock;
157
176
  /**
158
177
  * The width of the game canvas in pixels (physical width component of the
159
178
  * resolution of the canvas element)
@@ -276,7 +295,6 @@ export declare class Engine extends Class implements CanInitialize, CanUpdate, C
276
295
  private _compatible;
277
296
  private _timescale;
278
297
  private _loader;
279
- private _isLoading;
280
298
  private _isInitialized;
281
299
  private _deferredGoTo;
282
300
  on(eventName: Events.initialize, handler: (event: Events.InitializeEvent<Engine>) => void): void;
@@ -555,13 +573,28 @@ export declare class Engine extends Class implements CanInitialize, CanUpdate, C
555
573
  * Returns true when loading is totally complete and the player has clicked start
556
574
  */
557
575
  get loadingComplete(): boolean;
576
+ private _isReady;
577
+ get ready(): boolean;
578
+ private _isReadyResolve;
579
+ private _isReadyPromise;
580
+ isReady(): Promise<void>;
558
581
  /**
559
582
  * Starts the internal game loop for Excalibur after loading
560
583
  * any provided assets.
561
584
  * @param loader Optional [[Loader]] to use to load resources. The default loader is [[Loader]], override to provide your own
562
585
  * custom loader.
586
+ *
587
+ * Note: start() only resolves AFTER the user has clicked the play button
563
588
  */
564
589
  start(loader?: Loader): Promise<void>;
590
+ private _mainloop;
591
+ /**
592
+ *
593
+ * @param game
594
+ * @param raf
595
+ * @param nowFn
596
+ * @deprecated Use [[Clock]] to run the mainloop, will be removed in v0.26.0
597
+ */
565
598
  static createMainLoop(game: Engine, raf: (func: Function) => number, nowFn: () => number): () => void;
566
599
  /**
567
600
  * Stops Excalibur's main loop, useful for pausing the game.
@@ -23,6 +23,8 @@ import { BrowserEvents } from './Util/Browser';
23
23
  import { obsolete } from './Util/Decorators';
24
24
  import { ExcaliburGraphicsContext2DCanvas, ExcaliburGraphicsContextWebGL } from './Graphics';
25
25
  import { PointerEventReceiver } from './Input/PointerEventReceiver';
26
+ import { FpsSampler } from './Util/Fps';
27
+ import { StandardClock } from './Util/Clock';
26
28
  /**
27
29
  * Enum representing the different mousewheel event bubble prevention
28
30
  */
@@ -74,8 +76,15 @@ export class Engine extends Class {
74
76
  * ```
75
77
  */
76
78
  constructor(options) {
77
- var _a, _b, _c;
79
+ var _a, _b, _c, _d;
78
80
  super();
81
+ /**
82
+ * Optionally set the maximum fps if not set Excalibur will go as fast as the device allows.
83
+ *
84
+ * You may want to constrain max fps if your game cannot maintain fps consistenly, it can look and feel better to have a 30fps game than
85
+ * one that bounces between 30fps and 60fps
86
+ */
87
+ this.maxFps = Number.POSITIVE_INFINITY;
79
88
  this._hasStarted = false;
80
89
  /**
81
90
  * Gets or sets the list of post processors to apply at the end of drawing a frame (such as [[ColorBlindCorrector]])
@@ -111,11 +120,14 @@ export class Engine extends Class {
111
120
  Logger.getInstance().fatal(e);
112
121
  };
113
122
  this._timescale = 1.0;
114
- this._isLoading = false;
115
123
  this._isInitialized = false;
116
124
  this._deferredGoTo = null;
117
125
  this._loadingComplete = false;
118
- options = Object.assign(Object.assign({}, Engine._DEFAULT_ENGINE_OPTIONS), options);
126
+ this._isReady = false;
127
+ this._isReadyPromise = new Promise(resolve => {
128
+ this._isReadyResolve = resolve;
129
+ });
130
+ options = { ...Engine._DEFAULT_ENGINE_OPTIONS, ...options };
119
131
  Flags.freeze();
120
132
  // Initialize browser events facade
121
133
  this.browser = new BrowserEvents(window, document);
@@ -224,6 +236,12 @@ O|===|* >________________>\n\
224
236
  if (options.backgroundColor) {
225
237
  this.backgroundColor = options.backgroundColor.clone();
226
238
  }
239
+ this.maxFps = (_d = options.maxFps) !== null && _d !== void 0 ? _d : this.maxFps;
240
+ this.clock = new StandardClock({
241
+ maxFps: this.maxFps,
242
+ tick: this._mainloop.bind(this),
243
+ onFatalException: (e) => this.onFatalException(e)
244
+ });
227
245
  this.enableCanvasTransparency = options.enableCanvasTransparency;
228
246
  this._loader = new Loader();
229
247
  this.debug = new Debug(this);
@@ -577,7 +595,7 @@ O|===|* >________________>\n\
577
595
  * @param delta Number of milliseconds elapsed since the last update.
578
596
  */
579
597
  _update(delta) {
580
- if (this._isLoading) {
598
+ if (!this.ready) {
581
599
  // suspend updates until loading is finished
582
600
  this._loader.update(this, delta);
583
601
  // Update input listeners
@@ -585,7 +603,6 @@ O|===|* >________________>\n\
585
603
  this.input.gamepads.update();
586
604
  return;
587
605
  }
588
- this._overrideInitialize(this);
589
606
  // Publish preupdate events
590
607
  this._preupdate(delta);
591
608
  // process engine level events
@@ -628,10 +645,10 @@ O|===|* >________________>\n\
628
645
  _draw(delta) {
629
646
  const ctx = this.ctx;
630
647
  this._predraw(ctx, delta);
631
- if (this._isLoading) {
648
+ // Drawing nothing else while loading
649
+ if (!this._isReady) {
632
650
  this._loader.canvas.draw(this.graphicsContext, 0, 0);
633
651
  this.graphicsContext.flush();
634
- // Drawing nothing else while loading
635
652
  return;
636
653
  }
637
654
  // TODO move to graphics systems?
@@ -700,64 +717,105 @@ O|===|* >________________>\n\
700
717
  get loadingComplete() {
701
718
  return this._loadingComplete;
702
719
  }
720
+ get ready() {
721
+ return this._isReady;
722
+ }
723
+ isReady() {
724
+ return this._isReadyPromise;
725
+ }
703
726
  /**
704
727
  * Starts the internal game loop for Excalibur after loading
705
728
  * any provided assets.
706
729
  * @param loader Optional [[Loader]] to use to load resources. The default loader is [[Loader]], override to provide your own
707
730
  * custom loader.
731
+ *
732
+ * Note: start() only resolves AFTER the user has clicked the play button
708
733
  */
709
- start(loader) {
734
+ async start(loader) {
710
735
  if (!this._compatible) {
711
- return Promise.reject('Excalibur is incompatible with your browser');
712
- }
713
- let loadingComplete;
714
- // Push the current user entered resolution/viewport
715
- this.screen.pushResolutionAndViewport();
716
- // Configure resolution for loader
717
- this.screen.resolution = this.screen.viewport;
718
- this.screen.applyResolutionAndViewport();
719
- this.graphicsContext.updateViewport();
736
+ throw new Error('Excalibur is incompatible with your browser');
737
+ }
738
+ // Wire loader if we have it
720
739
  if (loader) {
740
+ // Push the current user entered resolution/viewport
741
+ this.screen.pushResolutionAndViewport();
742
+ // Configure resolution for loader, it expects resolution === viewport
743
+ this.screen.resolution = this.screen.viewport;
744
+ this.screen.applyResolutionAndViewport();
745
+ this.graphicsContext.updateViewport();
721
746
  this._loader = loader;
722
747
  this._loader.suppressPlayButton = this._suppressPlayButton || this._loader.suppressPlayButton;
723
748
  this._loader.wireEngine(this);
724
- loadingComplete = this.load(this._loader);
725
749
  }
726
- else {
727
- loadingComplete = Promise.resolve();
728
- }
729
- loadingComplete.then(() => {
750
+ // Start the excalibur clock which drives the mainloop
751
+ // has started is a slight misnomer, it's really mainloop started
752
+ this._logger.debug('Starting game clock...');
753
+ this.browser.resume();
754
+ this.clock.start();
755
+ this._logger.debug('Game clock started');
756
+ if (loader) {
757
+ await this.load(this._loader);
758
+ this._loadingComplete = true;
759
+ // reset back to previous user resolution/viewport
730
760
  this.screen.popResolutionAndViewport();
731
761
  this.screen.applyResolutionAndViewport();
732
762
  this.graphicsContext.updateViewport();
733
- this.emit('start', new GameStartEvent(this));
734
- this._loadingComplete = true;
735
- });
736
- if (!this._hasStarted) {
737
- // has started is a slight misnomer, it's really mainloop started
738
- this._hasStarted = true;
739
- this._logger.debug('Starting game...');
740
- this.browser.resume();
741
- Engine.createMainLoop(this, window.requestAnimationFrame, Date.now)();
742
- this._logger.debug('Game started');
743
763
  }
744
- else {
745
- // Game already started;
746
- }
747
- return loadingComplete;
764
+ this._loadingComplete = true;
765
+ // Initialize before ready
766
+ this._overrideInitialize(this);
767
+ this._isReady = true;
768
+ this._isReadyResolve();
769
+ this.emit('start', new GameStartEvent(this));
770
+ return this._isReadyPromise;
771
+ }
772
+ _mainloop(elapsed) {
773
+ this.emit('preframe', new PreFrameEvent(this, this.stats.prevFrame));
774
+ const delta = elapsed * this.timescale;
775
+ // reset frame stats (reuse existing instances)
776
+ const frameId = this.stats.prevFrame.id + 1;
777
+ this.stats.currFrame.reset();
778
+ this.stats.currFrame.id = frameId;
779
+ this.stats.currFrame.delta = delta;
780
+ this.stats.currFrame.fps = this.clock.fpsSampler.fps;
781
+ const beforeUpdate = this.clock.now();
782
+ this._update(delta);
783
+ const afterUpdate = this.clock.now();
784
+ this._draw(delta);
785
+ const afterDraw = this.clock.now();
786
+ this.stats.currFrame.duration.update = afterUpdate - beforeUpdate;
787
+ this.stats.currFrame.duration.draw = afterDraw - afterUpdate;
788
+ this.emit('postframe', new PostFrameEvent(this, this.stats.currFrame));
748
789
  }
790
+ /**
791
+ *
792
+ * @param game
793
+ * @param raf
794
+ * @param nowFn
795
+ * @deprecated Use [[Clock]] to run the mainloop, will be removed in v0.26.0
796
+ */
749
797
  static createMainLoop(game, raf, nowFn) {
750
798
  let lastTime = nowFn();
799
+ const fpsSampler = new FpsSampler({
800
+ nowFn,
801
+ initialFps: game.maxFps === Infinity ? 60 : game.maxFps
802
+ });
751
803
  return function mainloop() {
752
804
  if (!game._hasStarted) {
753
805
  return;
754
806
  }
755
807
  try {
756
808
  game._requestId = raf(mainloop);
809
+ fpsSampler.start();
757
810
  game.emit('preframe', new PreFrameEvent(game, game.stats.prevFrame));
758
811
  // Get the time to calculate time-elapsed
759
812
  const now = nowFn();
760
- let elapsed = Math.floor(now - lastTime) || 1;
813
+ let elapsed = now - lastTime || 1; // first frame
814
+ // Constrain fps
815
+ const fpsInterval = game.maxFps === Number.POSITIVE_INFINITY ? 0 : 1000 / game.maxFps;
816
+ if (elapsed <= fpsInterval) {
817
+ return; // too fast 😎 skip this frame
818
+ }
761
819
  // Resolves issue #138 if the game has been paused, or blurred for
762
820
  // more than a 200 milliseconds, reset elapsed time to 1. This improves reliability
763
821
  // and provides more expected behavior when the engine comes back
@@ -771,7 +829,7 @@ O|===|* >________________>\n\
771
829
  game.stats.currFrame.reset();
772
830
  game.stats.currFrame.id = frameId;
773
831
  game.stats.currFrame.delta = delta;
774
- game.stats.currFrame.fps = 1.0 / (delta / 1000);
832
+ game.stats.currFrame.fps = fpsSampler.fps;
775
833
  const beforeUpdate = nowFn();
776
834
  game._update(delta);
777
835
  const afterUpdate = nowFn();
@@ -779,8 +837,15 @@ O|===|* >________________>\n\
779
837
  const afterDraw = nowFn();
780
838
  game.stats.currFrame.duration.update = afterUpdate - beforeUpdate;
781
839
  game.stats.currFrame.duration.draw = afterDraw - afterUpdate;
782
- lastTime = now;
840
+ // if fps interval is not a multple
841
+ if (fpsInterval > 0) {
842
+ lastTime = now - (elapsed % fpsInterval);
843
+ }
844
+ else {
845
+ lastTime = now;
846
+ }
783
847
  game.emit('postframe', new PostFrameEvent(game, game.stats.currFrame));
848
+ fpsSampler.end();
784
849
  game.stats.prevFrame.reset(game.stats.currFrame);
785
850
  }
786
851
  catch (e) {
@@ -794,10 +859,10 @@ O|===|* >________________>\n\
794
859
  * Stops Excalibur's main loop, useful for pausing the game.
795
860
  */
796
861
  stop() {
797
- if (this._hasStarted) {
862
+ if (this.clock.isRunning()) {
798
863
  this.emit('stop', new GameStopEvent(this));
799
864
  this.browser.pause();
800
- this._hasStarted = false;
865
+ this.clock.stop();
801
866
  this._logger.debug('Game stopped');
802
867
  }
803
868
  }
@@ -805,7 +870,7 @@ O|===|* >________________>\n\
805
870
  * Returns the Engine's Running status, Useful for checking whether engine is running or paused.
806
871
  */
807
872
  isPaused() {
808
- return !this._hasStarted;
873
+ return !this.clock.isRunning();
809
874
  }
810
875
  /**
811
876
  * Takes a screen shot of the current viewport and returns it as an
@@ -823,24 +888,13 @@ O|===|* >________________>\n\
823
888
  * will appear.
824
889
  * @param loader Some [[Loadable]] such as a [[Loader]] collection, [[Sound]], or [[Texture]].
825
890
  */
826
- load(loader) {
827
- const complete = new Promise((resolve) => {
828
- this._isLoading = true;
829
- loader.load().then(() => {
830
- if (this._suppressPlayButton) {
831
- setTimeout(() => {
832
- this._isLoading = false;
833
- resolve();
834
- // Delay is to give the logo a chance to show, otherwise don't delay
835
- }, 500);
836
- }
837
- else {
838
- this._isLoading = false;
839
- resolve();
840
- }
841
- });
842
- });
843
- return complete;
891
+ async load(loader) {
892
+ try {
893
+ await loader.load();
894
+ }
895
+ catch (_a) {
896
+ await Promise.resolve();
897
+ }
844
898
  }
845
899
  }
846
900
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,12 @@ export declare class SystemManager<ContextType> {
34
34
  * @param system
35
35
  */
36
36
  removeSystem(system: System<any, ContextType>): void;
37
+ /**
38
+ * Initialize all systems in the manager
39
+ *
40
+ * Systems added after initialize() will be initialized on add
41
+ */
42
+ initialize(): void;
37
43
  /**
38
44
  * Updates all systems
39
45
  * @param type whether this is an update or draw system