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,261 @@
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 { obsolete } from './Decorators';
8
+ /**
9
+ * A sorted list implementation. NOTE: this implementation is not self-balancing
10
+ * @deprecated WIll be removed in v0.26.0 Use built in JS array.sort
11
+ */
12
+ let SortedList = class SortedList {
13
+ constructor(getComparable) {
14
+ this._getComparable = getComparable;
15
+ }
16
+ find(element) {
17
+ return this._find(this._root, element);
18
+ }
19
+ _find(node, element) {
20
+ if (node == null) {
21
+ return false;
22
+ }
23
+ else if (this._getComparable(element) === node.getKey()) {
24
+ if (node.getData().indexOf(element) > -1) {
25
+ return true;
26
+ }
27
+ else {
28
+ return false;
29
+ }
30
+ }
31
+ else if (this._getComparable(element) < node.getKey()) {
32
+ return this._find(node.getLeft(), element);
33
+ }
34
+ else {
35
+ return this._find(node.getRight(), element);
36
+ }
37
+ }
38
+ // returns the array of elements at a specific key value
39
+ get(key) {
40
+ return this._get(this._root, key);
41
+ }
42
+ _get(node, key) {
43
+ if (node == null) {
44
+ return [];
45
+ }
46
+ else if (key === node.getKey()) {
47
+ return node.getData();
48
+ }
49
+ else if (key < node.getKey()) {
50
+ return this._get(node.getLeft(), key);
51
+ }
52
+ else {
53
+ return this._get(node.getRight(), key);
54
+ }
55
+ }
56
+ add(element) {
57
+ if (this._root == null) {
58
+ this._root = new BinaryTreeNode(this._getComparable(element), [element], null, null);
59
+ return true;
60
+ }
61
+ else {
62
+ return this._insert(this._root, element);
63
+ }
64
+ }
65
+ _insert(node, element) {
66
+ if (node != null) {
67
+ if (this._getComparable(element) === node.getKey()) {
68
+ if (node.getData().indexOf(element) > -1) {
69
+ return false; // the element we're trying to insert already exists
70
+ }
71
+ else {
72
+ node.getData().push(element);
73
+ return true;
74
+ }
75
+ }
76
+ else if (this._getComparable(element) < node.getKey()) {
77
+ if (node.getLeft() == null) {
78
+ node.setLeft(new BinaryTreeNode(this._getComparable(element), [element], null, null));
79
+ return true;
80
+ }
81
+ else {
82
+ return this._insert(node.getLeft(), element);
83
+ }
84
+ }
85
+ else {
86
+ if (node.getRight() == null) {
87
+ node.setRight(new BinaryTreeNode(this._getComparable(element), [element], null, null));
88
+ return true;
89
+ }
90
+ else {
91
+ return this._insert(node.getRight(), element);
92
+ }
93
+ }
94
+ }
95
+ return false;
96
+ }
97
+ removeByComparable(element) {
98
+ this._root = this._remove(this._root, element);
99
+ }
100
+ _remove(node, element) {
101
+ if (node == null) {
102
+ return null;
103
+ }
104
+ else if (this._getComparable(element) === node.getKey()) {
105
+ const elementIndex = node.getData().indexOf(element);
106
+ // if the node contains the element, remove the element
107
+ if (elementIndex > -1) {
108
+ node.getData().splice(elementIndex, 1);
109
+ // if we have removed the last element at this node, remove the node
110
+ if (node.getData().length === 0) {
111
+ // if the node is a leaf
112
+ if (node.getLeft() == null && node.getRight() == null) {
113
+ return null;
114
+ }
115
+ else if (node.getLeft() == null) {
116
+ return node.getRight();
117
+ }
118
+ else if (node.getRight() == null) {
119
+ return node.getLeft();
120
+ }
121
+ // if node has 2 children
122
+ const temp = this._findMinNode(node.getRight());
123
+ node.setKey(temp.getKey());
124
+ node.setData(temp.getData());
125
+ node.setRight(this._cleanup(node.getRight(), temp)); //"cleanup nodes" (move them up recursively)
126
+ return node;
127
+ }
128
+ else {
129
+ // this prevents the node from being removed since it still contains elements
130
+ return node;
131
+ }
132
+ }
133
+ }
134
+ else if (this._getComparable(element) < node.getKey()) {
135
+ node.setLeft(this._remove(node.getLeft(), element));
136
+ return node;
137
+ }
138
+ else {
139
+ node.setRight(this._remove(node.getRight(), element));
140
+ return node;
141
+ }
142
+ return null;
143
+ }
144
+ // called once we have successfully removed the element we wanted, recursively corrects the part of the tree below the removed node
145
+ _cleanup(node, element) {
146
+ const comparable = element.getKey();
147
+ if (node == null) {
148
+ return null;
149
+ }
150
+ else if (comparable === node.getKey()) {
151
+ // if the node is a leaf
152
+ if (node.getLeft() == null && node.getRight() == null) {
153
+ return null;
154
+ }
155
+ else if (node.getLeft() == null) {
156
+ return node.getRight();
157
+ }
158
+ else if (node.getRight() == null) {
159
+ return node.getLeft();
160
+ }
161
+ // if node has 2 children
162
+ const temp = this._findMinNode(node.getRight());
163
+ node.setKey(temp.getKey());
164
+ node.setData(temp.getData());
165
+ node.setRight(this._cleanup(node.getRight(), temp));
166
+ return node;
167
+ }
168
+ else if (element.getKey() < node.getKey()) {
169
+ node.setLeft(this._cleanup(node.getLeft(), element));
170
+ return node;
171
+ }
172
+ else {
173
+ node.setRight(this._cleanup(node.getRight(), element));
174
+ return node;
175
+ }
176
+ }
177
+ _findMinNode(node) {
178
+ let current = node;
179
+ while (current.getLeft() != null) {
180
+ current = current.getLeft();
181
+ }
182
+ return current;
183
+ }
184
+ list() {
185
+ const results = new Array();
186
+ this._list(this._root, results);
187
+ return results;
188
+ }
189
+ _list(treeNode, results) {
190
+ if (treeNode != null) {
191
+ this._list(treeNode.getLeft(), results);
192
+ treeNode.getData().forEach((element) => {
193
+ results.push(element);
194
+ });
195
+ this._list(treeNode.getRight(), results);
196
+ }
197
+ }
198
+ };
199
+ SortedList = __decorate([
200
+ obsolete({ message: 'Will be removed in excalibur v0.26.0', alternateMethod: 'Use built in JS array.sort' })
201
+ ], SortedList);
202
+ export { SortedList };
203
+ /**
204
+ * A tree node part of [[SortedList]]
205
+ * @deprecated Will be removed in v0.26.0
206
+ */
207
+ let BinaryTreeNode = class BinaryTreeNode {
208
+ constructor(key, data, left, right) {
209
+ this._key = key;
210
+ this._data = data;
211
+ this._left = left;
212
+ this._right = right;
213
+ }
214
+ getKey() {
215
+ return this._key;
216
+ }
217
+ setKey(key) {
218
+ this._key = key;
219
+ }
220
+ getData() {
221
+ return this._data;
222
+ }
223
+ setData(data) {
224
+ this._data = data;
225
+ }
226
+ getLeft() {
227
+ return this._left;
228
+ }
229
+ setLeft(left) {
230
+ this._left = left;
231
+ }
232
+ getRight() {
233
+ return this._right;
234
+ }
235
+ setRight(right) {
236
+ this._right = right;
237
+ }
238
+ };
239
+ BinaryTreeNode = __decorate([
240
+ obsolete({ message: 'Will be removed in excalibur v0.26.0' })
241
+ ], BinaryTreeNode);
242
+ export { BinaryTreeNode };
243
+ /**
244
+ * Mock element for testing
245
+ *
246
+ * @internal
247
+ * @deprecated Will be removed in v0.26.0
248
+ */
249
+ export class MockedElement {
250
+ constructor(key) {
251
+ this._key = 0;
252
+ this._key = key;
253
+ }
254
+ getTheKey() {
255
+ return this._key;
256
+ }
257
+ setKey(key) {
258
+ this._key = key;
259
+ }
260
+ }
261
+ //# sourceMappingURL=SortedList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortedList.js","sourceRoot":"","sources":["../../../src/engine/Util/SortedList.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Logger } from './Log';
2
+ /**
3
+ * Whether or not the browser can play this file as HTML5 Audio
4
+ */
5
+ export function canPlayFile(file) {
6
+ try {
7
+ const a = new Audio();
8
+ const filetype = /.*\.([A-Za-z0-9]+)$/;
9
+ const type = file.match(filetype)[1];
10
+ if (a.canPlayType('audio/' + type)) {
11
+ return true;
12
+ }
13
+ else {
14
+ return false;
15
+ }
16
+ }
17
+ catch (e) {
18
+ Logger.getInstance().warn('Cannot determine audio support, assuming no support for the Audio Tag', e);
19
+ return false;
20
+ }
21
+ }
22
+ //# sourceMappingURL=Sound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sound.js","sourceRoot":"","sources":["../../../src/engine/Util/Sound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI;QACF,MAAM,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,qBAAqB,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,uEAAuE,EAAE,CAAC,CAAC,CAAC;QACtG,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
@@ -0,0 +1,294 @@
1
+ import { Vector } from '../Math/vector';
2
+ import { Side } from '../Collision/Side';
3
+ // TODO remove in v0.26.0
4
+ // Re-export hack to deprecate import site gently
5
+ import { TwoPI as lTwoPI, clamp as lclamp, randomInRange as lrandomInRange, randomIntInRange as lrandomIntInRange, canonicalizeAngle as lcanonicalizeAngle, toDegrees as ltoDegrees, toRadians as ltoRadians, range as lrange } from '../Math/util';
6
+ /**
7
+ * @deprecated ex.Util.TwoPI import site will be removed in v0.26.0, use ex.TwoPI
8
+ */
9
+ export const TwoPI = lTwoPI;
10
+ /**
11
+ * @deprecated ex.Util.clamp import site will be removed in v0.26.0, use ex.clamp
12
+ */
13
+ export const clamp = lclamp;
14
+ /**
15
+ * @deprecated ex.Util.randomInRange import site will be removed in v0.26.0, use ex.randomInRange
16
+ */
17
+ export const randomInRange = lrandomInRange;
18
+ /**
19
+ * @deprecated ex.Util.randomIntInRange import site will be removed in v0.26.0, use ex.randomIntInRange
20
+ */
21
+ export const randomIntInRange = lrandomIntInRange;
22
+ /**
23
+ * @deprecated ex.Util.canonicalizeAngle import site will be removed in v0.26.0, use ex.canonicalizeAngle
24
+ */
25
+ export const canonicalizeAngle = lcanonicalizeAngle;
26
+ /**
27
+ * @deprecated ex.Util.toDegrees import site will be removed in v0.26.0, use ex.toDegrees
28
+ */
29
+ export const toDegrees = ltoDegrees;
30
+ /**
31
+ * @deprecated ex.Util.toRadians import site will be removed in v0.26.0, use ex.toRadians
32
+ */
33
+ export const toRadians = ltoRadians;
34
+ /**
35
+ * @deprecated ex.Util.range import site will be removed in v0.26.0, use ex.range
36
+ */
37
+ export const range = lrange;
38
+ // TODO END REMOVE in v0.26.0
39
+ /**
40
+ * Find the screen position of an HTML element
41
+ */
42
+ export function getPosition(el) {
43
+ let oLeft = 0, oTop = 0;
44
+ const calcOffsetLeft = (parent) => {
45
+ oLeft += parent.offsetLeft;
46
+ if (parent.offsetParent) {
47
+ calcOffsetLeft(parent.offsetParent);
48
+ }
49
+ };
50
+ const calcOffsetTop = (parent) => {
51
+ oTop += parent.offsetTop;
52
+ if (parent.offsetParent) {
53
+ calcOffsetTop(parent.offsetParent);
54
+ }
55
+ };
56
+ calcOffsetLeft(el);
57
+ calcOffsetTop(el);
58
+ return new Vector(oLeft, oTop);
59
+ }
60
+ /**
61
+ * Add an item to an array list if it doesn't already exist. Returns true if added, false if not and already exists in the array.
62
+ * @deprecated Will be removed in v0.26.0
63
+ */
64
+ export function addItemToArray(item, array) {
65
+ if (array.indexOf(item) === -1) {
66
+ array.push(item);
67
+ return true;
68
+ }
69
+ return false;
70
+ }
71
+ /**
72
+ * Remove an item from an list
73
+ * @deprecated Will be removed in v0.26.0
74
+ */
75
+ export function removeItemFromArray(item, array) {
76
+ let index = -1;
77
+ if ((index = array.indexOf(item)) > -1) {
78
+ array.splice(index, 1);
79
+ return true;
80
+ }
81
+ return false;
82
+ }
83
+ /**
84
+ * See if an array contains something
85
+ */
86
+ export function contains(array, obj) {
87
+ for (let i = 0; i < array.length; i++) {
88
+ if (array[i] === obj) {
89
+ return true;
90
+ }
91
+ }
92
+ return false;
93
+ }
94
+ /**
95
+ * Get the opposite side
96
+ * TODO: Move to Side type
97
+ * @deprecated Will be removed in v0.26.0
98
+ */
99
+ export function getOppositeSide(side) {
100
+ if (side === Side.Top) {
101
+ return Side.Bottom;
102
+ }
103
+ if (side === Side.Bottom) {
104
+ return Side.Top;
105
+ }
106
+ if (side === Side.Left) {
107
+ return Side.Right;
108
+ }
109
+ if (side === Side.Right) {
110
+ return Side.Left;
111
+ }
112
+ return Side.None;
113
+ }
114
+ /**
115
+ * Returns the side in the direction of the vector supplied
116
+ * @param direction Vector to check
117
+ * @deprecated
118
+ * TODO: Move to Side type
119
+ */
120
+ export function getSideFromDirection(direction) {
121
+ const directions = [Vector.Left, Vector.Right, Vector.Up, Vector.Down];
122
+ const directionEnum = [Side.Left, Side.Right, Side.Top, Side.Bottom];
123
+ let max = -Number.MAX_VALUE;
124
+ let maxIndex = -1;
125
+ for (let i = 0; i < directions.length; i++) {
126
+ if (directions[i].dot(direction) > max) {
127
+ max = directions[i].dot(direction);
128
+ maxIndex = i;
129
+ }
130
+ }
131
+ return directionEnum[maxIndex];
132
+ }
133
+ /**
134
+ * Excalibur's dynamically resizing collection
135
+ * @deprecated Will be removed v0.26.0
136
+ */
137
+ export class Collection {
138
+ /**
139
+ * @param initialSize Initial size of the internal backing array
140
+ */
141
+ constructor(initialSize = Collection.DefaultSize) {
142
+ this._internalArray = null;
143
+ this._endPointer = 0;
144
+ this._internalArray = new Array(initialSize);
145
+ }
146
+ _resize() {
147
+ const newSize = this._internalArray.length * 2;
148
+ const newArray = new Array(newSize);
149
+ const count = this.count();
150
+ for (let i = 0; i < count; i++) {
151
+ newArray[i] = this._internalArray[i];
152
+ }
153
+ delete this._internalArray;
154
+ this._internalArray = newArray;
155
+ }
156
+ /**
157
+ * Push elements to the end of the collection
158
+ */
159
+ push(element) {
160
+ if (this._endPointer === this._internalArray.length) {
161
+ this._resize();
162
+ }
163
+ return (this._internalArray[this._endPointer++] = element);
164
+ }
165
+ /**
166
+ * Removes elements from the end of the collection
167
+ */
168
+ pop() {
169
+ this._endPointer = this._endPointer - 1 < 0 ? 0 : this._endPointer - 1;
170
+ return this._internalArray[this._endPointer];
171
+ }
172
+ /**
173
+ * Returns the count of the collection
174
+ */
175
+ count() {
176
+ return this._endPointer;
177
+ }
178
+ /**
179
+ * Empties the collection
180
+ */
181
+ clear() {
182
+ this._endPointer = 0;
183
+ }
184
+ /**
185
+ * Returns the size of the internal backing array
186
+ */
187
+ internalSize() {
188
+ return this._internalArray.length;
189
+ }
190
+ /**
191
+ * Returns an element at a specific index
192
+ * @param index Index of element to retrieve
193
+ */
194
+ elementAt(index) {
195
+ if (index >= this.count()) {
196
+ //Logger.getInstance().error('Invalid parameter: ' + index);
197
+ throw new Error('Invalid index ' + index);
198
+ }
199
+ return this._internalArray[index];
200
+ }
201
+ /**
202
+ * Inserts an element at a specific index
203
+ * @param index Index to insert the element
204
+ * @param value Element to insert
205
+ */
206
+ insert(index, value) {
207
+ if (index >= this.count()) {
208
+ this._resize();
209
+ }
210
+ return (this._internalArray[index] = value);
211
+ }
212
+ /**
213
+ * Removes an element at a specific index
214
+ * @param index Index of element to remove
215
+ */
216
+ remove(index) {
217
+ const count = this.count();
218
+ if (count === 0) {
219
+ //Logger.getInstance().error('Invalid parameter: ' + index);
220
+ throw new Error('Invalid parameter ' + index);
221
+ }
222
+ // O(n) Shift
223
+ const removed = this._internalArray[index];
224
+ for (let i = index; i < count; i++) {
225
+ this._internalArray[i] = this._internalArray[i + 1];
226
+ }
227
+ this._endPointer--;
228
+ return removed;
229
+ }
230
+ /**
231
+ * Removes an element by reference
232
+ * @param element Element to retrieve
233
+ */
234
+ removeElement(element) {
235
+ const index = this._internalArray.indexOf(element);
236
+ this.remove(index);
237
+ }
238
+ /**
239
+ * Returns a array representing the collection
240
+ */
241
+ toArray() {
242
+ return this._internalArray.slice(0, this._endPointer);
243
+ }
244
+ /**
245
+ * Iterate over every element in the collection
246
+ * @param func Callback to call for each element passing a reference to the element and its index, returned values are ignored
247
+ */
248
+ forEach(func) {
249
+ let i = 0;
250
+ const count = this.count();
251
+ for (i; i < count; i++) {
252
+ func.call(this, this._internalArray[i], i);
253
+ }
254
+ }
255
+ /**
256
+ * Mutate every element in the collection
257
+ * @param func Callback to call for each element passing a reference to the element and its index, any values returned mutate
258
+ * the collection
259
+ */
260
+ map(func) {
261
+ const count = this.count();
262
+ for (let i = 0; i < count; i++) {
263
+ this._internalArray[i] = func.call(this, this._internalArray[i], i);
264
+ }
265
+ }
266
+ }
267
+ /**
268
+ * Default collection size
269
+ */
270
+ Collection.DefaultSize = 200;
271
+ /**
272
+ * Used for exhaustive checks at compile time
273
+ */
274
+ export function fail(message) {
275
+ throw new Error(message);
276
+ }
277
+ /**
278
+ * Create a promise that resolves after a certain number of milliseconds
279
+ *
280
+ * It is strongly recommended you pass the excalibur clock so delays are bound to the
281
+ * excalibur clock which would be unaffected by stop/pause.
282
+ * @param milliseconds
283
+ * @param clock
284
+ */
285
+ export function delay(milliseconds, clock) {
286
+ var _a;
287
+ const schedule = (_a = clock === null || clock === void 0 ? void 0 : clock.schedule.bind(clock)) !== null && _a !== void 0 ? _a : setTimeout;
288
+ return new Promise(resolve => {
289
+ schedule(() => {
290
+ resolve();
291
+ }, milliseconds);
292
+ });
293
+ }
294
+ //# sourceMappingURL=Util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/engine/Util/Util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC,yBAAyB;AACzB,iDAAiD;AACjD,OAAO,EACL,KAAK,IAAI,MAAM,EACf,KAAK,IAAI,MAAM,EACf,aAAa,IAAI,cAAc,EAC/B,gBAAgB,IAAI,iBAAiB,EACrC,iBAAiB,IAAI,kBAAkB,EACvC,SAAS,IAAI,UAAU,EACvB,SAAS,IAAI,UAAU,EACvB,KAAK,IAAI,MAAM,EAChB,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC;AAE5B,6BAA6B;AAE7B;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAe;IACzC,IAAI,KAAK,GAAW,CAAC,EACnB,IAAI,GAAW,CAAC,CAAC;IAEnB,MAAM,cAAc,GAAG,CAAC,MAAmB,EAAE,EAAE;QAC7C,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC;QAE3B,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,cAAc,CAAc,MAAM,CAAC,YAAY,CAAC,CAAC;SAClD;IACH,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,MAAmB,EAAE,EAAE;QAC5C,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC;QACzB,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,aAAa,CAAc,MAAM,CAAC,YAAY,CAAC,CAAC;SACjD;IACH,CAAC,CAAC;IAEF,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,CAAC;IAElB,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAI,IAAO,EAAE,KAAU;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAI,IAAO,EAAE,KAAU;IACxD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QACtC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAiB,EAAE,GAAQ;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC;KACjB;IACD,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IACD,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAErE,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;IAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE;YACtC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,QAAQ,GAAG,CAAC,CAAC;SACd;KACF;IACD,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,UAAU;IAQrB;;OAEG;IACH,YAAY,cAAsB,UAAU,CAAC,WAAW;QANhD,mBAAc,GAAQ,IAAI,CAAC;QAC3B,gBAAW,GAAW,CAAC,CAAC;QAM9B,IAAI,CAAC,cAAc,GAAG,IAAI,KAAK,CAAI,WAAW,CAAC,CAAC;IAClD,CAAC;IAEO,OAAO;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAI,OAAO,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,OAAU;QACpB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YACnD,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACI,GAAG;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,KAAK;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,KAAa;QAC5B,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;YACzB,4DAA4D;YAC5D,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAa,EAAE,KAAQ;QACnC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,4DAA4D;YAC5D,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,CAAC;SAC/C;QACD,aAAa;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,OAAU;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,IAAwC;QACrD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5C;IACH,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,IAAwC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACrE;IACH,CAAC;;AAlJD;;GAEG;AACW,sBAAW,GAAG,GAAG,CAAC;AAkJlC;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,OAAc;IACjC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK,CAAC,YAAoB,EAAE,KAAa;;IACvD,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAI,UAAU,CAAC;IAC3D,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QACjC,QAAQ,CAAC,GAAG,EAAE;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Watch an object with a proxy, only fires if property value is different
3
+ */
4
+ export function watch(type, change) {
5
+ if (!type) {
6
+ return type;
7
+ }
8
+ if (type.__isProxy === undefined) {
9
+ // expando hack to mark a proxy
10
+ return new Proxy(type, {
11
+ set: (obj, prop, value) => {
12
+ // The default behavior to store the value
13
+ if (obj[prop] !== value) {
14
+ obj[prop] = value;
15
+ // Avoid watching private junk
16
+ if (typeof prop === 'string') {
17
+ if (prop[0] !== '_') {
18
+ change(obj);
19
+ }
20
+ }
21
+ }
22
+ // Indicate success
23
+ return true;
24
+ },
25
+ get: (obj, prop) => {
26
+ if (prop !== '__isProxy') {
27
+ return obj[prop];
28
+ }
29
+ return true;
30
+ }
31
+ });
32
+ }
33
+ return type;
34
+ }
35
+ /**
36
+ * Watch an object with a proxy, fires change on any property value change
37
+ */
38
+ export function watchAny(type, change) {
39
+ if (!type) {
40
+ return type;
41
+ }
42
+ if (type.__isProxy === undefined) {
43
+ // expando hack to mark a proxy
44
+ return new Proxy(type, {
45
+ set: (obj, prop, value) => {
46
+ // The default behavior to store the value
47
+ obj[prop] = value;
48
+ // Avoid watching private junk
49
+ if (typeof prop === 'string') {
50
+ if (prop[0] !== '_') {
51
+ change(obj);
52
+ }
53
+ }
54
+ // Indicate success
55
+ return true;
56
+ },
57
+ get: (obj, prop) => {
58
+ if (prop !== '__isProxy') {
59
+ return obj[prop];
60
+ }
61
+ return true;
62
+ }
63
+ });
64
+ }
65
+ return type;
66
+ }
67
+ //# sourceMappingURL=Watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Watch.js","sourceRoot":"","sources":["../../../src/engine/Util/Watch.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,KAAK,CAAmB,IAAO,EAAE,MAAwB;IACvE,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,IAAK,IAAY,CAAC,SAAS,KAAK,SAAS,EAAE;QACzC,+BAA+B;QAC/B,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxB,0CAA0C;gBAC1C,IAAK,GAAW,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;oBAC/B,GAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBAC3B,8BAA8B;oBAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;wBAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;4BACnB,MAAM,CAAC,GAAG,CAAC,CAAC;yBACb;qBACF;iBACF;gBACD,mBAAmB;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACjB,IAAI,IAAI,KAAK,WAAW,EAAE;oBACxB,OAAQ,GAAW,CAAC,IAAI,CAAC,CAAC;iBAC3B;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAmB,IAAO,EAAE,MAAwB;IAC1E,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,IAAK,IAAY,CAAC,SAAS,KAAK,SAAS,EAAE;QACzC,+BAA+B;QAC/B,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxB,0CAA0C;gBACzC,GAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC3B,8BAA8B;gBAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;wBACnB,MAAM,CAAC,GAAG,CAAC,CAAC;qBACb;iBACF;gBAED,mBAAmB;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACjB,IAAI,IAAI,KAAK,WAAW,EAAE;oBACxB,OAAQ,GAAW,CAAC,IAAI,CAAC,CAAC;iBAC3B;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}