excalibur 0.28.3 → 0.28.4

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 (482) hide show
  1. package/.gitattributes +63 -63
  2. package/CHANGELOG.md +2003 -1955
  3. package/LICENSE.md +25 -25
  4. package/README.md +134 -134
  5. package/STYLEGUIDE.md +136 -136
  6. package/build/dist/Actions/Action/ActionSequence.js +31 -0
  7. package/build/dist/Actions/Action/ActionSequence.js.map +1 -0
  8. package/build/dist/Actions/Action/Blink.js +54 -0
  9. package/build/dist/Actions/Action/Blink.js.map +1 -0
  10. package/build/dist/Actions/Action/CallMethod.js +21 -0
  11. package/build/dist/Actions/Action/CallMethod.js.map +1 -0
  12. package/build/dist/Actions/Action/Delay.js +26 -0
  13. package/build/dist/Actions/Action/Delay.js.map +1 -0
  14. package/build/dist/Actions/Action/Die.js +22 -0
  15. package/build/dist/Actions/Action/Die.js.map +1 -0
  16. package/build/dist/Actions/Action/EaseBy.js +70 -0
  17. package/build/dist/Actions/Action/EaseBy.js.map +1 -0
  18. package/build/dist/Actions/Action/EaseTo.js +69 -0
  19. package/build/dist/Actions/Action/EaseTo.js.map +1 -0
  20. package/build/dist/Actions/Action/Fade.js +48 -0
  21. package/build/dist/Actions/Action/Fade.js.map +1 -0
  22. package/build/dist/Actions/Action/Follow.js +56 -0
  23. package/build/dist/Actions/Action/Follow.js.map +1 -0
  24. package/build/dist/Actions/Action/Meet.js +54 -0
  25. package/build/dist/Actions/Action/Meet.js.map +1 -0
  26. package/build/dist/Actions/Action/MoveBy.js +48 -0
  27. package/build/dist/Actions/Action/MoveBy.js.map +1 -0
  28. package/build/dist/Actions/Action/MoveTo.js +41 -0
  29. package/build/dist/Actions/Action/MoveTo.js.map +1 -0
  30. package/build/dist/Actions/Action/ParallelActions.js +23 -0
  31. package/build/dist/Actions/Action/ParallelActions.js.map +1 -0
  32. package/build/dist/Actions/Action/Repeat.js +31 -0
  33. package/build/dist/Actions/Action/Repeat.js.map +1 -0
  34. package/build/dist/Actions/Action/RepeatForever.js +37 -0
  35. package/build/dist/Actions/Action/RepeatForever.js.map +1 -0
  36. package/build/dist/Actions/Action/RotateBy.js +95 -0
  37. package/build/dist/Actions/Action/RotateBy.js.map +1 -0
  38. package/build/dist/Actions/Action/RotateTo.js +91 -0
  39. package/build/dist/Actions/Action/RotateTo.js.map +1 -0
  40. package/build/dist/Actions/Action/ScaleBy.js +46 -0
  41. package/build/dist/Actions/Action/ScaleBy.js.map +1 -0
  42. package/build/dist/Actions/Action/ScaleTo.js +58 -0
  43. package/build/dist/Actions/Action/ScaleTo.js.map +1 -0
  44. package/build/dist/Actions/Action.js +2 -0
  45. package/build/dist/Actions/Action.js.map +1 -0
  46. package/build/dist/Actions/ActionContext.js +322 -0
  47. package/build/dist/Actions/ActionContext.js.map +1 -0
  48. package/build/dist/Actions/ActionQueue.js +87 -0
  49. package/build/dist/Actions/ActionQueue.js.map +1 -0
  50. package/build/dist/Actions/Actionable.js +2 -0
  51. package/build/dist/Actions/Actionable.js.map +1 -0
  52. package/build/dist/Actions/ActionsComponent.js +195 -0
  53. package/build/dist/Actions/ActionsComponent.js.map +1 -0
  54. package/build/dist/Actions/ActionsSystem.js +30 -0
  55. package/build/dist/Actions/ActionsSystem.js.map +1 -0
  56. package/build/dist/Actions/Index.js +26 -0
  57. package/build/dist/Actions/Index.js.map +1 -0
  58. package/build/dist/Actions/RotationType.js +27 -0
  59. package/build/dist/Actions/RotationType.js.map +1 -0
  60. package/build/dist/Actor.js +629 -0
  61. package/build/dist/Actor.js.map +1 -0
  62. package/build/dist/Camera.js +660 -0
  63. package/build/dist/Camera.js.map +1 -0
  64. package/build/dist/Collision/BoundingBox.js +415 -0
  65. package/build/dist/Collision/BoundingBox.js.map +1 -0
  66. package/build/dist/Collision/ColliderComponent.js +202 -0
  67. package/build/dist/Collision/ColliderComponent.js.map +1 -0
  68. package/build/dist/Collision/Colliders/CircleCollider.js +226 -0
  69. package/build/dist/Collision/Colliders/CircleCollider.js.map +1 -0
  70. package/build/dist/Collision/Colliders/ClosestLineJumpTable.js +211 -0
  71. package/build/dist/Collision/Colliders/ClosestLineJumpTable.js.map +1 -0
  72. package/build/dist/Collision/Colliders/Collider.js +32 -0
  73. package/build/dist/Collision/Colliders/Collider.js.map +1 -0
  74. package/build/dist/Collision/Colliders/CollisionJumpTable.js +300 -0
  75. package/build/dist/Collision/Colliders/CollisionJumpTable.js.map +1 -0
  76. package/build/dist/Collision/Colliders/EdgeCollider.js +229 -0
  77. package/build/dist/Collision/Colliders/EdgeCollider.js.map +1 -0
  78. package/build/dist/Collision/Colliders/PolygonCollider.js +556 -0
  79. package/build/dist/Collision/Colliders/PolygonCollider.js.map +1 -0
  80. package/build/dist/Collision/Colliders/SeparatingAxis.js +67 -0
  81. package/build/dist/Collision/Colliders/SeparatingAxis.js.map +1 -0
  82. package/build/dist/Collision/Colliders/Shape.js +99 -0
  83. package/build/dist/Collision/Colliders/Shape.js.map +1 -0
  84. package/build/dist/Collision/CollisionType.js +33 -0
  85. package/build/dist/Collision/CollisionType.js.map +1 -0
  86. package/build/dist/Collision/Detection/CollisionContact.js +51 -0
  87. package/build/dist/Collision/Detection/CollisionContact.js.map +1 -0
  88. package/build/dist/Collision/Detection/CollisionProcessor.js +2 -0
  89. package/build/dist/Collision/Detection/CollisionProcessor.js.map +1 -0
  90. package/build/dist/Collision/Detection/DynamicTree.js +442 -0
  91. package/build/dist/Collision/Detection/DynamicTree.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/Detection/QuadTree.js +193 -0
  95. package/build/dist/Collision/Detection/QuadTree.js.map +1 -0
  96. package/build/dist/Collision/Group/CollisionGroup.js +3 -3
  97. package/build/dist/Collision/Integrator.js +25 -0
  98. package/build/dist/Collision/Integrator.js.map +1 -0
  99. package/build/dist/Collision/MotionSystem.js +35 -0
  100. package/build/dist/Collision/MotionSystem.js.map +1 -0
  101. package/build/dist/Collision/Physics.js +163 -0
  102. package/build/dist/Collision/Physics.js.map +1 -0
  103. package/build/dist/Collision/PhysicsWorld.js +10 -0
  104. package/build/dist/Collision/PhysicsWorld.js.map +1 -0
  105. package/build/dist/Collision/Side.js +51 -0
  106. package/build/dist/Collision/Side.js.map +1 -0
  107. package/build/dist/Collision/Solver/ArcadeSolver.js +154 -0
  108. package/build/dist/Collision/Solver/ArcadeSolver.js.map +1 -0
  109. package/build/dist/Collision/Solver/ContactConstraintPoint.js +87 -0
  110. package/build/dist/Collision/Solver/ContactConstraintPoint.js.map +1 -0
  111. package/build/dist/Collision/Solver/RealisticSolver.js +293 -0
  112. package/build/dist/Collision/Solver/RealisticSolver.js.map +1 -0
  113. package/build/dist/Collision/Solver/Solver.js +2 -0
  114. package/build/dist/Collision/Solver/Solver.js.map +1 -0
  115. package/build/dist/Color.js +417 -0
  116. package/build/dist/Color.js.map +1 -0
  117. package/build/dist/Configurable.js +32 -0
  118. package/build/dist/Configurable.js.map +1 -0
  119. package/build/dist/Debug/Debug.d.ts +11 -0
  120. package/build/dist/Debug/Debug.js +385 -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 +263 -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/Engine.js +986 -0
  131. package/build/dist/Engine.js.map +1 -0
  132. package/build/dist/EntityComponentSystem/Component.js +65 -0
  133. package/build/dist/EntityComponentSystem/Component.js.map +1 -0
  134. package/build/dist/EntityComponentSystem/Components/MotionComponent.js +33 -0
  135. package/build/dist/EntityComponentSystem/Components/MotionComponent.js.map +1 -0
  136. package/build/dist/EntityComponentSystem/Components/TransformComponent.js +107 -0
  137. package/build/dist/EntityComponentSystem/Components/TransformComponent.js.map +1 -0
  138. package/build/dist/EntityComponentSystem/Entity.js +487 -0
  139. package/build/dist/EntityComponentSystem/Entity.js.map +1 -0
  140. package/build/dist/EntityComponentSystem/EntityManager.js +137 -0
  141. package/build/dist/EntityComponentSystem/EntityManager.js.map +1 -0
  142. package/build/dist/EntityComponentSystem/Query.js +90 -0
  143. package/build/dist/EntityComponentSystem/Query.js.map +1 -0
  144. package/build/dist/EntityComponentSystem/QueryManager.js +90 -0
  145. package/build/dist/EntityComponentSystem/QueryManager.js.map +1 -0
  146. package/build/dist/EntityComponentSystem/System.js +76 -0
  147. package/build/dist/EntityComponentSystem/System.js.map +1 -0
  148. package/build/dist/EntityComponentSystem/SystemManager.js +104 -0
  149. package/build/dist/EntityComponentSystem/SystemManager.js.map +1 -0
  150. package/build/dist/EntityComponentSystem/Util.js +5 -0
  151. package/build/dist/EntityComponentSystem/Util.js.map +1 -0
  152. package/build/dist/EntityComponentSystem/World.js +55 -0
  153. package/build/dist/EntityComponentSystem/World.js.map +1 -0
  154. package/build/dist/EntityComponentSystem/index.js +11 -0
  155. package/build/dist/EntityComponentSystem/index.js.map +1 -0
  156. package/build/dist/EventDispatcher.js +122 -0
  157. package/build/dist/EventDispatcher.js.map +1 -0
  158. package/build/dist/EventEmitter.js +86 -0
  159. package/build/dist/EventEmitter.js.map +1 -0
  160. package/build/dist/Events/ExEvent.js +12 -0
  161. package/build/dist/Events/ExEvent.js.map +1 -0
  162. package/build/dist/Events/MediaEvents.js +75 -0
  163. package/build/dist/Events/MediaEvents.js.map +1 -0
  164. package/build/dist/Events/PointerEvents.js +52 -0
  165. package/build/dist/Events/PointerEvents.js.map +1 -0
  166. package/build/dist/Events.js +473 -0
  167. package/build/dist/Events.js.map +1 -0
  168. package/build/dist/Flags.js +67 -0
  169. package/build/dist/Flags.js.map +1 -0
  170. package/build/dist/Graphics/Animation.js +344 -0
  171. package/build/dist/Graphics/Animation.js.map +1 -0
  172. package/build/dist/Graphics/Canvas.js +38 -0
  173. package/build/dist/Graphics/Canvas.js.map +1 -0
  174. package/build/dist/Graphics/Circle.js +48 -0
  175. package/build/dist/Graphics/Circle.js.map +1 -0
  176. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js +2 -0
  177. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js.map +1 -0
  178. package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js +237 -0
  179. package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js.map +1 -0
  180. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.d.ts +1 -0
  181. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js +481 -0
  182. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js.map +1 -0
  183. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.frag.glsl +52 -52
  184. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.js +174 -0
  185. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.js.map +1 -0
  186. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.vert.glsl +37 -37
  187. package/build/dist/Graphics/Context/debug-text.js +47 -0
  188. package/build/dist/Graphics/Context/debug-text.js.map +1 -0
  189. package/build/dist/Graphics/Context/draw-call.js +16 -0
  190. package/build/dist/Graphics/Context/draw-call.js.map +1 -0
  191. package/build/dist/Graphics/Context/image-renderer/image-renderer.frag.glsl +32 -32
  192. package/build/dist/Graphics/Context/image-renderer/image-renderer.js +246 -0
  193. package/build/dist/Graphics/Context/image-renderer/image-renderer.js.map +1 -0
  194. package/build/dist/Graphics/Context/image-renderer/image-renderer.vert.glsl +32 -32
  195. package/build/dist/Graphics/Context/line-renderer/line-fragment.glsl +10 -10
  196. package/build/dist/Graphics/Context/line-renderer/line-renderer.js +90 -0
  197. package/build/dist/Graphics/Context/line-renderer/line-renderer.js.map +1 -0
  198. package/build/dist/Graphics/Context/line-renderer/line-vertex.glsl +14 -14
  199. package/build/dist/Graphics/Context/material-renderer/material-renderer.js +23 -2
  200. package/build/dist/Graphics/Context/material-renderer/material-renderer.js.map +1 -1
  201. package/build/dist/Graphics/Context/material.d.ts +2 -0
  202. package/build/dist/Graphics/Context/material.js +72 -0
  203. package/build/dist/Graphics/Context/material.js.map +1 -0
  204. package/build/dist/Graphics/Context/point-renderer/point-fragment.glsl +19 -19
  205. package/build/dist/Graphics/Context/point-renderer/point-renderer.js +91 -0
  206. package/build/dist/Graphics/Context/point-renderer/point-renderer.js.map +1 -0
  207. package/build/dist/Graphics/Context/point-renderer/point-vertex.glsl +11 -11
  208. package/build/dist/Graphics/Context/quad-index-buffer.js +67 -0
  209. package/build/dist/Graphics/Context/quad-index-buffer.js.map +1 -0
  210. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.frag.glsl +85 -85
  211. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.js +305 -0
  212. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.js.map +1 -0
  213. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.vert.glsl +42 -42
  214. package/build/dist/Graphics/Context/render-source.js +16 -0
  215. package/build/dist/Graphics/Context/render-source.js.map +1 -0
  216. package/build/dist/Graphics/Context/render-target.js +65 -0
  217. package/build/dist/Graphics/Context/render-target.js.map +1 -0
  218. package/build/dist/Graphics/Context/renderer.js +2 -0
  219. package/build/dist/Graphics/Context/renderer.js.map +1 -0
  220. package/build/dist/Graphics/Context/screen-pass-painter/screen-fragment.glsl +13 -13
  221. package/build/dist/Graphics/Context/screen-pass-painter/screen-pass-painter.js +56 -0
  222. package/build/dist/Graphics/Context/screen-pass-painter/screen-pass-painter.js.map +1 -0
  223. package/build/dist/Graphics/Context/screen-pass-painter/screen-vertex.glsl +11 -11
  224. package/build/dist/Graphics/Context/state-stack.js +37 -0
  225. package/build/dist/Graphics/Context/state-stack.js.map +1 -0
  226. package/build/dist/Graphics/Context/texture-loader.js +109 -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 +53 -0
  231. package/build/dist/Graphics/Context/vertex-buffer.js.map +1 -0
  232. package/build/dist/Graphics/Context/webgl-util.js +79 -0
  233. package/build/dist/Graphics/Context/webgl-util.js.map +1 -0
  234. package/build/dist/Graphics/DebugGraphicsComponent.d.ts +3 -2
  235. package/build/dist/Graphics/DebugGraphicsComponent.js +16 -0
  236. package/build/dist/Graphics/DebugGraphicsComponent.js.map +1 -0
  237. package/build/dist/Graphics/Filtering.js +17 -0
  238. package/build/dist/Graphics/Filtering.js.map +1 -0
  239. package/build/dist/Graphics/Font.js +148 -0
  240. package/build/dist/Graphics/Font.js.map +1 -0
  241. package/build/dist/Graphics/FontCache.d.ts +1 -0
  242. package/build/dist/Graphics/FontCache.js +80 -0
  243. package/build/dist/Graphics/FontCache.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/FontTextInstance.js +230 -0
  247. package/build/dist/Graphics/FontTextInstance.js.map +1 -0
  248. package/build/dist/Graphics/Graphic.js +208 -0
  249. package/build/dist/Graphics/Graphic.js.map +1 -0
  250. package/build/dist/Graphics/GraphicsComponent.js +336 -0
  251. package/build/dist/Graphics/GraphicsComponent.js.map +1 -0
  252. package/build/dist/Graphics/GraphicsDiagnostics.js +9 -0
  253. package/build/dist/Graphics/GraphicsDiagnostics.js.map +1 -0
  254. package/build/dist/Graphics/GraphicsGroup.js +69 -0
  255. package/build/dist/Graphics/GraphicsGroup.js.map +1 -0
  256. package/build/dist/Graphics/GraphicsSystem.js +210 -0
  257. package/build/dist/Graphics/GraphicsSystem.js.map +1 -0
  258. package/build/dist/Graphics/ImageSource.js +124 -0
  259. package/build/dist/Graphics/ImageSource.js.map +1 -0
  260. package/build/dist/Graphics/Line.js +45 -0
  261. package/build/dist/Graphics/Line.js.map +1 -0
  262. package/build/dist/Graphics/OffscreenSystem.js +64 -0
  263. package/build/dist/Graphics/OffscreenSystem.js.map +1 -0
  264. package/build/dist/Graphics/ParallaxComponent.js +11 -0
  265. package/build/dist/Graphics/ParallaxComponent.js.map +1 -0
  266. package/build/dist/Graphics/Polygon.js +59 -0
  267. package/build/dist/Graphics/Polygon.js.map +1 -0
  268. package/build/dist/Graphics/PostProcessor/ColorBlindnessMode.js +7 -0
  269. package/build/dist/Graphics/PostProcessor/ColorBlindnessMode.js.map +1 -0
  270. package/build/dist/Graphics/PostProcessor/ColorBlindnessPostProcessor.js +52 -0
  271. package/build/dist/Graphics/PostProcessor/ColorBlindnessPostProcessor.js.map +1 -0
  272. package/build/dist/Graphics/PostProcessor/PostProcessor.js +2 -0
  273. package/build/dist/Graphics/PostProcessor/PostProcessor.js.map +1 -0
  274. package/build/dist/Graphics/PostProcessor/ScreenShader.js +59 -0
  275. package/build/dist/Graphics/PostProcessor/ScreenShader.js.map +1 -0
  276. package/build/dist/Graphics/PostProcessor/color-blind-fragment.glsl +64 -64
  277. package/build/dist/Graphics/Raster.js +215 -0
  278. package/build/dist/Graphics/Raster.js.map +1 -0
  279. package/build/dist/Graphics/Rectangle.js +29 -0
  280. package/build/dist/Graphics/Rectangle.js.map +1 -0
  281. package/build/dist/Graphics/Sprite.js +82 -0
  282. package/build/dist/Graphics/Sprite.js.map +1 -0
  283. package/build/dist/Graphics/SpriteFont.js +139 -0
  284. package/build/dist/Graphics/SpriteFont.js.map +1 -0
  285. package/build/dist/Graphics/SpriteSheet.js +116 -0
  286. package/build/dist/Graphics/SpriteSheet.js.map +1 -0
  287. package/build/dist/Graphics/Text.js +103 -0
  288. package/build/dist/Graphics/Text.js.map +1 -0
  289. package/build/dist/Graphics/index.js +46 -0
  290. package/build/dist/Graphics/index.js.map +1 -0
  291. package/build/dist/Id.js +8 -0
  292. package/build/dist/Id.js.map +1 -0
  293. package/build/dist/Input/CapturePointerConfig.js +5 -0
  294. package/build/dist/Input/CapturePointerConfig.js.map +1 -0
  295. package/build/dist/Input/EngineInput.js +2 -0
  296. package/build/dist/Input/EngineInput.js.map +1 -0
  297. package/build/dist/Input/Gamepad.js +422 -0
  298. package/build/dist/Input/Gamepad.js.map +1 -0
  299. package/build/dist/Input/Index.js +88 -0
  300. package/build/dist/Input/Index.js.map +1 -0
  301. package/build/dist/Input/InputMapper.js +45 -0
  302. package/build/dist/Input/InputMapper.js.map +1 -0
  303. package/build/dist/Input/Keyboard.js +348 -0
  304. package/build/dist/Input/Keyboard.js.map +1 -0
  305. package/build/dist/Input/NativePointerButton.js +12 -0
  306. package/build/dist/Input/NativePointerButton.js.map +1 -0
  307. package/build/dist/Input/PointerAbstraction.js +44 -0
  308. package/build/dist/Input/PointerAbstraction.js.map +1 -0
  309. package/build/dist/Input/PointerButton.js +12 -0
  310. package/build/dist/Input/PointerButton.js.map +1 -0
  311. package/build/dist/Input/PointerComponent.js +28 -0
  312. package/build/dist/Input/PointerComponent.js.map +1 -0
  313. package/build/dist/Input/PointerEvent.js +25 -0
  314. package/build/dist/Input/PointerEvent.js.map +1 -0
  315. package/build/dist/Input/PointerEventReceiver.js +456 -0
  316. package/build/dist/Input/PointerEventReceiver.js.map +1 -0
  317. package/build/dist/Input/PointerScope.js +16 -0
  318. package/build/dist/Input/PointerScope.js.map +1 -0
  319. package/build/dist/Input/PointerSystem.js +249 -0
  320. package/build/dist/Input/PointerSystem.js.map +1 -0
  321. package/build/dist/Input/PointerType.js +11 -0
  322. package/build/dist/Input/PointerType.js.map +1 -0
  323. package/build/dist/Input/WheelDeltaMode.js +7 -0
  324. package/build/dist/Input/WheelDeltaMode.js.map +1 -0
  325. package/build/dist/Input/WheelEvent.js +21 -0
  326. package/build/dist/Input/WheelEvent.js.map +1 -0
  327. package/build/dist/Interfaces/Audio.js +2 -0
  328. package/build/dist/Interfaces/Audio.js.map +1 -0
  329. package/build/dist/Interfaces/AudioImplementation.js +11 -0
  330. package/build/dist/Interfaces/AudioImplementation.js.map +1 -0
  331. package/build/dist/Interfaces/Clonable.js +2 -0
  332. package/build/dist/Interfaces/Clonable.js.map +1 -0
  333. package/build/dist/Interfaces/Evented.js +2 -0
  334. package/build/dist/Interfaces/Evented.js.map +1 -0
  335. package/build/dist/Interfaces/Index.js +8 -0
  336. package/build/dist/Interfaces/Index.js.map +1 -0
  337. package/build/dist/Interfaces/LifecycleEvents.js +51 -0
  338. package/build/dist/Interfaces/LifecycleEvents.js.map +1 -0
  339. package/build/dist/Interfaces/Loadable.js +2 -0
  340. package/build/dist/Interfaces/Loadable.js.map +1 -0
  341. package/build/dist/Interfaces/PointerEventHandlers.js +2 -0
  342. package/build/dist/Interfaces/PointerEventHandlers.js.map +1 -0
  343. package/build/dist/Label.js +81 -0
  344. package/build/dist/Label.js.map +1 -0
  345. package/build/dist/Loader.js +416 -0
  346. package/build/dist/Loader.js.map +1 -0
  347. package/build/dist/Math/Index.js +13 -0
  348. package/build/dist/Math/Index.js.map +1 -0
  349. package/build/dist/Math/Random.js +239 -0
  350. package/build/dist/Math/Random.js.map +1 -0
  351. package/build/dist/Math/affine-matrix.js +331 -0
  352. package/build/dist/Math/affine-matrix.js.map +1 -0
  353. package/build/dist/Math/coord-plane.js +17 -0
  354. package/build/dist/Math/coord-plane.js.map +1 -0
  355. package/build/dist/Math/global-coordinates.js +30 -0
  356. package/build/dist/Math/global-coordinates.js.map +1 -0
  357. package/build/dist/Math/line-segment.js +205 -0
  358. package/build/dist/Math/line-segment.js.map +1 -0
  359. package/build/dist/Math/matrix.js +457 -0
  360. package/build/dist/Math/matrix.js.map +1 -0
  361. package/build/dist/Math/projection.js +24 -0
  362. package/build/dist/Math/projection.js.map +1 -0
  363. package/build/dist/Math/ray.js +52 -0
  364. package/build/dist/Math/ray.js.map +1 -0
  365. package/build/dist/Math/transform.js +219 -0
  366. package/build/dist/Math/transform.js.map +1 -0
  367. package/build/dist/Math/util.js +82 -0
  368. package/build/dist/Math/util.js.map +1 -0
  369. package/build/dist/Math/vector-view.js +25 -0
  370. package/build/dist/Math/vector-view.js.map +1 -0
  371. package/build/dist/Math/vector.js +340 -0
  372. package/build/dist/Math/vector.js.map +1 -0
  373. package/build/dist/Math/watch-vector.js +26 -0
  374. package/build/dist/Math/watch-vector.js.map +1 -0
  375. package/build/dist/Particles.js +430 -0
  376. package/build/dist/Particles.js.map +1 -0
  377. package/build/dist/Polyfill.js +56 -0
  378. package/build/dist/Polyfill.js.map +1 -0
  379. package/build/dist/Resources/Gif.js +464 -0
  380. package/build/dist/Resources/Gif.js.map +1 -0
  381. package/build/dist/Resources/Index.js +4 -0
  382. package/build/dist/Resources/Index.js.map +1 -0
  383. package/build/dist/Resources/Resource.js +81 -0
  384. package/build/dist/Resources/Resource.js.map +1 -0
  385. package/build/dist/Resources/Sound/AudioContext.js +16 -0
  386. package/build/dist/Resources/Sound/AudioContext.js.map +1 -0
  387. package/build/dist/Resources/Sound/Index.js +4 -0
  388. package/build/dist/Resources/Sound/Index.js.map +1 -0
  389. package/build/dist/Resources/Sound/Sound.js +326 -0
  390. package/build/dist/Resources/Sound/Sound.js.map +1 -0
  391. package/build/dist/Resources/Sound/WebAudioInstance.js +190 -0
  392. package/build/dist/Resources/Sound/WebAudioInstance.js.map +1 -0
  393. package/build/dist/Scene.js +444 -0
  394. package/build/dist/Scene.js.map +1 -0
  395. package/build/dist/Screen.js +782 -0
  396. package/build/dist/Screen.js.map +1 -0
  397. package/build/dist/ScreenElement.js +43 -0
  398. package/build/dist/ScreenElement.js.map +1 -0
  399. package/build/dist/TileMap/IsometricEntityComponent.js +17 -0
  400. package/build/dist/TileMap/IsometricEntityComponent.js.map +1 -0
  401. package/build/dist/TileMap/IsometricEntitySystem.js +23 -0
  402. package/build/dist/TileMap/IsometricEntitySystem.js.map +1 -0
  403. package/build/dist/TileMap/IsometricMap.js +311 -0
  404. package/build/dist/TileMap/IsometricMap.js.map +1 -0
  405. package/build/dist/TileMap/TileMap.d.ts +2 -1
  406. package/build/dist/TileMap/TileMap.js +630 -0
  407. package/build/dist/TileMap/TileMap.js.map +1 -0
  408. package/build/dist/TileMap/index.js +5 -0
  409. package/build/dist/TileMap/index.js.map +1 -0
  410. package/build/dist/Timer.js +202 -0
  411. package/build/dist/Timer.js.map +1 -0
  412. package/build/dist/Trigger.js +94 -0
  413. package/build/dist/Trigger.js.map +1 -0
  414. package/build/dist/Util/Browser.js +66 -0
  415. package/build/dist/Util/Browser.js.map +1 -0
  416. package/build/dist/Util/Clock.js +219 -0
  417. package/build/dist/Util/Clock.js.map +1 -0
  418. package/build/dist/Util/Decorators.js +78 -0
  419. package/build/dist/Util/Decorators.js.map +1 -0
  420. package/build/dist/Util/Detector.js +167 -0
  421. package/build/dist/Util/Detector.js.map +1 -0
  422. package/build/dist/Util/DrawUtil.js +115 -0
  423. package/build/dist/Util/DrawUtil.js.map +1 -0
  424. package/build/dist/Util/EasingFunctions.js +102 -0
  425. package/build/dist/Util/EasingFunctions.js.map +1 -0
  426. package/build/dist/Util/Fps.js +47 -0
  427. package/build/dist/Util/Fps.js.map +1 -0
  428. package/build/dist/Util/Future.js +30 -0
  429. package/build/dist/Util/Future.js.map +1 -0
  430. package/build/dist/Util/IFrame.js +23 -0
  431. package/build/dist/Util/IFrame.js.map +1 -0
  432. package/build/dist/Util/Index.js +7 -0
  433. package/build/dist/Util/Index.js.map +1 -0
  434. package/build/dist/Util/Log.js +195 -0
  435. package/build/dist/Util/Log.js.map +1 -0
  436. package/build/dist/Util/Observable.js +66 -0
  437. package/build/dist/Util/Observable.js.map +1 -0
  438. package/build/dist/Util/Pool.js +74 -0
  439. package/build/dist/Util/Pool.js.map +1 -0
  440. package/build/dist/Util/Semaphore.js +55 -0
  441. package/build/dist/Util/Semaphore.js.map +1 -0
  442. package/build/dist/Util/Sound.js +22 -0
  443. package/build/dist/Util/Sound.js.map +1 -0
  444. package/build/dist/Util/StateMachine.js +79 -0
  445. package/build/dist/Util/StateMachine.js.map +1 -0
  446. package/build/dist/Util/Toaster.css +28 -28
  447. package/build/dist/Util/Toaster.js +84 -0
  448. package/build/dist/Util/Toaster.js.map +1 -0
  449. package/build/dist/Util/Util.d.ts +6 -0
  450. package/build/dist/Util/Util.js +95 -0
  451. package/build/dist/Util/Util.js.map +1 -0
  452. package/build/dist/Util/Watch.js +67 -0
  453. package/build/dist/Util/Watch.js.map +1 -0
  454. package/build/dist/Util/WebAudio.js +62 -0
  455. package/build/dist/Util/WebAudio.js.map +1 -0
  456. package/build/dist/excalibur.d.ts +2 -2
  457. package/build/dist/excalibur.js +389 -258
  458. package/build/dist/excalibur.js.map +1 -1
  459. package/build/dist/excalibur.min.js +1 -1
  460. package/build/dist/excalibur.min.js.LICENSE.txt +1 -1
  461. package/build/dist/excalibur.min.js.map +1 -1
  462. package/build/dist/index.js +81 -0
  463. package/build/dist/index.js.map +1 -0
  464. package/build/esm/Debug/Debug.d.ts +11 -0
  465. package/build/esm/Graphics/Context/ExcaliburGraphicsContextWebGL.d.ts +1 -0
  466. package/build/esm/Graphics/Context/material.d.ts +2 -0
  467. package/build/esm/Graphics/DebugGraphicsComponent.d.ts +3 -2
  468. package/build/esm/Graphics/FontCache.d.ts +1 -0
  469. package/build/esm/TileMap/TileMap.d.ts +2 -1
  470. package/build/esm/Util/Util.d.ts +6 -0
  471. package/build/esm/excalibur.d.ts +2 -2
  472. package/build/esm/excalibur.js +389 -258
  473. package/build/esm/excalibur.js.map +1 -1
  474. package/build/esm/excalibur.min.js +1 -1
  475. package/build/esm/excalibur.min.js.LICENSE.txt +1 -1
  476. package/build/esm/excalibur.min.js.map +1 -1
  477. package/docker-compose.yml +11 -11
  478. package/package.json +131 -131
  479. package/build/dist/Loader.css +0 -122
  480. package/build/nuget/Excalibur.0.28.3.nupkg +0 -0
  481. package/build/v0.28.3.zip +0 -0
  482. package/excalibur-0.28.3.tgz +0 -0
@@ -0,0 +1,422 @@
1
+ import { GamepadConnectEvent, GamepadDisconnectEvent, GamepadButtonEvent, GamepadAxisEvent } from '../Events';
2
+ import { EventEmitter } from '../EventEmitter';
3
+ export const GamepadEvents = {
4
+ GamepadConnect: 'connect',
5
+ GamepadDisconnect: 'disconnect',
6
+ GamepadButton: 'button',
7
+ GamepadAxis: 'axis'
8
+ };
9
+ /**
10
+ * Excalibur leverages the HTML5 Gamepad API [where it is supported](http://caniuse.com/#feat=gamepad)
11
+ * to provide controller support for your games.
12
+ */
13
+ export class Gamepads {
14
+ constructor() {
15
+ this.events = new EventEmitter();
16
+ /**
17
+ * Whether or not to poll for Gamepad input (default: `false`)
18
+ */
19
+ this.enabled = false;
20
+ /**
21
+ * Whether or not Gamepad API is supported
22
+ */
23
+ this.supported = !!navigator.getGamepads;
24
+ this._gamePadTimeStamps = [0, 0, 0, 0];
25
+ this._oldPads = [];
26
+ this._pads = [];
27
+ this._initSuccess = false;
28
+ this._navigator = navigator;
29
+ this._minimumConfiguration = null;
30
+ }
31
+ init() {
32
+ if (!this.supported) {
33
+ return;
34
+ }
35
+ if (this._initSuccess) {
36
+ return;
37
+ }
38
+ // In Chrome, this will return 4 undefined items until a button is pressed
39
+ // In FF, this will not return any items until a button is pressed
40
+ this._oldPads = this._clonePads(this._navigator.getGamepads());
41
+ if (this._oldPads.length && this._oldPads[0]) {
42
+ this._initSuccess = true;
43
+ }
44
+ }
45
+ /**
46
+ * Sets the minimum gamepad configuration, for example {axis: 4, buttons: 4} means
47
+ * this game requires at minimum 4 axis inputs and 4 buttons, this is not restrictive
48
+ * all other controllers with more axis or buttons are valid as well. If no minimum
49
+ * configuration is set all pads are valid.
50
+ */
51
+ setMinimumGamepadConfiguration(config) {
52
+ this._enableAndUpdate(); // if config is used, implicitly enable
53
+ this._minimumConfiguration = config;
54
+ }
55
+ /**
56
+ * When implicitly enabled, set the enabled flag and run an update so information is updated
57
+ */
58
+ _enableAndUpdate() {
59
+ if (!this.enabled) {
60
+ this.enabled = true;
61
+ this.update();
62
+ }
63
+ }
64
+ /**
65
+ * Checks a navigator gamepad against the minimum configuration if present.
66
+ */
67
+ _isGamepadValid(pad) {
68
+ if (!this._minimumConfiguration) {
69
+ return true;
70
+ }
71
+ if (!pad) {
72
+ return false;
73
+ }
74
+ const axesLength = pad.axes.filter((value) => {
75
+ return typeof value !== undefined;
76
+ }).length;
77
+ const buttonLength = pad.buttons.filter((value) => {
78
+ return typeof value !== undefined;
79
+ }).length;
80
+ return axesLength >= this._minimumConfiguration.axis && buttonLength >= this._minimumConfiguration.buttons && pad.connected;
81
+ }
82
+ emit(eventName, event) {
83
+ this.events.emit(eventName, event);
84
+ }
85
+ on(eventName, handler) {
86
+ this._enableAndUpdate(); // implicitly enable
87
+ return this.events.on(eventName, handler);
88
+ }
89
+ once(eventName, handler) {
90
+ return this.events.once(eventName, handler);
91
+ }
92
+ off(eventName, handler) {
93
+ this._enableAndUpdate(); // implicitly enable
94
+ this.events.off(eventName, handler);
95
+ }
96
+ /**
97
+ * Updates Gamepad state and publishes Gamepad events
98
+ */
99
+ update() {
100
+ if (!this.enabled || !this.supported) {
101
+ return;
102
+ }
103
+ this.init();
104
+ const gamepads = this._navigator.getGamepads();
105
+ for (let i = 0; i < gamepads.length; i++) {
106
+ if (!gamepads[i]) {
107
+ const gamepad = this.at(i);
108
+ // If was connected, but now isn't emit the disconnect event
109
+ if (gamepad.connected) {
110
+ this.events.emit('disconnect', new GamepadDisconnectEvent(i, gamepad));
111
+ }
112
+ // Reset connection status
113
+ gamepad.connected = false;
114
+ continue;
115
+ }
116
+ else {
117
+ if (!this.at(i).connected && this._isGamepadValid(gamepads[i])) {
118
+ this.events.emit('connect', new GamepadConnectEvent(i, this.at(i)));
119
+ }
120
+ // Set connection status
121
+ this.at(i).connected = true;
122
+ }
123
+ this.at(i).update();
124
+ // Only supported in Chrome
125
+ if (gamepads[i].timestamp && gamepads[i].timestamp === this._gamePadTimeStamps[i]) {
126
+ continue;
127
+ }
128
+ this._gamePadTimeStamps[i] = gamepads[i].timestamp;
129
+ // Add reference to navigator gamepad
130
+ this.at(i).navigatorGamepad = gamepads[i];
131
+ // Buttons
132
+ let b, bi, a, ai, value;
133
+ for (b in Buttons) {
134
+ bi = Buttons[b];
135
+ if (typeof bi === 'number') {
136
+ if (gamepads[i].buttons[bi]) {
137
+ value = gamepads[i].buttons[bi].value;
138
+ if (value !== this._oldPads[i].getButton(bi)) {
139
+ if (gamepads[i].buttons[bi].pressed) {
140
+ this.at(i).updateButton(bi, value);
141
+ this.at(i).events.emit('button', new GamepadButtonEvent(bi, value, this.at(i)));
142
+ }
143
+ else {
144
+ this.at(i).updateButton(bi, 0);
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+ // Axes
151
+ for (a in Axes) {
152
+ ai = Axes[a];
153
+ if (typeof ai === 'number') {
154
+ value = gamepads[i].axes[ai];
155
+ if (value !== this._oldPads[i].getAxes(ai)) {
156
+ this.at(i).updateAxes(ai, value);
157
+ this.at(i).events.emit('axis', new GamepadAxisEvent(ai, value, this.at(i)));
158
+ }
159
+ }
160
+ }
161
+ this._oldPads[i] = this._clonePad(gamepads[i]);
162
+ }
163
+ }
164
+ /**
165
+ * Safely retrieves a Gamepad at a specific index and creates one if it doesn't yet exist
166
+ */
167
+ at(index) {
168
+ this._enableAndUpdate(); // implicitly enable gamepads when at() is called
169
+ if (index >= this._pads.length) {
170
+ // Ensure there is a pad to retrieve
171
+ for (let i = this._pads.length - 1, max = index; i < max; i++) {
172
+ this._pads.push(new Gamepad());
173
+ this._oldPads.push(new Gamepad());
174
+ }
175
+ }
176
+ return this._pads[index];
177
+ }
178
+ /**
179
+ * Returns a list of all valid gamepads that meet the minimum configuration requirement.
180
+ */
181
+ getValidGamepads() {
182
+ this._enableAndUpdate();
183
+ const result = [];
184
+ for (let i = 0; i < this._pads.length; i++) {
185
+ if (this._isGamepadValid(this.at(i).navigatorGamepad) && this.at(i).connected) {
186
+ result.push(this.at(i));
187
+ }
188
+ }
189
+ return result;
190
+ }
191
+ /**
192
+ * Gets the number of connected gamepads
193
+ */
194
+ count() {
195
+ return this._pads.filter((p) => p.connected).length;
196
+ }
197
+ _clonePads(pads) {
198
+ const arr = [];
199
+ for (let i = 0, len = pads.length; i < len; i++) {
200
+ arr.push(this._clonePad(pads[i]));
201
+ }
202
+ return arr;
203
+ }
204
+ /**
205
+ * Fastest way to clone a known object is to do it yourself
206
+ */
207
+ _clonePad(pad) {
208
+ let i, len;
209
+ const clonedPad = new Gamepad();
210
+ if (!pad) {
211
+ return clonedPad;
212
+ }
213
+ for (i = 0, len = pad.buttons.length; i < len; i++) {
214
+ if (pad.buttons[i]) {
215
+ clonedPad.updateButton(i, pad.buttons[i].value);
216
+ }
217
+ }
218
+ for (i = 0, len = pad.axes.length; i < len; i++) {
219
+ clonedPad.updateAxes(i, pad.axes[i]);
220
+ }
221
+ return clonedPad;
222
+ }
223
+ }
224
+ /**
225
+ * The minimum value an axis has to move before considering it a change
226
+ */
227
+ Gamepads.MinAxisMoveThreshold = 0.05;
228
+ /**
229
+ * Gamepad holds state information for a connected controller. See [[Gamepads]]
230
+ * for more information on handling controller input.
231
+ */
232
+ export class Gamepad {
233
+ constructor() {
234
+ this.events = new EventEmitter();
235
+ this.connected = false;
236
+ this._axes = new Array(4);
237
+ this._buttons = new Array(16);
238
+ this._buttonsUp = new Array(16);
239
+ this._buttonsDown = new Array(16);
240
+ for (let i = 0; i < this._buttons.length; i++) {
241
+ this._buttons[i] = 0;
242
+ }
243
+ for (let i = 0; i < this._axes.length; i++) {
244
+ this._axes[i] = 0;
245
+ }
246
+ }
247
+ update() {
248
+ // Reset buttonsDown and buttonsUp after update is complete
249
+ this._buttonsDown = new Array(16);
250
+ this._buttonsUp = new Array(16);
251
+ }
252
+ /**
253
+ * Whether or not the given button is pressed
254
+ * @deprecated will be removed in v0.28.0. Use isButtonHeld instead
255
+ * @param button The button to query
256
+ * @param threshold The threshold over which the button is considered to be pressed
257
+ */
258
+ isButtonPressed(button, threshold = 1) {
259
+ return this._buttons[button] >= threshold;
260
+ }
261
+ /**
262
+ * Tests if a certain button is held down. This is persisted between frames.
263
+ * @param button The button to query
264
+ * @param threshold The threshold over which the button is considered to be pressed
265
+ */
266
+ isButtonHeld(button, threshold = 1) {
267
+ return this._buttons[button] >= threshold;
268
+ }
269
+ /**
270
+ * Tests if a certain button was just pressed this frame. This is cleared at the end of the update frame.
271
+ * @param button Test whether a button was just pressed
272
+ * @param threshold The threshold over which the button is considered to be pressed
273
+ */
274
+ wasButtonPressed(button, threshold = 1) {
275
+ return this._buttonsDown[button] >= threshold;
276
+ }
277
+ /**
278
+ * Tests if a certain button was just released this frame. This is cleared at the end of the update frame.
279
+ * @param button Test whether a button was just released
280
+ */
281
+ wasButtonReleased(button) {
282
+ return Boolean(this._buttonsUp[button]);
283
+ }
284
+ /**
285
+ * Gets the given button value between 0 and 1
286
+ */
287
+ getButton(button) {
288
+ return this._buttons[button];
289
+ }
290
+ /**
291
+ * Gets the given axis value between -1 and 1. Values below
292
+ * [[MinAxisMoveThreshold]] are considered 0.
293
+ */
294
+ getAxes(axes) {
295
+ const value = this._axes[axes];
296
+ if (Math.abs(value) < Gamepads.MinAxisMoveThreshold) {
297
+ return 0;
298
+ }
299
+ else {
300
+ return value;
301
+ }
302
+ }
303
+ updateButton(buttonIndex, value) {
304
+ // button was just released
305
+ if (value === 0 && this._buttons[buttonIndex]) {
306
+ this._buttonsUp[buttonIndex] = 1;
307
+ // button was just pressed
308
+ }
309
+ else {
310
+ this._buttonsDown[buttonIndex] = value;
311
+ }
312
+ this._buttons[buttonIndex] = value;
313
+ }
314
+ updateAxes(axesIndex, value) {
315
+ this._axes[axesIndex] = value;
316
+ }
317
+ emit(eventName, event) {
318
+ this.events.emit(eventName, event);
319
+ }
320
+ on(eventName, handler) {
321
+ return this.events.on(eventName, handler);
322
+ }
323
+ once(eventName, handler) {
324
+ return this.events.once(eventName, handler);
325
+ }
326
+ off(eventName, handler) {
327
+ this.events.off(eventName, handler);
328
+ }
329
+ }
330
+ /**
331
+ * Gamepad Buttons enumeration
332
+ */
333
+ export var Buttons;
334
+ (function (Buttons) {
335
+ /**
336
+ * Face 1 button (e.g. A)
337
+ */
338
+ Buttons[Buttons["Face1"] = 0] = "Face1";
339
+ /**
340
+ * Face 2 button (e.g. B)
341
+ */
342
+ Buttons[Buttons["Face2"] = 1] = "Face2";
343
+ /**
344
+ * Face 3 button (e.g. X)
345
+ */
346
+ Buttons[Buttons["Face3"] = 2] = "Face3";
347
+ /**
348
+ * Face 4 button (e.g. Y)
349
+ */
350
+ Buttons[Buttons["Face4"] = 3] = "Face4";
351
+ /**
352
+ * Left bumper button
353
+ */
354
+ Buttons[Buttons["LeftBumper"] = 4] = "LeftBumper";
355
+ /**
356
+ * Right bumper button
357
+ */
358
+ Buttons[Buttons["RightBumper"] = 5] = "RightBumper";
359
+ /**
360
+ * Left trigger button
361
+ */
362
+ Buttons[Buttons["LeftTrigger"] = 6] = "LeftTrigger";
363
+ /**
364
+ * Right trigger button
365
+ */
366
+ Buttons[Buttons["RightTrigger"] = 7] = "RightTrigger";
367
+ /**
368
+ * Select button
369
+ */
370
+ Buttons[Buttons["Select"] = 8] = "Select";
371
+ /**
372
+ * Start button
373
+ */
374
+ Buttons[Buttons["Start"] = 9] = "Start";
375
+ /**
376
+ * Left analog stick press (e.g. L3)
377
+ */
378
+ Buttons[Buttons["LeftStick"] = 10] = "LeftStick";
379
+ /**
380
+ * Right analog stick press (e.g. R3)
381
+ */
382
+ Buttons[Buttons["RightStick"] = 11] = "RightStick";
383
+ /**
384
+ * D-pad up
385
+ */
386
+ Buttons[Buttons["DpadUp"] = 12] = "DpadUp";
387
+ /**
388
+ * D-pad down
389
+ */
390
+ Buttons[Buttons["DpadDown"] = 13] = "DpadDown";
391
+ /**
392
+ * D-pad left
393
+ */
394
+ Buttons[Buttons["DpadLeft"] = 14] = "DpadLeft";
395
+ /**
396
+ * D-pad right
397
+ */
398
+ Buttons[Buttons["DpadRight"] = 15] = "DpadRight";
399
+ })(Buttons || (Buttons = {}));
400
+ /**
401
+ * Gamepad Axes enumeration
402
+ */
403
+ export var Axes;
404
+ (function (Axes) {
405
+ /**
406
+ * Left analogue stick X direction
407
+ */
408
+ Axes[Axes["LeftStickX"] = 0] = "LeftStickX";
409
+ /**
410
+ * Left analogue stick Y direction
411
+ */
412
+ Axes[Axes["LeftStickY"] = 1] = "LeftStickY";
413
+ /**
414
+ * Right analogue stick X direction
415
+ */
416
+ Axes[Axes["RightStickX"] = 2] = "RightStickX";
417
+ /**
418
+ * Right analogue stick Y direction
419
+ */
420
+ Axes[Axes["RightStickY"] = 3] = "RightStickY";
421
+ })(Axes || (Axes = {}));
422
+ //# sourceMappingURL=Gamepad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Gamepad.js","sourceRoot":"","sources":["../../../src/engine/Input/Gamepad.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ // This import site is deprecated
2
+ // TODO remove deprecated exports in v0.29.0
3
+ /**
4
+ * @module
5
+ * Provides support for mice, keyboards, and controllers.
6
+ */
7
+ export {
8
+ /**
9
+ * @deprecated ex.Input.WheelEvent import site will be removed in v0.29.0, use ex.WheelEvent
10
+ */
11
+ WheelEvent } from './WheelEvent';
12
+ export {
13
+ /**
14
+ * @deprecated ex.Input.PointerEvent import site will be removed in v0.29.0, use ex.PointerEvent
15
+ */
16
+ PointerEvent } from './PointerEvent';
17
+ export {
18
+ /**
19
+ * @deprecated ex.Input.WheelDeltaMode import site will be removed in v0.29.0, use ex.WheelDeltaMode
20
+ */
21
+ WheelDeltaMode } from './WheelDeltaMode';
22
+ export {
23
+ /**
24
+ * @deprecated ex.Input.PointerButton import site will be removed in v0.29.0, use ex.PointerButton
25
+ */
26
+ PointerButton } from './PointerButton';
27
+ export {
28
+ /**
29
+ * @deprecated ex.Input.NativePointerButton import site will be removed in v0.29.0, use ex.NativePointerButton
30
+ */
31
+ NativePointerButton } from './NativePointerButton';
32
+ export {
33
+ /**
34
+ * @deprecated ex.Input.PointerEventReceiver import site will be removed in v0.29.0, use ex.PointerEventReceiver
35
+ */
36
+ PointerEventReceiver } from './PointerEventReceiver';
37
+ export {
38
+ /**
39
+ * @deprecated ex.Input.PointerComponent import site will be removed in v0.29.0, use ex.PointerComponent
40
+ */
41
+ PointerComponent } from './PointerComponent';
42
+ export {
43
+ /**
44
+ * @deprecated ex.Input.PointerSystem import site will be removed in v0.29.0, use ex.PointerSystem
45
+ */
46
+ PointerSystem } from './PointerSystem';
47
+ export {
48
+ /**
49
+ * @deprecated ex.Input.PointerType import site will be removed in v0.29.0, use ex.PointerType
50
+ */
51
+ PointerType } from './PointerType';
52
+ export {
53
+ /**
54
+ * @deprecated ex.Input.PointerScope import site will be removed in v0.29.0, use ex.PointerScope
55
+ */
56
+ PointerScope } from './PointerScope';
57
+ export {
58
+ /**
59
+ * @deprecated ex.Input.Keys import site will be removed in v0.29.0, use ex.Keys
60
+ */
61
+ Keys,
62
+ /**
63
+ * @deprecated ex.Input.KeyEvent import site will be removed in v0.29.0, use ex.KeyEvent
64
+ */
65
+ KeyEvent,
66
+ /**
67
+ * @deprecated ex.Input.Keyboard import site will be removed in v0.29.0, use ex.Keyboard
68
+ */
69
+ Keyboard } from './Keyboard';
70
+ // Re-export hack to deprecate import site gently
71
+ export {
72
+ /**
73
+ * @deprecated ex.Input.Gamepads import site will be removed in v0.29.0, use ex.Gamepads
74
+ */
75
+ Gamepads,
76
+ /**
77
+ * @deprecated ex.Input.Gamepad import site will be removed in v0.29.0, use ex.Gamepad
78
+ */
79
+ Gamepad,
80
+ /**
81
+ * @deprecated ex.Input.Buttons import site will be removed in v0.29.0, use ex.Buttons
82
+ */
83
+ Buttons,
84
+ /**
85
+ * @deprecated ex.Input.Axes import site will be removed in v0.29.0, use ex.Axes
86
+ */
87
+ Axes } from './Gamepad';
88
+ //# sourceMappingURL=Index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../src/engine/Input/Index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,4CAA4C;AAE5C;;;GAGG;AAEH,OAAO;AACL;;GAEG;AACH,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO;AACL;;GAEG;AACH,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO;AACL;;GAEG;AACH,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO;AACL;;GAEG;AACH,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO;AACL;;GAEG;AACH,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAgB/B,OAAO;AAqBL;;GAEG;AACH,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO;AACL;;GAEG;AACH,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO;AACL;;GAEG;AACH,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO;AACL;;GAEG;AACH,WAAW,EACZ,MAAM,eAAe,CAAC;AAEvB,OAAO;AACL;;GAEG;AACH,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO;AACL;;GAEG;AACH,IAAI;AACJ;;GAEG;AACH,QAAQ;AAKR;;GAEG;AACH,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,iDAAiD;AACjD,OAAO;AACL;;GAEG;AACH,QAAQ;AACR;;GAEG;AACH,OAAO;AACP;;GAEG;AACH,OAAO;AACP;;GAEG;AACH,IAAI,EAqBL,MAAM,WAAW,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * This allows you to map multiple inputs to specific commands! This is especially useful when
3
+ * you need to allow multiple input sources to control a specific action.
4
+ */
5
+ export class InputMapper {
6
+ constructor(inputs) {
7
+ this.inputs = inputs;
8
+ this._handlers = new Map();
9
+ }
10
+ /**
11
+ * Executes the input map, called internally by Excalibur
12
+ */
13
+ execute() {
14
+ for (const [input, command] of this._handlers.entries()) {
15
+ const results = input(this.inputs);
16
+ if (results) {
17
+ command(results);
18
+ }
19
+ }
20
+ }
21
+ /**
22
+ * This allows you to map multiple inputs to specific commands! This is useful
23
+ *
24
+ * The inputHandler should return a truthy value if you wish the commandHandler to fire.
25
+ *
26
+ * Example:
27
+ * ```typescript
28
+ * const moveRight = (amount: number) => { actor.vel.x = 100 * amount }
29
+ * const moveLeft = (amount: number) => { actor.vel.x = -100 * amount }
30
+ * const moveUp = (amount: number) => { actor.vel.y = -100 * amount }
31
+ * const moveDown = (amount: number) => { actor.vel.y = 100 * amount }
32
+ *
33
+ * engine.inputMapper.on(({keyboard}) => keyboard.isHeld(ex.Keys.ArrowRight) ? 1 : 0, moveRight);
34
+ * engine.inputMapper.on(({gamepads}) => gamepads.at(0).isButtonPressed(ex.Buttons.DpadRight) ? 1 : 0, moveRight);
35
+ * engine.inputMapper.on(({gamepads}) => gamepads.at(0).getAxes(ex.Axes.LeftStickX) > 0 ?
36
+ * gamepads.at(0).getAxes(ex.Axes.LeftStickX) : 0, moveRight);
37
+ * ```
38
+ * @param inputHandler
39
+ * @param commandHandler
40
+ */
41
+ on(inputHandler, commandHandler) {
42
+ this._handlers.set(inputHandler, commandHandler);
43
+ }
44
+ }
45
+ //# sourceMappingURL=InputMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputMapper.js","sourceRoot":"","sources":["../../../src/engine/Input/InputMapper.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,MAAM,OAAO,WAAW;IAGtB,YAAmB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QADhC,cAAS,GAAG,IAAI,GAAG,EAAY,CAAC;IACG,CAAC;IAE5C;;OAEG;IACH,OAAO;QACL,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,EAAE,CACA,YAAkE,EAClE,cAAgD;QAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC;CACF"}