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 @@
1
+ {"version":3,"file":"Query.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,IAAI,EAA4B,MAAM,IAAI,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,OAAO,KAAuC,SAAQ,UAAuC;IAajG,YAAY,KAAsD;QAChE,KAAK,EAAE,CAAC;QAZF,cAAS,GAAa,EAAE,CAAC;QAa/B,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,QAAQ,EAAE;YAChC,IAAI,CAAC,KAAK,GAAI,KAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACpE;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,KAAiB,CAAC;SAChC;IACH,CAAC;IAhBD,IAAW,GAAG;QACZ,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAaD;;;;OAIG;IACI,WAAW,CAAC,IAAuC;QACxD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;SACzC;IACH,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,MAAc;QAChC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC3B;IACH,CAAC;IAaM,OAAO,CAAC,aAAgC;QAC7C,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,IAAI,aAAa,YAAY,MAAM,EAAE;YACnC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;SAC7B;aAAM;YACL,KAAK,GAAG,aAAa,CAAC;SACvB;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,OAAO,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -0,0 +1,90 @@
1
+ import { buildTypeKey } from './Util';
2
+ import { Query } from './Query';
3
+ /**
4
+ * The query manager is responsible for updating all queries when entities/components change
5
+ */
6
+ export class QueryManager {
7
+ constructor(_world) {
8
+ this._world = _world;
9
+ this._queries = {};
10
+ }
11
+ /**
12
+ * Adds a query to the manager and populates with any entities that match
13
+ * @param query
14
+ */
15
+ _addQuery(query) {
16
+ this._queries[buildTypeKey(query.types)] = query;
17
+ for (const entity of this._world.entityManager.entities) {
18
+ query.addEntity(entity);
19
+ }
20
+ }
21
+ /**
22
+ * Removes the query if there are no observers left
23
+ * @param query
24
+ */
25
+ maybeRemoveQuery(query) {
26
+ if (query.observers.length === 0) {
27
+ query.clear();
28
+ delete this._queries[buildTypeKey(query.types)];
29
+ }
30
+ }
31
+ /**
32
+ * Adds the entity to any matching query in the query manage
33
+ * @param entity
34
+ */
35
+ addEntity(entity) {
36
+ for (const queryType in this._queries) {
37
+ if (this._queries[queryType]) {
38
+ this._queries[queryType].addEntity(entity);
39
+ }
40
+ }
41
+ }
42
+ /**
43
+ * Removes an entity from queries if the removed component disqualifies it
44
+ * @param entity
45
+ * @param component
46
+ */
47
+ removeComponent(entity, component) {
48
+ for (const queryType in this._queries) {
49
+ // If the component being removed from an entity is a part of a query,
50
+ // it is now disqualified from that query, remove it
51
+ if (this._queries[queryType].contain(component.type)) {
52
+ this._queries[queryType].removeEntity(entity);
53
+ }
54
+ }
55
+ }
56
+ /**
57
+ * Removes an entity from all queries it is currently a part of
58
+ * @param entity
59
+ */
60
+ removeEntity(entity) {
61
+ for (const queryType in this._queries) {
62
+ this._queries[queryType].removeEntity(entity);
63
+ }
64
+ }
65
+ /**
66
+ * Creates a populated query and returns, if the query already exists that will be returned instead of a new instance
67
+ * @param types
68
+ */
69
+ createQuery(types) {
70
+ const maybeExistingQuery = this.getQuery(types);
71
+ if (maybeExistingQuery) {
72
+ return maybeExistingQuery;
73
+ }
74
+ const query = new Query(types);
75
+ this._addQuery(query);
76
+ return query;
77
+ }
78
+ /**
79
+ * Retrieves an existing query by types if it exists otherwise returns null
80
+ * @param types
81
+ */
82
+ getQuery(types) {
83
+ const key = buildTypeKey(types);
84
+ if (this._queries[key]) {
85
+ return this._queries[key];
86
+ }
87
+ return null;
88
+ }
89
+ }
90
+ //# sourceMappingURL=QueryManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryManager.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/QueryManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC;;GAEG;AACH,MAAM,OAAO,YAAY;IAGvB,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAF9B,aAAQ,GAAiD,EAAE,CAAC;IAE3B,CAAC;IAE1C;;;OAGG;IACK,SAAS,CAAC,KAAiB;QACjC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;QACjD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE;YACvD,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACzB;IACH,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,KAAY;QAClC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,MAAc;QAC7B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aAC5C;SACF;IACH,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,MAAc,EAAE,SAAoB;QACzD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrC,sEAAsE;YACtE,oDAAoD;YACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACpD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,MAAc;QAChC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC/C;IACH,CAAC;IAED;;;OAGG;IACI,WAAW,CAAkC,KAAwB;QAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAI,KAAK,CAAC,CAAC;QACnD,IAAI,kBAAkB,EAAE;YACtB,OAAO,kBAAkB,CAAC;SAC3B;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAkC,KAAwB;QACvE,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAa,CAAC;SACvC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Enum that determines whether to run the system in the update or draw phase
3
+ */
4
+ export var SystemType;
5
+ (function (SystemType) {
6
+ SystemType["Update"] = "update";
7
+ SystemType["Draw"] = "draw";
8
+ })(SystemType || (SystemType = {}));
9
+ /**
10
+ * An Excalibur [[System]] that updates entities of certain types.
11
+ * Systems are scene specific
12
+ *
13
+ * Excalibur Systems currently require at least 1 Component type to operated
14
+ *
15
+ * Multiple types are declared as a type union
16
+ * For example:
17
+ *
18
+ * ```typescript
19
+ * class MySystem extends System<ComponentA | ComponentB> {
20
+ * public readonly types = ['a', 'b'] as const;
21
+ * public readonly systemType = SystemType.Update;
22
+ * public update(entities: Entity<ComponentA | ComponentB>) {
23
+ * ...
24
+ * }
25
+ * }
26
+ * ```
27
+ */
28
+ export class System {
29
+ constructor() {
30
+ /**
31
+ * System can execute in priority order, by default all systems are priority 0. Lower values indicated higher priority.
32
+ * For a system to execute before all other a lower priority value (-1 for example) must be set.
33
+ * For a system to execute after all other a higher priority value (10 for example) must be set.
34
+ */
35
+ this.priority = 0;
36
+ }
37
+ /**
38
+ * Systems observe when entities match their types or no longer match their types, override
39
+ * @param _entityAddedOrRemoved
40
+ */
41
+ notify(_entityAddedOrRemoved) {
42
+ // Override me
43
+ }
44
+ }
45
+ /**
46
+ * An [[Entity]] with [[Component]] types that matches a [[System]] types exists in the current scene.
47
+ */
48
+ export class AddedEntity {
49
+ constructor(data) {
50
+ this.data = data;
51
+ this.type = 'Entity Added';
52
+ }
53
+ }
54
+ /**
55
+ * Type guard to check for AddedEntity messages
56
+ * @param x
57
+ */
58
+ export function isAddedSystemEntity(x) {
59
+ return !!x && x.type === 'Entity Added';
60
+ }
61
+ /**
62
+ * An [[Entity]] with [[Component]] types that no longer matches a [[System]] types exists in the current scene.
63
+ */
64
+ export class RemovedEntity {
65
+ constructor(data) {
66
+ this.data = data;
67
+ this.type = 'Entity Removed';
68
+ }
69
+ }
70
+ /**
71
+ * type guard to check for the RemovedEntity message
72
+ */
73
+ export function isRemoveSystemEntity(x) {
74
+ return !!x && x.type === 'Entity Removed';
75
+ }
76
+ //# sourceMappingURL=System.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"System.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/System.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAgB,MAAM;IAA5B;QAaE;;;;WAIG;QACI,aAAQ,GAAW,CAAC,CAAC;IA2C9B,CAAC;IAPC;;;OAGG;IACI,MAAM,CAAC,qBAAkD;QAC9D,cAAc;IAChB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;IAEtB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QADtB,SAAI,GAAmB,cAAc,CAAC;IACb,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAkB;IACpD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAExB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QADtB,SAAI,GAAqB,gBAAgB,CAAC;IACjB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAkB;IACrD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { Scene, Util } from '..';
2
+ /**
3
+ * The SystemManager is responsible for keeping track of all systems in a scene.
4
+ * Systems are scene specific
5
+ */
6
+ export class SystemManager {
7
+ constructor(_world) {
8
+ this._world = _world;
9
+ /**
10
+ * List of systems, to add a new system call [[SystemManager.addSystem]]
11
+ */
12
+ this.systems = [];
13
+ this.initialized = false;
14
+ }
15
+ /**
16
+ * Get a system registered in the manager by type
17
+ * @param systemType
18
+ */
19
+ get(systemType) {
20
+ return this.systems.find((s) => s instanceof systemType);
21
+ }
22
+ /**
23
+ * Adds a system to the manager, it will now be updated every frame
24
+ * @param system
25
+ */
26
+ addSystem(system) {
27
+ // validate system has types
28
+ if (!system.types || system.types.length === 0) {
29
+ throw new Error(`Attempted to add a System without any types`);
30
+ }
31
+ const query = this._world.queryManager.createQuery(system.types);
32
+ this.systems.push(system);
33
+ this.systems.sort((a, b) => a.priority - b.priority);
34
+ query.register(system);
35
+ if (this.initialized && system.initialize) {
36
+ system.initialize(this._world.context);
37
+ }
38
+ }
39
+ /**
40
+ * Removes a system from the manager, it will no longer be updated
41
+ * @param system
42
+ */
43
+ removeSystem(system) {
44
+ Util.removeItemFromArray(system, this.systems);
45
+ const query = this._world.queryManager.getQuery(system.types);
46
+ if (query) {
47
+ query.unregister(system);
48
+ this._world.queryManager.maybeRemoveQuery(query);
49
+ }
50
+ }
51
+ /**
52
+ * Initialize all systems in the manager
53
+ *
54
+ * Systems added after initialize() will be initialized on add
55
+ */
56
+ initialize() {
57
+ if (!this.initialized) {
58
+ this.initialized = true;
59
+ for (const s of this.systems) {
60
+ if (s.initialize) {
61
+ s.initialize(this._world.context);
62
+ }
63
+ }
64
+ }
65
+ }
66
+ /**
67
+ * Updates all systems
68
+ * @param type whether this is an update or draw system
69
+ * @param context context reference
70
+ * @param delta time in milliseconds
71
+ */
72
+ updateSystems(type, context, delta) {
73
+ const systems = this.systems.filter((s) => s.systemType === type);
74
+ for (const s of systems) {
75
+ if (s.preupdate) {
76
+ s.preupdate(context, delta);
77
+ }
78
+ }
79
+ for (const s of systems) {
80
+ // Get entities that match the system types, pre-sort
81
+ const entities = this._world.queryManager.getQuery(s.types).getEntities(s.sort);
82
+ // Initialize entities if needed
83
+ if (context instanceof Scene) {
84
+ for (const entity of entities) {
85
+ entity._initialize(context === null || context === void 0 ? void 0 : context.engine);
86
+ }
87
+ }
88
+ s.update(entities, delta);
89
+ }
90
+ for (const s of systems) {
91
+ if (s.postupdate) {
92
+ s.postupdate(context, delta);
93
+ }
94
+ }
95
+ }
96
+ clear() {
97
+ for (const system of this.systems) {
98
+ this.removeSystem(system);
99
+ }
100
+ }
101
+ }
102
+ //# sourceMappingURL=SystemManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SystemManager.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/SystemManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export const buildTypeKey = (types) => {
2
+ const key = [...types].sort((a, b) => a.localeCompare(b)).join('+');
3
+ return key;
4
+ };
5
+ //# sourceMappingURL=Util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/Util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;IACvD,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { Entity } from './Entity';
2
+ import { EntityManager } from './EntityManager';
3
+ import { QueryManager } from './QueryManager';
4
+ import { System, SystemType } from './System';
5
+ import { SystemManager } from './SystemManager';
6
+ /**
7
+ * The World is a self-contained entity component system for a particular context.
8
+ */
9
+ export class World {
10
+ /**
11
+ * The context type is passed to the system updates
12
+ * @param context
13
+ */
14
+ constructor(context) {
15
+ this.context = context;
16
+ this.queryManager = new QueryManager(this);
17
+ this.entityManager = new EntityManager(this);
18
+ this.systemManager = new SystemManager(this);
19
+ }
20
+ /**
21
+ * Update systems by type and time elapsed in milliseconds
22
+ */
23
+ update(type, delta) {
24
+ if (type === SystemType.Update) {
25
+ this.entityManager.updateEntities(this.context, delta);
26
+ }
27
+ this.systemManager.updateSystems(type, this.context, delta);
28
+ this.entityManager.findEntitiesForRemoval();
29
+ this.entityManager.processComponentRemovals();
30
+ this.entityManager.processEntityRemovals();
31
+ }
32
+ add(entityOrSystem) {
33
+ if (entityOrSystem instanceof Entity) {
34
+ this.entityManager.addEntity(entityOrSystem);
35
+ }
36
+ if (entityOrSystem instanceof System) {
37
+ this.systemManager.addSystem(entityOrSystem);
38
+ }
39
+ }
40
+ remove(entityOrSystem, deferred = true) {
41
+ if (entityOrSystem instanceof Entity) {
42
+ this.entityManager.removeEntity(entityOrSystem, deferred);
43
+ }
44
+ if (entityOrSystem instanceof System) {
45
+ this.systemManager.removeSystem(entityOrSystem);
46
+ }
47
+ }
48
+ clearEntities() {
49
+ this.entityManager.clear();
50
+ }
51
+ clearSystems() {
52
+ this.systemManager.clear();
53
+ }
54
+ }
55
+ //# sourceMappingURL=World.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"World.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/World.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,KAAK;IAKhB;;;OAGG;IACH,YAAmB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QARhC,iBAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACpD,kBAAa,GAA+B,IAAI,aAAa,CAAc,IAAI,CAAC,CAAC;QACjF,kBAAa,GAA+B,IAAI,aAAa,CAAc,IAAI,CAAC,CAAC;IAM9C,CAAC;IAE3C;;OAEG;IACH,MAAM,CAAC,IAAgB,EAAE,KAAa;QACpC,IAAI,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;IAC7C,CAAC;IAYD,GAAG,CAAC,cAAiD;QACnD,IAAI,cAAc,YAAY,MAAM,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;SAC9C;QAED,IAAI,cAAc,YAAY,MAAM,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;SAC9C;IACH,CAAC;IAYD,MAAM,CAAC,cAAiD,EAAE,QAAQ,GAAG,IAAI;QACvE,IAAI,cAAc,YAAY,MAAM,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;SAC3D;QAED,IAAI,cAAc,YAAY,MAAM,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;SACjD;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ export * from './Component';
2
+ export * from './Entity';
3
+ export * from './EntityManager';
4
+ export * from './Query';
5
+ export * from './QueryManager';
6
+ export * from './System';
7
+ export * from './SystemManager';
8
+ export * from './World';
9
+ export * from './Components/TransformComponent';
10
+ export * from './Components/MotionComponent';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/EntityComponentSystem/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AAExB,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { GameEvent, SubscribeEvent, UnsubscribeEvent } from './Events';
2
+ export class EventDispatcher {
3
+ constructor() {
4
+ this._handlers = {};
5
+ this._wiredEventDispatchers = [];
6
+ }
7
+ /**
8
+ * Clears any existing handlers or wired event dispatchers on this event dispatcher
9
+ */
10
+ clear() {
11
+ this._handlers = {};
12
+ this._wiredEventDispatchers = [];
13
+ }
14
+ /**
15
+ * Emits an event for target
16
+ * @param eventName The name of the event to publish
17
+ * @param event Optionally pass an event data object to the handler
18
+ */
19
+ emit(eventName, event) {
20
+ if (!eventName) {
21
+ // key not mapped
22
+ return;
23
+ }
24
+ eventName = eventName.toLowerCase();
25
+ if (!event) {
26
+ event = new GameEvent();
27
+ }
28
+ let i, len;
29
+ if (this._handlers[eventName]) {
30
+ i = 0;
31
+ len = this._handlers[eventName].length;
32
+ for (i; i < len; i++) {
33
+ this._handlers[eventName][i](event);
34
+ }
35
+ }
36
+ i = 0;
37
+ len = this._wiredEventDispatchers.length;
38
+ for (i; i < len; i++) {
39
+ this._wiredEventDispatchers[i].emit(eventName, event);
40
+ }
41
+ }
42
+ /**
43
+ * Subscribe an event handler to a particular event name, multiple handlers per event name are allowed.
44
+ * @param eventName The name of the event to subscribe to
45
+ * @param handler The handler callback to fire on this event
46
+ */
47
+ on(eventName, handler) {
48
+ eventName = eventName.toLowerCase();
49
+ if (!this._handlers[eventName]) {
50
+ this._handlers[eventName] = [];
51
+ }
52
+ this._handlers[eventName].push(handler);
53
+ // meta event handlers
54
+ if (eventName !== 'unsubscribe' && eventName !== 'subscribe') {
55
+ this.emit('subscribe', new SubscribeEvent(eventName, handler));
56
+ }
57
+ }
58
+ /**
59
+ * Unsubscribe an event handler(s) from an event. If a specific handler
60
+ * is specified for an event, only that handler will be unsubscribed.
61
+ * Otherwise all handlers will be unsubscribed for that event.
62
+ *
63
+ * @param eventName The name of the event to unsubscribe
64
+ * @param handler Optionally the specific handler to unsubscribe
65
+ */
66
+ off(eventName, handler) {
67
+ eventName = eventName.toLowerCase();
68
+ const eventHandlers = this._handlers[eventName];
69
+ if (eventHandlers) {
70
+ // if no explicit handler is give with the event name clear all handlers
71
+ if (!handler) {
72
+ this._handlers[eventName].length = 0;
73
+ }
74
+ else {
75
+ const index = eventHandlers.indexOf(handler);
76
+ this._handlers[eventName].splice(index, 1);
77
+ }
78
+ }
79
+ // meta event handlers
80
+ if (eventName !== 'unsubscribe' && eventName !== 'subscribe') {
81
+ this.emit('unsubscribe', new UnsubscribeEvent(eventName, handler));
82
+ }
83
+ }
84
+ /**
85
+ * Once listens to an event one time, then unsubscribes from that event
86
+ *
87
+ * @param eventName The name of the event to subscribe to once
88
+ * @param handler The handler of the event that will be auto unsubscribed
89
+ */
90
+ once(eventName, handler) {
91
+ const metaHandler = (event) => {
92
+ const ev = event || new GameEvent();
93
+ this.off(eventName, handler);
94
+ handler(ev);
95
+ };
96
+ this.on(eventName, metaHandler);
97
+ }
98
+ /**
99
+ * Wires this event dispatcher to also receive events from another
100
+ */
101
+ wire(eventDispatcher) {
102
+ eventDispatcher._wiredEventDispatchers.push(this);
103
+ }
104
+ /**
105
+ * Unwires this event dispatcher from another
106
+ */
107
+ unwire(eventDispatcher) {
108
+ const index = eventDispatcher._wiredEventDispatchers.indexOf(this);
109
+ if (index > -1) {
110
+ eventDispatcher._wiredEventDispatchers.splice(index, 1);
111
+ }
112
+ }
113
+ }
114
+ //# sourceMappingURL=EventDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventDispatcher.js","sourceRoot":"","sources":["../../src/engine/EventDispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export class ExEvent {
2
+ constructor() {
3
+ this._active = true;
4
+ }
5
+ get active() {
6
+ return this._active;
7
+ }
8
+ cancel() {
9
+ this._active = false;
10
+ }
11
+ }
12
+ //# sourceMappingURL=ExEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExEvent.js","sourceRoot":"","sources":["../../../src/engine/Events/ExEvent.ts"],"names":[],"mappings":"AACA,MAAM,OAAgB,OAAO;IAA7B;QAGU,YAAO,GAAG,IAAI,CAAC;IAOzB,CAAC;IANC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACM,MAAM;QACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,75 @@
1
+ import { GameEvent } from '../Events';
2
+ export class MediaEvent extends GameEvent {
3
+ constructor(target, _name = 'MediaEvent') {
4
+ super();
5
+ this.target = target;
6
+ this._name = _name;
7
+ }
8
+ /**
9
+ * Media event cannot bubble
10
+ */
11
+ set bubbles(_value) {
12
+ // stubbed
13
+ }
14
+ /**
15
+ * Media event cannot bubble
16
+ */
17
+ get bubbles() {
18
+ return false;
19
+ }
20
+ /**
21
+ * Media event cannot bubble, so they have no path
22
+ */
23
+ get _path() {
24
+ return null;
25
+ }
26
+ /**
27
+ * Media event cannot bubble, so they have no path
28
+ */
29
+ set _path(_val) {
30
+ // stubbed
31
+ }
32
+ /**
33
+ * Prevents event from bubbling
34
+ */
35
+ stopPropagation() {
36
+ /**
37
+ * Stub
38
+ */
39
+ }
40
+ /**
41
+ * Action, that calls when event happens
42
+ */
43
+ action() {
44
+ /**
45
+ * Stub
46
+ */
47
+ }
48
+ /**
49
+ * Propagate event further through event path
50
+ */
51
+ propagate() {
52
+ /**
53
+ * Stub
54
+ */
55
+ }
56
+ layPath(_actor) {
57
+ /**
58
+ * Stub
59
+ */
60
+ }
61
+ }
62
+ export class NativeSoundEvent extends MediaEvent {
63
+ constructor(target, track) {
64
+ super(target, 'NativeSoundEvent');
65
+ this.track = track;
66
+ }
67
+ }
68
+ export class NativeSoundProcessedEvent extends MediaEvent {
69
+ constructor(target, _processedData) {
70
+ super(target, 'NativeSoundProcessedEvent');
71
+ this._processedData = _processedData;
72
+ this.data = this._processedData;
73
+ }
74
+ }
75
+ //# sourceMappingURL=MediaEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaEvents.js","sourceRoot":"","sources":["../../../src/engine/Events/MediaEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,MAAM,OAAO,UAAW,SAAQ,SAAgB;IA0B9C,YAAmB,MAAa,EAAY,QAAgB,YAAY;QACtE,KAAK,EAAE,CAAC;QADS,WAAM,GAAN,MAAM,CAAO;QAAY,UAAK,GAAL,KAAK,CAAuB;IAExE,CAAC;IA3BD;;OAEG;IACH,IAAW,OAAO,CAAC,MAAe;QAChC,UAAU;IACZ,CAAC;IACD;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD;;OAEG;IACH,IAAc,KAAK;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;OAEG;IACH,IAAc,KAAK,CAAC,IAAa;QAC/B,UAAU;IACZ,CAAC;IAMD;;OAEG;IACI,eAAe;QACpB;;WAEG;IACL,CAAC;IACD;;OAEG;IACI,MAAM;QACX;;WAEG;IACL,CAAC;IACD;;OAEG;IACI,SAAS;QACd;;WAEG;IACL,CAAC;IAEM,OAAO,CAAC,MAAa;QAC1B;;WAEG;IACL,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YAAY,MAAa,EAAS,KAAwB;QACxD,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QADF,UAAK,GAAL,KAAK,CAAmB;IAE1D,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IAGvD,YAAY,MAAa,EAAU,cAAoC;QACrE,KAAK,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QADV,mBAAc,GAAd,cAAc,CAAsB;QAGrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,52 @@
1
+ import { ExEvent } from './ExEvent';
2
+ export class PointerEvent extends ExEvent {
3
+ constructor(pointerId, coordinates, nativeEvent) {
4
+ super();
5
+ this.pointerId = pointerId;
6
+ this.coordinates = coordinates;
7
+ this.nativeEvent = nativeEvent;
8
+ }
9
+ }
10
+ export class PointerUp extends PointerEvent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.type = 'up';
14
+ }
15
+ }
16
+ export class PointerDown extends PointerEvent {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.type = 'down';
20
+ }
21
+ }
22
+ export class PointerMove extends PointerEvent {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.type = 'move';
26
+ }
27
+ }
28
+ export class PointerCancel extends PointerEvent {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.type = 'cancel';
32
+ }
33
+ }
34
+ export class Wheel extends ExEvent {
35
+ constructor(x, y, pageX, pageY, screenX, screenY, index, deltaX, deltaY, deltaZ, deltaMode, ev) {
36
+ super();
37
+ this.x = x;
38
+ this.y = y;
39
+ this.pageX = pageX;
40
+ this.pageY = pageY;
41
+ this.screenX = screenX;
42
+ this.screenY = screenY;
43
+ this.index = index;
44
+ this.deltaX = deltaX;
45
+ this.deltaY = deltaY;
46
+ this.deltaZ = deltaZ;
47
+ this.deltaMode = deltaMode;
48
+ this.ev = ev;
49
+ this.type = 'wheel';
50
+ }
51
+ }
52
+ //# sourceMappingURL=PointerEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointerEvents.js","sourceRoot":"","sources":["../../../src/engine/Events/PointerEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,OAAgB,YAAa,SAAQ,OAA0C;IACnF,YACS,SAAiB,EACjB,WAA8B,EAC9B,WAAkB;QACzB,KAAK,EAAE,CAAC;QAHD,cAAS,GAAT,SAAS,CAAQ;QACjB,gBAAW,GAAX,WAAW,CAAmB;QAC9B,gBAAW,GAAX,WAAW,CAAO;IAE3B,CAAC;CACF;AACD,MAAM,OAAO,SAAU,SAAQ,YAAY;IAA3C;;QACkB,SAAI,GAAG,IAAI,CAAC;IAC9B,CAAC;CAAA;AACD,MAAM,OAAO,WAAY,SAAQ,YAAY;IAA7C;;QACkB,SAAI,GAAG,MAAM,CAAC;IAChC,CAAC;CAAA;AACD,MAAM,OAAO,WAAY,SAAQ,YAAY;IAA7C;;QACkB,SAAI,GAAG,MAAM,CAAC;IAChC,CAAC;CAAA;AACD,MAAM,OAAO,aAAc,SAAQ,YAAY;IAA/C;;QACkB,SAAI,GAAG,QAAQ,CAAC;IAClC,CAAC;CAAA;AAED,MAAM,OAAO,KAAM,SAAQ,OAAgB;IAEzC,YACS,CAAS,EACT,CAAS,EACT,KAAa,EACb,KAAa,EACb,OAAe,EACf,OAAe,EACf,KAAa,EACb,MAAc,EACd,MAAc,EACd,MAAc,EACd,SAAyB,EACzB,EAAS;QAEhB,KAAK,EAAE,CAAC;QAbD,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;QACT,UAAK,GAAL,KAAK,CAAQ;QACb,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAgB;QACzB,OAAE,GAAF,EAAE,CAAO;QAbF,SAAI,GAAG,OAAO,CAAC;IAgB/B,CAAC;CACF"}