excalibur 0.25.2 → 0.25.3

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 (446) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/build/dist/Actions/Action/Blink.js +51 -0
  3. package/build/dist/Actions/Action/Blink.js.map +1 -0
  4. package/build/dist/Actions/Action/CallMethod.js +21 -0
  5. package/build/dist/Actions/Action/CallMethod.js.map +1 -0
  6. package/build/dist/Actions/Action/Delay.js +25 -0
  7. package/build/dist/Actions/Action/Delay.js.map +1 -0
  8. package/build/dist/Actions/Action/Die.js +22 -0
  9. package/build/dist/Actions/Action/Die.js.map +1 -0
  10. package/build/dist/Actions/Action/EaseTo.js +69 -0
  11. package/build/dist/Actions/Action/EaseTo.js.map +1 -0
  12. package/build/dist/Actions/Action/Fade.js +46 -0
  13. package/build/dist/Actions/Action/Fade.js.map +1 -0
  14. package/build/dist/Actions/Action/Follow.js +55 -0
  15. package/build/dist/Actions/Action/Follow.js.map +1 -0
  16. package/build/dist/Actions/Action/Meet.js +52 -0
  17. package/build/dist/Actions/Action/Meet.js.map +1 -0
  18. package/build/dist/Actions/Action/MoveBy.js +47 -0
  19. package/build/dist/Actions/Action/MoveBy.js.map +1 -0
  20. package/build/dist/Actions/Action/MoveTo.js +40 -0
  21. package/build/dist/Actions/Action/MoveTo.js.map +1 -0
  22. package/build/dist/Actions/Action/Repeat.js +31 -0
  23. package/build/dist/Actions/Action/Repeat.js.map +1 -0
  24. package/build/dist/Actions/Action/RepeatForever.js +37 -0
  25. package/build/dist/Actions/Action/RepeatForever.js.map +1 -0
  26. package/build/dist/Actions/Action/RotateBy.js +91 -0
  27. package/build/dist/Actions/Action/RotateBy.js.map +1 -0
  28. package/build/dist/Actions/Action/RotateTo.js +90 -0
  29. package/build/dist/Actions/Action/RotateTo.js.map +1 -0
  30. package/build/dist/Actions/Action/ScaleBy.js +45 -0
  31. package/build/dist/Actions/Action/ScaleBy.js.map +1 -0
  32. package/build/dist/Actions/Action/ScaleTo.js +56 -0
  33. package/build/dist/Actions/Action/ScaleTo.js.map +1 -0
  34. package/build/dist/Actions/Action.js +2 -0
  35. package/build/dist/Actions/Action.js.map +1 -0
  36. package/build/dist/Actions/ActionContext.js +305 -0
  37. package/build/dist/Actions/ActionContext.js.map +1 -0
  38. package/build/dist/Actions/ActionQueue.js +87 -0
  39. package/build/dist/Actions/ActionQueue.js.map +1 -0
  40. package/build/dist/Actions/Actionable.js +2 -0
  41. package/build/dist/Actions/Actionable.js.map +1 -0
  42. package/build/dist/Actions/ActionsComponent.js +198 -0
  43. package/build/dist/Actions/ActionsComponent.js.map +1 -0
  44. package/build/dist/Actions/ActionsSystem.js +18 -0
  45. package/build/dist/Actions/ActionsSystem.js.map +1 -0
  46. package/build/dist/Actions/Index.js +22 -0
  47. package/build/dist/Actions/Index.js.map +1 -0
  48. package/build/dist/Actions/RotationType.js +27 -0
  49. package/build/dist/Actions/RotationType.js.map +1 -0
  50. package/build/dist/Actor.js +831 -0
  51. package/build/dist/Actor.js.map +1 -0
  52. package/build/dist/Camera.js +663 -0
  53. package/build/dist/Camera.js.map +1 -0
  54. package/build/dist/Class.js +48 -0
  55. package/build/dist/Class.js.map +1 -0
  56. package/build/dist/Collision/BodyComponent.js +351 -0
  57. package/build/dist/Collision/BodyComponent.js.map +1 -0
  58. package/build/dist/Collision/BoundingBox.js +361 -0
  59. package/build/dist/Collision/BoundingBox.js.map +1 -0
  60. package/build/dist/Collision/ColliderComponent.js +198 -0
  61. package/build/dist/Collision/ColliderComponent.js.map +1 -0
  62. package/build/dist/Collision/Colliders/CircleCollider.js +264 -0
  63. package/build/dist/Collision/Colliders/CircleCollider.js.map +1 -0
  64. package/build/dist/Collision/Colliders/ClosestLineJumpTable.js +211 -0
  65. package/build/dist/Collision/Colliders/ClosestLineJumpTable.js.map +1 -0
  66. package/build/dist/Collision/Colliders/Collider.js +26 -0
  67. package/build/dist/Collision/Colliders/Collider.js.map +1 -0
  68. package/build/dist/Collision/Colliders/CollisionJumpTable.js +301 -0
  69. package/build/dist/Collision/Colliders/CollisionJumpTable.js.map +1 -0
  70. package/build/dist/Collision/Colliders/CompositeCollider.js +232 -0
  71. package/build/dist/Collision/Colliders/CompositeCollider.js.map +1 -0
  72. package/build/dist/Collision/Colliders/EdgeCollider.js +253 -0
  73. package/build/dist/Collision/Colliders/EdgeCollider.js.map +1 -0
  74. package/build/dist/Collision/Colliders/PolygonCollider.js +389 -0
  75. package/build/dist/Collision/Colliders/PolygonCollider.js.map +1 -0
  76. package/build/dist/Collision/Colliders/SeparatingAxis.js +67 -0
  77. package/build/dist/Collision/Colliders/SeparatingAxis.js.map +1 -0
  78. package/build/dist/Collision/Colliders/Shape.js +102 -0
  79. package/build/dist/Collision/Colliders/Shape.js.map +1 -0
  80. package/build/dist/Collision/CollisionSystem.js +116 -0
  81. package/build/dist/Collision/CollisionSystem.js.map +1 -0
  82. package/build/dist/Collision/CollisionType.js +33 -0
  83. package/build/dist/Collision/CollisionType.js.map +1 -0
  84. package/build/dist/Collision/Detection/CollisionContact.js +46 -0
  85. package/build/dist/Collision/Detection/CollisionContact.js.map +1 -0
  86. package/build/dist/Collision/Detection/CollisionProcessor.js +2 -0
  87. package/build/dist/Collision/Detection/CollisionProcessor.js.map +1 -0
  88. package/build/dist/Collision/Detection/DynamicTree.js +442 -0
  89. package/build/dist/Collision/Detection/DynamicTree.js.map +1 -0
  90. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js +211 -0
  91. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js.map +1 -0
  92. package/build/dist/Collision/Detection/Pair.js +92 -0
  93. package/build/dist/Collision/Detection/Pair.js.map +1 -0
  94. package/build/dist/Collision/Group/CollisionGroup.js +114 -0
  95. package/build/dist/Collision/Group/CollisionGroup.js.map +1 -0
  96. package/build/dist/Collision/Group/CollisionGroupManager.js +52 -0
  97. package/build/dist/Collision/Group/CollisionGroupManager.js.map +1 -0
  98. package/build/dist/Collision/Index.js +29 -0
  99. package/build/dist/Collision/Index.js.map +1 -0
  100. package/build/dist/Collision/Integrator.js +11 -0
  101. package/build/dist/Collision/Integrator.js.map +1 -0
  102. package/build/dist/Collision/MotionSystem.js +42 -0
  103. package/build/dist/Collision/MotionSystem.js.map +1 -0
  104. package/build/dist/Collision/Physics.js +163 -0
  105. package/build/dist/Collision/Physics.js.map +1 -0
  106. package/build/dist/Collision/Side.js +51 -0
  107. package/build/dist/Collision/Side.js.map +1 -0
  108. package/build/dist/Collision/Solver/ArcadeSolver.js +101 -0
  109. package/build/dist/Collision/Solver/ArcadeSolver.js.map +1 -0
  110. package/build/dist/Collision/Solver/ContactConstraintPoint.js +83 -0
  111. package/build/dist/Collision/Solver/ContactConstraintPoint.js.map +1 -0
  112. package/build/dist/Collision/Solver/RealisticSolver.js +248 -0
  113. package/build/dist/Collision/Solver/RealisticSolver.js.map +1 -0
  114. package/build/dist/Collision/Solver/Solver.js +37 -0
  115. package/build/dist/Collision/Solver/Solver.js.map +1 -0
  116. package/build/dist/Color.js +461 -0
  117. package/build/dist/Color.js.map +1 -0
  118. package/build/dist/Configurable.js +32 -0
  119. package/build/dist/Configurable.js.map +1 -0
  120. package/build/dist/Debug/Debug.js +375 -0
  121. package/build/dist/Debug/Debug.js.map +1 -0
  122. package/build/dist/Debug/DebugFlags.js +40 -0
  123. package/build/dist/Debug/DebugFlags.js.map +1 -0
  124. package/build/dist/Debug/DebugSystem.js +251 -0
  125. package/build/dist/Debug/DebugSystem.js.map +1 -0
  126. package/build/dist/Debug/index.js +4 -0
  127. package/build/dist/Debug/index.js.map +1 -0
  128. package/build/dist/Deprecated.js +2 -0
  129. package/build/dist/Deprecated.js.map +1 -0
  130. package/build/dist/Drawing/Animation.js +294 -0
  131. package/build/dist/Drawing/Animation.js.map +1 -0
  132. package/build/dist/Drawing/CanvasDrawComponent.js +16 -0
  133. package/build/dist/Drawing/CanvasDrawComponent.js.map +1 -0
  134. package/build/dist/Drawing/CanvasDrawingSystem.js +95 -0
  135. package/build/dist/Drawing/CanvasDrawingSystem.js.map +1 -0
  136. package/build/dist/Drawing/Index.js +10 -0
  137. package/build/dist/Drawing/Index.js.map +1 -0
  138. package/build/dist/Drawing/Polygon.js +139 -0
  139. package/build/dist/Drawing/Polygon.js.map +1 -0
  140. package/build/dist/Drawing/Sprite.js +355 -0
  141. package/build/dist/Drawing/Sprite.js.map +1 -0
  142. package/build/dist/Drawing/SpriteEffects.js +246 -0
  143. package/build/dist/Drawing/SpriteEffects.js.map +1 -0
  144. package/build/dist/Drawing/SpriteSheet.js +413 -0
  145. package/build/dist/Drawing/SpriteSheet.js.map +1 -0
  146. package/build/dist/Drawing/Texture.js +69 -0
  147. package/build/dist/Drawing/Texture.js.map +1 -0
  148. package/build/dist/Engine.d.ts +4 -1
  149. package/build/dist/Engine.js +985 -0
  150. package/build/dist/Engine.js.map +1 -0
  151. package/build/dist/EntityComponentSystem/Component.js +65 -0
  152. package/build/dist/EntityComponentSystem/Component.js.map +1 -0
  153. package/build/dist/EntityComponentSystem/Components/MotionComponent.js +33 -0
  154. package/build/dist/EntityComponentSystem/Components/MotionComponent.js.map +1 -0
  155. package/build/dist/EntityComponentSystem/Components/TransformComponent.js +249 -0
  156. package/build/dist/EntityComponentSystem/Components/TransformComponent.js.map +1 -0
  157. package/build/dist/EntityComponentSystem/Entity.js +452 -0
  158. package/build/dist/EntityComponentSystem/Entity.js.map +1 -0
  159. package/build/dist/EntityComponentSystem/EntityManager.js +128 -0
  160. package/build/dist/EntityComponentSystem/EntityManager.js.map +1 -0
  161. package/build/dist/EntityComponentSystem/Query.js +91 -0
  162. package/build/dist/EntityComponentSystem/Query.js.map +1 -0
  163. package/build/dist/EntityComponentSystem/QueryManager.js +90 -0
  164. package/build/dist/EntityComponentSystem/QueryManager.js.map +1 -0
  165. package/build/dist/EntityComponentSystem/System.js +76 -0
  166. package/build/dist/EntityComponentSystem/System.js.map +1 -0
  167. package/build/dist/EntityComponentSystem/SystemManager.js +102 -0
  168. package/build/dist/EntityComponentSystem/SystemManager.js.map +1 -0
  169. package/build/dist/EntityComponentSystem/Util.js +5 -0
  170. package/build/dist/EntityComponentSystem/Util.js.map +1 -0
  171. package/build/dist/EntityComponentSystem/World.js +55 -0
  172. package/build/dist/EntityComponentSystem/World.js.map +1 -0
  173. package/build/dist/EntityComponentSystem/index.js +11 -0
  174. package/build/dist/EntityComponentSystem/index.js.map +1 -0
  175. package/build/dist/EventDispatcher.js +114 -0
  176. package/build/dist/EventDispatcher.js.map +1 -0
  177. package/build/dist/Events/ExEvent.js +12 -0
  178. package/build/dist/Events/ExEvent.js.map +1 -0
  179. package/build/dist/Events/MediaEvents.js +75 -0
  180. package/build/dist/Events/MediaEvents.js.map +1 -0
  181. package/build/dist/Events/PointerEvents.js +52 -0
  182. package/build/dist/Events/PointerEvents.js.map +1 -0
  183. package/build/dist/Events.js +497 -0
  184. package/build/dist/Events.js.map +1 -0
  185. package/build/dist/Flags.js +90 -0
  186. package/build/dist/Flags.js.map +1 -0
  187. package/build/dist/Graphics/Animation.js +310 -0
  188. package/build/dist/Graphics/Animation.js.map +1 -0
  189. package/build/dist/Graphics/Canvas.js +38 -0
  190. package/build/dist/Graphics/Canvas.js.map +1 -0
  191. package/build/dist/Graphics/Circle.js +47 -0
  192. package/build/dist/Graphics/Circle.js.map +1 -0
  193. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js +2 -0
  194. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js.map +1 -0
  195. package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js +207 -0
  196. package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js.map +1 -0
  197. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js +331 -0
  198. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js.map +1 -0
  199. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.js +160 -0
  200. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.js.map +1 -0
  201. package/build/dist/Graphics/Context/debug-text.js +47 -0
  202. package/build/dist/Graphics/Context/debug-text.js.map +1 -0
  203. package/build/dist/Graphics/Context/image-renderer/image-renderer.js +209 -0
  204. package/build/dist/Graphics/Context/image-renderer/image-renderer.js.map +1 -0
  205. package/build/dist/Graphics/Context/line-renderer/line-renderer.js +87 -0
  206. package/build/dist/Graphics/Context/line-renderer/line-renderer.js.map +1 -0
  207. package/build/dist/Graphics/Context/point-renderer/point-renderer.js +82 -0
  208. package/build/dist/Graphics/Context/point-renderer/point-renderer.js.map +1 -0
  209. package/build/dist/Graphics/Context/quad-index-buffer.js +69 -0
  210. package/build/dist/Graphics/Context/quad-index-buffer.js.map +1 -0
  211. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.js +272 -0
  212. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.js.map +1 -0
  213. package/build/dist/Graphics/Context/render-source.js +16 -0
  214. package/build/dist/Graphics/Context/render-source.js.map +1 -0
  215. package/build/dist/Graphics/Context/render-target.js +65 -0
  216. package/build/dist/Graphics/Context/render-target.js.map +1 -0
  217. package/build/dist/Graphics/Context/renderer.js +2 -0
  218. package/build/dist/Graphics/Context/renderer.js.map +1 -0
  219. package/build/dist/Graphics/Context/screen-pass-painter/screen-pass-painter.js +53 -0
  220. package/build/dist/Graphics/Context/screen-pass-painter/screen-pass-painter.js.map +1 -0
  221. package/build/dist/Graphics/Context/shader.js +236 -0
  222. package/build/dist/Graphics/Context/shader.js.map +1 -0
  223. package/build/dist/Graphics/Context/state-stack.js +27 -0
  224. package/build/dist/Graphics/Context/state-stack.js.map +1 -0
  225. package/build/dist/Graphics/Context/texture-loader.d.ts +8 -0
  226. package/build/dist/Graphics/Context/texture-loader.js +121 -0
  227. package/build/dist/Graphics/Context/texture-loader.js.map +1 -0
  228. package/build/dist/Graphics/Context/transform-stack.js +30 -0
  229. package/build/dist/Graphics/Context/transform-stack.js.map +1 -0
  230. package/build/dist/Graphics/Context/vertex-buffer.js +45 -0
  231. package/build/dist/Graphics/Context/vertex-buffer.js.map +1 -0
  232. package/build/dist/Graphics/Context/vertex-layout.js +93 -0
  233. package/build/dist/Graphics/Context/vertex-layout.js.map +1 -0
  234. package/build/dist/Graphics/Context/webgl-adapter.js +19 -0
  235. package/build/dist/Graphics/Context/webgl-adapter.js.map +1 -0
  236. package/build/dist/Graphics/Context/webgl-util.js +105 -0
  237. package/build/dist/Graphics/Context/webgl-util.js.map +1 -0
  238. package/build/dist/Graphics/DebugGraphicsComponent.js +15 -0
  239. package/build/dist/Graphics/DebugGraphicsComponent.js.map +1 -0
  240. package/build/dist/Graphics/Filtering.js +17 -0
  241. package/build/dist/Graphics/Filtering.js.map +1 -0
  242. package/build/dist/Graphics/Font.js +293 -0
  243. package/build/dist/Graphics/Font.js.map +1 -0
  244. package/build/dist/Graphics/FontCommon.js +109 -0
  245. package/build/dist/Graphics/FontCommon.js.map +1 -0
  246. package/build/dist/Graphics/Graphic.js +200 -0
  247. package/build/dist/Graphics/Graphic.js.map +1 -0
  248. package/build/dist/Graphics/GraphicsComponent.js +290 -0
  249. package/build/dist/Graphics/GraphicsComponent.js.map +1 -0
  250. package/build/dist/Graphics/GraphicsDiagnostics.js +9 -0
  251. package/build/dist/Graphics/GraphicsDiagnostics.js.map +1 -0
  252. package/build/dist/Graphics/GraphicsGroup.js +69 -0
  253. package/build/dist/Graphics/GraphicsGroup.js.map +1 -0
  254. package/build/dist/Graphics/GraphicsSystem.js +153 -0
  255. package/build/dist/Graphics/GraphicsSystem.js.map +1 -0
  256. package/build/dist/Graphics/ImageSource.js +116 -0
  257. package/build/dist/Graphics/ImageSource.js.map +1 -0
  258. package/build/dist/Graphics/Polygon.js +59 -0
  259. package/build/dist/Graphics/Polygon.js.map +1 -0
  260. package/build/dist/Graphics/PostProcessor/ColorBlindnessMode.js +7 -0
  261. package/build/dist/Graphics/PostProcessor/ColorBlindnessMode.js.map +1 -0
  262. package/build/dist/Graphics/PostProcessor/ColorBlindnessPostProcessor.js +52 -0
  263. package/build/dist/Graphics/PostProcessor/ColorBlindnessPostProcessor.js.map +1 -0
  264. package/build/dist/Graphics/PostProcessor/PostProcessor.js +2 -0
  265. package/build/dist/Graphics/PostProcessor/PostProcessor.js.map +1 -0
  266. package/build/dist/Graphics/PostProcessor/ScreenShader.js +56 -0
  267. package/build/dist/Graphics/PostProcessor/ScreenShader.js.map +1 -0
  268. package/build/dist/Graphics/Raster.js +207 -0
  269. package/build/dist/Graphics/Raster.js.map +1 -0
  270. package/build/dist/Graphics/Rectangle.js +29 -0
  271. package/build/dist/Graphics/Rectangle.js.map +1 -0
  272. package/build/dist/Graphics/Sprite.js +103 -0
  273. package/build/dist/Graphics/Sprite.js.map +1 -0
  274. package/build/dist/Graphics/SpriteFont.js +120 -0
  275. package/build/dist/Graphics/SpriteFont.js.map +1 -0
  276. package/build/dist/Graphics/SpriteSheet.js +115 -0
  277. package/build/dist/Graphics/SpriteSheet.js.map +1 -0
  278. package/build/dist/Graphics/Text.js +94 -0
  279. package/build/dist/Graphics/Text.js.map +1 -0
  280. package/build/dist/Graphics/index.js +42 -0
  281. package/build/dist/Graphics/index.js.map +1 -0
  282. package/build/dist/Id.js +8 -0
  283. package/build/dist/Id.js.map +1 -0
  284. package/build/dist/Input/CapturePointerConfig.js +5 -0
  285. package/build/dist/Input/CapturePointerConfig.js.map +1 -0
  286. package/build/dist/Input/EngineInput.js +2 -0
  287. package/build/dist/Input/EngineInput.js.map +1 -0
  288. package/build/dist/Input/Gamepad.js +358 -0
  289. package/build/dist/Input/Gamepad.js.map +1 -0
  290. package/build/dist/Input/Index.js +22 -0
  291. package/build/dist/Input/Index.js.map +1 -0
  292. package/build/dist/Input/Keyboard.js +267 -0
  293. package/build/dist/Input/Keyboard.js.map +1 -0
  294. package/build/dist/Input/NativePointerButton.js +12 -0
  295. package/build/dist/Input/NativePointerButton.js.map +1 -0
  296. package/build/dist/Input/PointerAbstraction.js +41 -0
  297. package/build/dist/Input/PointerAbstraction.js.map +1 -0
  298. package/build/dist/Input/PointerButton.js +12 -0
  299. package/build/dist/Input/PointerButton.js.map +1 -0
  300. package/build/dist/Input/PointerComponent.js +28 -0
  301. package/build/dist/Input/PointerComponent.js.map +1 -0
  302. package/build/dist/Input/PointerEvent.js +25 -0
  303. package/build/dist/Input/PointerEvent.js.map +1 -0
  304. package/build/dist/Input/PointerEventReceiver.js +414 -0
  305. package/build/dist/Input/PointerEventReceiver.js.map +1 -0
  306. package/build/dist/Input/PointerScope.js +16 -0
  307. package/build/dist/Input/PointerScope.js.map +1 -0
  308. package/build/dist/Input/PointerSystem.js +217 -0
  309. package/build/dist/Input/PointerSystem.js.map +1 -0
  310. package/build/dist/Input/PointerType.js +11 -0
  311. package/build/dist/Input/PointerType.js.map +1 -0
  312. package/build/dist/Input/WheelDeltaMode.js +7 -0
  313. package/build/dist/Input/WheelDeltaMode.js.map +1 -0
  314. package/build/dist/Input/WheelEvent.js +21 -0
  315. package/build/dist/Input/WheelEvent.js.map +1 -0
  316. package/build/dist/Interfaces/Audio.js +2 -0
  317. package/build/dist/Interfaces/Audio.js.map +1 -0
  318. package/build/dist/Interfaces/AudioImplementation.js +11 -0
  319. package/build/dist/Interfaces/AudioImplementation.js.map +1 -0
  320. package/build/dist/Interfaces/Clonable.js +2 -0
  321. package/build/dist/Interfaces/Clonable.js.map +1 -0
  322. package/build/dist/Interfaces/Drawable.js +2 -0
  323. package/build/dist/Interfaces/Drawable.js.map +1 -0
  324. package/build/dist/Interfaces/Evented.js +2 -0
  325. package/build/dist/Interfaces/Evented.js.map +1 -0
  326. package/build/dist/Interfaces/Index.js +10 -0
  327. package/build/dist/Interfaces/Index.js.map +1 -0
  328. package/build/dist/Interfaces/LifecycleEvents.js +51 -0
  329. package/build/dist/Interfaces/LifecycleEvents.js.map +1 -0
  330. package/build/dist/Interfaces/Loadable.js +2 -0
  331. package/build/dist/Interfaces/Loadable.js.map +1 -0
  332. package/build/dist/Interfaces/PointerEventHandlers.js +2 -0
  333. package/build/dist/Interfaces/PointerEventHandlers.js.map +1 -0
  334. package/build/dist/Interfaces/Trait.js +2 -0
  335. package/build/dist/Interfaces/Trait.js.map +1 -0
  336. package/build/dist/Label.js +273 -0
  337. package/build/dist/Label.js.map +1 -0
  338. package/build/dist/Loader.js +367 -0
  339. package/build/dist/Loader.js.map +1 -0
  340. package/build/dist/Math/Index.js +10 -0
  341. package/build/dist/Math/Index.js.map +1 -0
  342. package/build/dist/Math/Random.js +239 -0
  343. package/build/dist/Math/Random.js.map +1 -0
  344. package/build/dist/Math/global-coordinates.js +30 -0
  345. package/build/dist/Math/global-coordinates.js.map +1 -0
  346. package/build/dist/Math/line.js +194 -0
  347. package/build/dist/Math/line.js.map +1 -0
  348. package/build/dist/Math/matrix.js +446 -0
  349. package/build/dist/Math/matrix.js.map +1 -0
  350. package/build/dist/Math/projection.js +24 -0
  351. package/build/dist/Math/projection.js.map +1 -0
  352. package/build/dist/Math/ray.js +52 -0
  353. package/build/dist/Math/ray.js.map +1 -0
  354. package/build/dist/Math/util.js +82 -0
  355. package/build/dist/Math/util.js.map +1 -0
  356. package/build/dist/Math/vector-view.js +25 -0
  357. package/build/dist/Math/vector-view.js.map +1 -0
  358. package/build/dist/Math/vector.js +326 -0
  359. package/build/dist/Math/vector.js.map +1 -0
  360. package/build/dist/Particles.js +449 -0
  361. package/build/dist/Particles.js.map +1 -0
  362. package/build/dist/Polyfill.js +56 -0
  363. package/build/dist/Polyfill.js.map +1 -0
  364. package/build/dist/Promises.js +205 -0
  365. package/build/dist/Promises.js.map +1 -0
  366. package/build/dist/Resources/Gif.js +479 -0
  367. package/build/dist/Resources/Gif.js.map +1 -0
  368. package/build/dist/Resources/Index.js +4 -0
  369. package/build/dist/Resources/Index.js.map +1 -0
  370. package/build/dist/Resources/Resource.js +74 -0
  371. package/build/dist/Resources/Resource.js.map +1 -0
  372. package/build/dist/Resources/Sound/AudioContext.js +16 -0
  373. package/build/dist/Resources/Sound/AudioContext.js.map +1 -0
  374. package/build/dist/Resources/Sound/Index.js +4 -0
  375. package/build/dist/Resources/Sound/Index.js.map +1 -0
  376. package/build/dist/Resources/Sound/Sound.js +240 -0
  377. package/build/dist/Resources/Sound/Sound.js.map +1 -0
  378. package/build/dist/Resources/Sound/WebAudioInstance.js +160 -0
  379. package/build/dist/Resources/Sound/WebAudioInstance.js.map +1 -0
  380. package/build/dist/Scene.js +458 -0
  381. package/build/dist/Scene.js.map +1 -0
  382. package/build/dist/Screen.js +634 -0
  383. package/build/dist/Screen.js.map +1 -0
  384. package/build/dist/ScreenElement.js +29 -0
  385. package/build/dist/ScreenElement.js.map +1 -0
  386. package/build/dist/TileMap.js +488 -0
  387. package/build/dist/TileMap.js.map +1 -0
  388. package/build/dist/Timer.js +198 -0
  389. package/build/dist/Timer.js.map +1 -0
  390. package/build/dist/Traits/Index.js +5 -0
  391. package/build/dist/Traits/Index.js.map +1 -0
  392. package/build/dist/Traits/OffscreenCulling.js +35 -0
  393. package/build/dist/Traits/OffscreenCulling.js.map +1 -0
  394. package/build/dist/Trigger.js +113 -0
  395. package/build/dist/Trigger.js.map +1 -0
  396. package/build/dist/Util/Actors.js +19 -0
  397. package/build/dist/Util/Actors.js.map +1 -0
  398. package/build/dist/Util/Browser.js +66 -0
  399. package/build/dist/Util/Browser.js.map +1 -0
  400. package/build/dist/Util/Clock.js +219 -0
  401. package/build/dist/Util/Clock.js.map +1 -0
  402. package/build/dist/Util/CullingBox.js +104 -0
  403. package/build/dist/Util/CullingBox.js.map +1 -0
  404. package/build/dist/Util/Decorators.js +78 -0
  405. package/build/dist/Util/Decorators.js.map +1 -0
  406. package/build/dist/Util/Detector.js +167 -0
  407. package/build/dist/Util/Detector.js.map +1 -0
  408. package/build/dist/Util/DrawUtil.js +117 -0
  409. package/build/dist/Util/DrawUtil.js.map +1 -0
  410. package/build/dist/Util/EasingFunctions.js +118 -0
  411. package/build/dist/Util/EasingFunctions.js.map +1 -0
  412. package/build/dist/Util/Fps.js +47 -0
  413. package/build/dist/Util/Fps.js.map +1 -0
  414. package/build/dist/Util/Index.js +7 -0
  415. package/build/dist/Util/Index.js.map +1 -0
  416. package/build/dist/Util/Log.js +195 -0
  417. package/build/dist/Util/Log.js.map +1 -0
  418. package/build/dist/Util/Observable.js +60 -0
  419. package/build/dist/Util/Observable.js.map +1 -0
  420. package/build/dist/Util/Pool.js +66 -0
  421. package/build/dist/Util/Pool.js.map +1 -0
  422. package/build/dist/Util/SortedList.js +261 -0
  423. package/build/dist/Util/SortedList.js.map +1 -0
  424. package/build/dist/Util/Sound.js +22 -0
  425. package/build/dist/Util/Sound.js.map +1 -0
  426. package/build/dist/Util/Util.js +294 -0
  427. package/build/dist/Util/Util.js.map +1 -0
  428. package/build/dist/Util/Watch.js +67 -0
  429. package/build/dist/Util/Watch.js.map +1 -0
  430. package/build/dist/Util/WebAudio.js +62 -0
  431. package/build/dist/Util/WebAudio.js.map +1 -0
  432. package/build/dist/excalibur.js +101 -22
  433. package/build/dist/excalibur.js.map +1 -1
  434. package/build/dist/excalibur.min.js +1 -1
  435. package/build/dist/excalibur.min.js.LICENSE.txt +1 -1
  436. package/build/dist/excalibur.min.js.map +1 -1
  437. package/build/dist/index.js +74 -0
  438. package/build/dist/index.js.map +1 -0
  439. package/build/esm/Engine.d.ts +4 -1
  440. package/build/esm/Graphics/Context/texture-loader.d.ts +8 -0
  441. package/build/esm/excalibur.js +101 -22
  442. package/build/esm/excalibur.js.map +1 -1
  443. package/build/esm/excalibur.min.js +1 -1
  444. package/build/esm/excalibur.min.js.LICENSE.txt +1 -1
  445. package/build/esm/excalibur.min.js.map +1 -1
  446. package/package.json +23 -22
@@ -0,0 +1,413 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Sprite } from './Sprite';
8
+ import { Animation } from './Animation';
9
+ import { Color } from '../Color';
10
+ import * as Effects from './SpriteEffects';
11
+ import { Texture } from './Texture';
12
+ import { Logger } from '../Util/Log';
13
+ import { BaseAlign, TextAlign } from '../Graphics/FontCommon';
14
+ import { obsolete } from '../Util/Decorators';
15
+ import { vec } from '../Math/vector';
16
+ /**
17
+ * Sprite sheets are a useful mechanism for slicing up image resources into
18
+ * separate sprites or for generating in game animations. [[Sprite|Sprites]] are organized
19
+ * in row major order in the [[SpriteSheet]].
20
+ * @deprecated Will be removed in v0.26.0
21
+ */
22
+ export class SpriteSheet {
23
+ /**
24
+ * @param imageOrConfigOrSprites The backing image texture to build the SpriteSheet, option bag, or sprite list
25
+ * @param columns The number of columns in the image texture
26
+ * @param rows The number of rows in the image texture
27
+ * @param spWidth The width of each individual sprite in pixels
28
+ * @param spHeight The height of each individual sprite in pixels
29
+ * @param spacing The spacing between every sprite in a spritesheet
30
+ */
31
+ constructor(imageOrConfigOrSprites, columns, rows, spWidth, spHeight, spacing) {
32
+ this._sprites = [];
33
+ this._image = null;
34
+ this._columns = 0;
35
+ this._rows = 0;
36
+ this._spWidth = 0;
37
+ this._spHeight = 0;
38
+ this._spacing = 0;
39
+ let loadFromImage = false;
40
+ if (imageOrConfigOrSprites instanceof Array) {
41
+ this._sprites = imageOrConfigOrSprites;
42
+ }
43
+ else {
44
+ if (imageOrConfigOrSprites && !(imageOrConfigOrSprites instanceof Texture)) {
45
+ this._columns = imageOrConfigOrSprites.columns;
46
+ this._rows = imageOrConfigOrSprites.rows;
47
+ this._spWidth = imageOrConfigOrSprites.spWidth;
48
+ this._spHeight = imageOrConfigOrSprites.spHeight;
49
+ this._image = imageOrConfigOrSprites.image;
50
+ this._spacing = imageOrConfigOrSprites.spacing || 0;
51
+ }
52
+ else {
53
+ this._image = imageOrConfigOrSprites;
54
+ this._columns = columns;
55
+ this._rows = rows;
56
+ this._spWidth = spWidth;
57
+ this._spHeight = spHeight;
58
+ this._spacing = spacing || 0;
59
+ }
60
+ this._sprites = new Array(this._columns * this._rows);
61
+ loadFromImage = true;
62
+ }
63
+ // Inspect actual image dimensions with preloading
64
+ if (this.image instanceof Texture) {
65
+ let isWidthError = false;
66
+ let isHeightError = false;
67
+ if (this.image.isLoaded()) {
68
+ isWidthError = this.spWidth * this.columns > this.image.image.naturalWidth;
69
+ isHeightError = this.spHeight * this.rows > this.image.image.naturalHeight;
70
+ if (isWidthError) {
71
+ throw new RangeError(`SpriteSheet specified is wider, ` +
72
+ `${this.columns} cols x ${this.spWidth} pixels > ${this.image.image.naturalWidth} ` +
73
+ `pixels than image width`);
74
+ }
75
+ if (isHeightError) {
76
+ throw new RangeError(`SpriteSheet specified is taller, ` +
77
+ `${this.rows} rows x ${this.spHeight} pixels > ${this.image.image.naturalHeight} ` +
78
+ `pixels than image height`);
79
+ }
80
+ }
81
+ }
82
+ if (loadFromImage) {
83
+ const spacing = this.getSpacingDimensions();
84
+ for (let row = 0; row < this.rows; row++) {
85
+ for (let col = 0; col < this.columns; col++) {
86
+ this._sprites[col + row * this.columns] = new Sprite(this.image, col * this.spWidth + spacing.margin * col + spacing.left, row * this.spHeight + spacing.margin * row + spacing.top, this.spWidth, this.spHeight);
87
+ }
88
+ }
89
+ }
90
+ }
91
+ /**
92
+ * Gets the raw spacing dimensions for the sprites in the sheet, which can be a fixed number or custom dimensions.
93
+ */
94
+ get spacing() {
95
+ return this._spacing;
96
+ }
97
+ /**
98
+ * Get a copy of the backing sprite array
99
+ */
100
+ get sprites() {
101
+ return [...this._sprites];
102
+ }
103
+ /**
104
+ * The backing texture used for the sprite sheet
105
+ */
106
+ get image() {
107
+ return this._image;
108
+ }
109
+ /**
110
+ * The number of columns in the sheet
111
+ */
112
+ get columns() {
113
+ return this._columns;
114
+ }
115
+ /**
116
+ * The number of rows in the sheet
117
+ */
118
+ get rows() {
119
+ return this._rows;
120
+ }
121
+ /**
122
+ * The width of the individual sprites
123
+ */
124
+ get spWidth() {
125
+ return this._spWidth;
126
+ }
127
+ /**
128
+ * The height of the individual sprites
129
+ */
130
+ get spHeight() {
131
+ return this._spHeight;
132
+ }
133
+ /**
134
+ * Gets the calculated spacing dimensions based on whether spacing
135
+ * is a fixed number or has different values for each dimension
136
+ */
137
+ getSpacingDimensions() {
138
+ var _a, _b, _c;
139
+ if (typeof this.spacing === 'number') {
140
+ return {
141
+ left: this.spacing,
142
+ top: this.spacing,
143
+ margin: this.spacing
144
+ };
145
+ }
146
+ else {
147
+ return {
148
+ left: (_a = this.spacing.left) !== null && _a !== void 0 ? _a : 0,
149
+ top: (_b = this.spacing.top) !== null && _b !== void 0 ? _b : 0,
150
+ margin: (_c = this.spacing.margin) !== null && _c !== void 0 ? _c : 0
151
+ };
152
+ }
153
+ }
154
+ /**
155
+ * Create an animation from the this SpriteSheet by listing out the
156
+ * sprite indices. Sprites are organized in row major order in the SpriteSheet.
157
+ * @param engine Reference to the current game [[Engine]]
158
+ * @param indices An array of sprite indices to use in the animation
159
+ * @param speed The number in milliseconds to display each frame in the animation
160
+ */
161
+ getAnimationByIndices(engine, indices, speed) {
162
+ let images = indices.map((index) => {
163
+ return this.sprites[index];
164
+ });
165
+ images = images.map(function (i) {
166
+ return i.clone();
167
+ });
168
+ return new Animation(engine, images, speed);
169
+ }
170
+ /**
171
+ * Create an animation from the this SpriteSheet by specifying the range of
172
+ * images with the beginning (inclusive) and ending (exclusive) index
173
+ * For example `getAnimationBetween(engine, 0, 5, 200)` returns an animation with 5 frames.
174
+ * @param engine Reference to the current game Engine
175
+ * @param beginIndex The index to start taking frames (inclusive)
176
+ * @param endIndex The index to stop taking frames (exclusive)
177
+ * @param speed The number in milliseconds to display each frame in the animation
178
+ */
179
+ getAnimationBetween(engine, beginIndex, endIndex, speed) {
180
+ let images = this.sprites.slice(beginIndex, endIndex);
181
+ images = images.map(function (i) {
182
+ return i.clone();
183
+ });
184
+ return new Animation(engine, images, speed);
185
+ }
186
+ /**
187
+ * Treat the entire SpriteSheet as one animation, organizing the frames in
188
+ * row major order.
189
+ * @param engine Reference to the current game [[Engine]]
190
+ * @param speed The number in milliseconds to display each frame the animation
191
+ */
192
+ getAnimationForAll(engine, speed) {
193
+ const sprites = this.sprites.map(function (i) {
194
+ return i.clone();
195
+ });
196
+ return new Animation(engine, sprites, speed);
197
+ }
198
+ /**
199
+ * Retrieve a specific sprite from the SpriteSheet by its index. Sprites are organized
200
+ * in row major order in the SpriteSheet.
201
+ * @param index The index of the sprite
202
+ */
203
+ getSprite(index) {
204
+ if (index >= 0 && index < this.sprites.length) {
205
+ return this.sprites[index];
206
+ }
207
+ else {
208
+ throw new Error('Invalid index: ' + index);
209
+ }
210
+ }
211
+ /**
212
+ * Get an animation with bespoke sprite coordinates. This is useful if the SpriteSheet is
213
+ * packed and not a uniform width or height. The resulting [[Animation]] will have the height and width of the
214
+ * largest dimension (width, height) from among the sprite coordinates
215
+ * @param engine
216
+ * @param spriteCoordinates
217
+ * @param speed
218
+ */
219
+ getAnimationByCoords(engine, spriteCoordinates, speed) {
220
+ let maxWidth = 0;
221
+ let maxHeight = 0;
222
+ const sprites = new Array(spriteCoordinates.length);
223
+ for (let i = 0; i < spriteCoordinates.length; i++) {
224
+ const coord = spriteCoordinates[i];
225
+ // no need to pass image again if using a spritesheet
226
+ coord.image = coord.image || this.image;
227
+ maxWidth = Math.max(maxWidth, coord.drawWidth);
228
+ maxHeight = Math.max(maxHeight, coord.drawHeight);
229
+ sprites[i] = new Sprite(coord);
230
+ }
231
+ const anim = new Animation(engine, sprites, speed);
232
+ anim.drawWidth = maxWidth;
233
+ anim.drawHeight = maxHeight;
234
+ return anim;
235
+ }
236
+ }
237
+ /**
238
+ * Sprite fonts are a used in conjunction with a [[Label]] to specify
239
+ * a particular bitmap as a font. Note that some font features are not
240
+ * supported by Sprite fonts.
241
+ * @deprecated Will be removed into v0.26.0
242
+ */
243
+ let SpriteFont = class SpriteFont extends SpriteSheet {
244
+ /**
245
+ * @param imageOrConfig The backing image texture to build the SpriteFont or the sprite font option bag
246
+ * @param alphabet A string representing all the characters in the image, in row major order.
247
+ * @param caseInsensitive Indicate whether this font takes case into account
248
+ * @param columns The number of columns of characters in the image
249
+ * @param rows The number of rows of characters in the image
250
+ * @param spWidth The width of each character in pixels
251
+ * @param spHeight The height of each character in pixels
252
+ */
253
+ constructor(imageOrConfig, alphabet, caseInsensitive, columns, rows, spWidth, spHeight, spacing) {
254
+ super(imageOrConfig instanceof Texture
255
+ ? {
256
+ image: imageOrConfig,
257
+ spWidth: spWidth,
258
+ spHeight: spHeight,
259
+ rows: rows,
260
+ columns: columns,
261
+ spacing: spacing || 0
262
+ }
263
+ : imageOrConfig);
264
+ this._currentColor = Color.Black;
265
+ this._currentOpacity = 1.0;
266
+ this._spriteRecord = {};
267
+ // text shadow
268
+ this._textShadowOn = false;
269
+ this._textShadowDirty = true;
270
+ this._textShadowColor = Color.Black;
271
+ this._textShadowSprites = {};
272
+ this._shadowOffsetX = 5;
273
+ this._shadowOffsetY = 5;
274
+ if (imageOrConfig && !(imageOrConfig instanceof Texture)) {
275
+ alphabet = imageOrConfig.alphabet;
276
+ caseInsensitive = imageOrConfig.caseInsensitive;
277
+ }
278
+ this.alphabet = alphabet;
279
+ this.caseInsensitive = caseInsensitive;
280
+ this._spriteRecord = this.getTextSprites();
281
+ }
282
+ /**
283
+ * Returns a dictionary that maps each character in the alphabet to the appropriate [[Sprite]].
284
+ */
285
+ getTextSprites() {
286
+ const lookup = {};
287
+ for (let i = 0; i < this.alphabet.length; i++) {
288
+ let char = this.alphabet[i];
289
+ if (this.caseInsensitive) {
290
+ char = char.toLowerCase();
291
+ }
292
+ lookup[char] = this.sprites[i].clone();
293
+ }
294
+ return lookup;
295
+ }
296
+ /**
297
+ * Sets the text shadow for sprite fonts
298
+ * @param offsetX The x offset in pixels to place the shadow
299
+ * @param offsetY The y offset in pixels to place the shadow
300
+ * @param shadowColor The color of the text shadow
301
+ */
302
+ setTextShadow(offsetX, offsetY, shadowColor) {
303
+ this._textShadowOn = true;
304
+ this._shadowOffsetX = offsetX;
305
+ this._shadowOffsetY = offsetY;
306
+ this._textShadowColor = shadowColor.clone();
307
+ this._textShadowDirty = true;
308
+ for (const character in this._spriteRecord) {
309
+ this._textShadowSprites[character] = this._spriteRecord[character].clone();
310
+ }
311
+ }
312
+ /**
313
+ * Toggles text shadows on or off
314
+ */
315
+ useTextShadow(on) {
316
+ this._textShadowOn = on;
317
+ if (on) {
318
+ this.setTextShadow(5, 5, this._textShadowColor);
319
+ }
320
+ }
321
+ /**
322
+ * Draws the current sprite font
323
+ */
324
+ draw(ctx, text, x, y, options) {
325
+ options = this._parseOptions(options);
326
+ if (this._currentColor.toString() !== options.color.toString() || this._currentOpacity !== options.opacity) {
327
+ this._currentOpacity = options.opacity;
328
+ this._currentColor = options.color;
329
+ for (const char in this._spriteRecord) {
330
+ this._spriteRecord[char].clearEffects();
331
+ this._spriteRecord[char].fill(options.color);
332
+ this._spriteRecord[char].opacity(options.opacity);
333
+ }
334
+ }
335
+ if (this._textShadowOn && this._textShadowDirty && this._textShadowColor) {
336
+ for (const characterShadow in this._textShadowSprites) {
337
+ this._textShadowSprites[characterShadow].clearEffects();
338
+ this._textShadowSprites[characterShadow].addEffect(new Effects.Fill(this._textShadowColor.clone()));
339
+ }
340
+ this._textShadowDirty = false;
341
+ }
342
+ // find the current length of text in pixels
343
+ const sprite = this.sprites[0];
344
+ // find the current height fo the text in pixels
345
+ const height = sprite.height;
346
+ // calculate appropriate scale for font size
347
+ const scale = options.fontSize / height;
348
+ const length = text.length * sprite.width * scale + text.length * options.letterSpacing;
349
+ let currX = x;
350
+ if (options.textAlign === TextAlign.Left || options.textAlign === TextAlign.Start) {
351
+ currX = x;
352
+ }
353
+ else if (options.textAlign === TextAlign.Right || options.textAlign === TextAlign.End) {
354
+ currX = x - length;
355
+ }
356
+ else if (options.textAlign === TextAlign.Center) {
357
+ currX = x - length / 2;
358
+ }
359
+ let currY = y - height * scale;
360
+ if (options.baseAlign === BaseAlign.Top || options.baseAlign === BaseAlign.Hanging) {
361
+ currY = y;
362
+ }
363
+ else if (options.baseAlign === BaseAlign.Ideographic ||
364
+ options.baseAlign === BaseAlign.Bottom ||
365
+ options.baseAlign === BaseAlign.Alphabetic) {
366
+ currY = y - height * scale;
367
+ }
368
+ else if (options.baseAlign === BaseAlign.Middle) {
369
+ currY = y - (height * scale) / 2;
370
+ }
371
+ for (let i = 0; i < text.length; i++) {
372
+ let character = text[i];
373
+ if (this.caseInsensitive) {
374
+ character = character.toLowerCase();
375
+ }
376
+ try {
377
+ // if text shadow
378
+ if (this._textShadowOn) {
379
+ this._textShadowSprites[character].drawAroundAnchor = false;
380
+ this._textShadowSprites[character].scale = vec(scale, scale);
381
+ this._textShadowSprites[character].draw(ctx, currX + this._shadowOffsetX, currY + this._shadowOffsetY);
382
+ }
383
+ const charSprite = this._spriteRecord[character];
384
+ charSprite.drawAroundAnchor = false;
385
+ charSprite.scale = vec(scale, scale);
386
+ charSprite.draw(ctx, currX, currY);
387
+ currX += charSprite.drawWidth + options.letterSpacing;
388
+ }
389
+ catch (e) {
390
+ Logger.getInstance().error(`SpriteFont Error drawing char ${character}`);
391
+ }
392
+ }
393
+ }
394
+ _parseOptions(options) {
395
+ return {
396
+ fontSize: options.fontSize || 10,
397
+ letterSpacing: options.letterSpacing || 0,
398
+ color: options.color || Color.Black,
399
+ textAlign: typeof options.textAlign === undefined ? TextAlign.Left : options.textAlign,
400
+ baseAlign: typeof options.baseAlign === undefined ? BaseAlign.Bottom : options.baseAlign,
401
+ maxWidth: options.maxWidth || -1,
402
+ opacity: options.opacity || 0
403
+ };
404
+ }
405
+ };
406
+ SpriteFont = __decorate([
407
+ obsolete({
408
+ message: 'SpriteSheet will be removed in v0.26.0',
409
+ alternateMethod: 'Use Graphics.SpriteSheet'
410
+ })
411
+ ], SpriteFont);
412
+ export { SpriteFont };
413
+ //# sourceMappingURL=SpriteSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteSheet.js","sourceRoot":"","sources":["../../../src/engine/Drawing/SpriteSheet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { Resource } from '../Resources/Resource';
2
+ import { Sprite } from './Sprite';
3
+ /**
4
+ * The [[Texture]] object allows games built in Excalibur to load image resources.
5
+ * [[Texture]] is an [[Loadable]] which means it can be passed to a [[Loader]]
6
+ * to pre-load before starting a level or game.
7
+ * @deprecated
8
+ */
9
+ export class Texture {
10
+ /**
11
+ * @param path Path to the image resource or a base64 string representing an image "data:image/png;base64,iVB..."
12
+ * @param bustCache Optionally load texture with cache busting
13
+ */
14
+ constructor(path, bustCache = true) {
15
+ this.path = path;
16
+ this.bustCache = bustCache;
17
+ this._sprite = null;
18
+ this.loaded = new Promise(resolve => {
19
+ this._loadedResolve = resolve;
20
+ });
21
+ this._resource = new Resource(path, 'blob', bustCache);
22
+ this._sprite = new Sprite(this, 0, 0, 0, 0);
23
+ }
24
+ get image() {
25
+ return this.data;
26
+ }
27
+ /**
28
+ * Returns true if the Texture is completely loaded and is ready
29
+ * to be drawn.
30
+ */
31
+ isLoaded() {
32
+ return !!this.data;
33
+ }
34
+ /**
35
+ * Begins loading the texture and returns a promise to be resolved on completion
36
+ */
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);
44
+ }
45
+ else {
46
+ url = this.path;
47
+ }
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;
64
+ }
65
+ asSprite() {
66
+ return this._sprite;
67
+ }
68
+ }
69
+ //# sourceMappingURL=Texture.js.map
@@ -0,0 +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;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"}
@@ -629,11 +629,14 @@ export declare class Engine extends Class implements CanInitialize, CanUpdate, C
629
629
  * Returns the Engine's running status, Useful for checking whether engine is running or paused.
630
630
  */
631
631
  isRunning(): boolean;
632
+ private _screenShotRequests;
632
633
  /**
633
634
  * Takes a screen shot of the current viewport and returns it as an
634
635
  * HTML Image Element.
636
+ * @param preserveHiDPIResolution in the case of HiDPI return the full scaled backing image, by default false
635
637
  */
636
- screenshot(): HTMLImageElement;
638
+ screenshot(preserveHiDPIResolution?: boolean): Promise<HTMLImageElement>;
639
+ private _checkForScreenShots;
637
640
  /**
638
641
  * Another option available to you to load resources into the game.
639
642
  * Immediately after calling this the game will pause and the loading screen