excalibur 0.25.0 → 0.25.1

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 (604) hide show
  1. package/.nvmrc +1 -1
  2. package/CHANGELOG.md +49 -9
  3. package/LICENSE.md +1 -1
  4. package/README.md +8 -12
  5. package/build/dist/Actions/Action/Blink.d.ts +3 -3
  6. package/build/dist/Actions/Action/Delay.d.ts +1 -5
  7. package/build/dist/Actions/Action/Die.d.ts +3 -5
  8. package/build/dist/Actions/Action/EaseTo.d.ts +4 -2
  9. package/build/dist/Actions/Action/Fade.d.ts +3 -3
  10. package/build/dist/Actions/Action/Follow.d.ts +6 -4
  11. package/build/dist/Actions/Action/Meet.d.ts +6 -4
  12. package/build/dist/Actions/Action/MoveBy.d.ts +6 -4
  13. package/build/dist/Actions/Action/MoveTo.d.ts +6 -4
  14. package/build/dist/Actions/Action/Repeat.d.ts +2 -2
  15. package/build/dist/Actions/Action/RepeatForever.d.ts +2 -2
  16. package/build/dist/Actions/Action/RotateBy.d.ts +4 -3
  17. package/build/dist/Actions/Action/RotateTo.d.ts +4 -3
  18. package/build/dist/Actions/Action/ScaleBy.d.ts +4 -3
  19. package/build/dist/Actions/Action/ScaleTo.d.ts +4 -3
  20. package/build/dist/Actions/Action.d.ts +2 -2
  21. package/build/dist/Actions/ActionContext.d.ts +16 -10
  22. package/build/dist/Actions/ActionQueue.d.ts +3 -3
  23. package/build/dist/Actions/ActionsComponent.d.ts +236 -0
  24. package/build/dist/Actions/ActionsSystem.d.ts +9 -0
  25. package/build/dist/Actions/Index.d.ts +2 -0
  26. package/build/dist/Actor.d.ts +10 -8
  27. package/build/dist/Engine.d.ts +6 -1
  28. package/build/dist/EntityComponentSystem/EntityManager.d.ts +1 -0
  29. package/build/dist/Graphics/Animation.d.ts +64 -0
  30. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.d.ts +1 -1
  31. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.d.ts +6 -0
  32. package/build/dist/Graphics/GraphicsComponent.d.ts +2 -0
  33. package/build/dist/Loader.css +1 -0
  34. package/build/dist/Loader.d.ts +1 -0
  35. package/build/dist/Screen.d.ts +3 -0
  36. package/build/dist/excalibur.js +14369 -13942
  37. package/build/dist/excalibur.js.map +1 -1
  38. package/build/dist/excalibur.min.js +1 -1
  39. package/build/dist/excalibur.min.js.LICENSE.txt +1 -1
  40. package/build/dist/excalibur.min.js.map +1 -1
  41. package/build/esm/Actions/Action/Blink.d.ts +17 -0
  42. package/build/esm/Actions/Action/CallMethod.d.ts +10 -0
  43. package/build/esm/Actions/Action/Delay.d.ts +12 -0
  44. package/build/esm/Actions/Action/Die.d.ts +11 -0
  45. package/build/esm/Actions/Action/EaseTo.d.ts +21 -0
  46. package/build/esm/Actions/Action/Fade.d.ts +17 -0
  47. package/build/esm/Actions/Action/Follow.d.ts +23 -0
  48. package/build/esm/Actions/Action/Meet.d.ts +23 -0
  49. package/build/esm/Actions/Action/MoveBy.d.ts +22 -0
  50. package/build/esm/Actions/Action/MoveTo.d.ts +21 -0
  51. package/build/esm/Actions/Action/Repeat.d.ts +16 -0
  52. package/build/esm/Actions/Action/RepeatForever.d.ts +20 -0
  53. package/build/esm/Actions/Action/RotateBy.d.ts +27 -0
  54. package/build/esm/Actions/Action/RotateTo.d.ts +26 -0
  55. package/build/esm/Actions/Action/ScaleBy.d.ts +24 -0
  56. package/build/esm/Actions/Action/ScaleTo.d.ts +23 -0
  57. package/build/esm/Actions/Action.d.ts +10 -0
  58. package/build/esm/Actions/ActionContext.d.ts +219 -0
  59. package/build/esm/Actions/ActionQueue.d.ts +56 -0
  60. package/build/esm/Actions/Actionable.d.ts +4 -0
  61. package/build/esm/Actions/ActionsComponent.d.ts +236 -0
  62. package/build/esm/Actions/ActionsSystem.d.ts +9 -0
  63. package/build/{dist/Actions/Index.js → esm/Actions/Index.d.ts} +2 -1
  64. package/build/{dist/Actions/RotationType.js → esm/Actions/RotationType.d.ts} +6 -8
  65. package/build/esm/Actor.d.ts +727 -0
  66. package/build/esm/Camera.d.ts +360 -0
  67. package/build/{dist/Class.js → esm/Class.d.ts} +12 -17
  68. package/build/esm/Collision/BodyComponent.d.ts +208 -0
  69. package/build/esm/Collision/BoundingBox.d.ts +109 -0
  70. package/build/esm/Collision/ColliderComponent.d.ts +98 -0
  71. package/build/esm/Collision/Colliders/CircleCollider.d.ts +92 -0
  72. package/build/esm/Collision/Colliders/ClosestLineJumpTable.d.ts +23 -0
  73. package/build/esm/Collision/Colliders/Collider.d.ts +94 -0
  74. package/build/esm/Collision/Colliders/CollisionJumpTable.d.ts +14 -0
  75. package/build/esm/Collision/Colliders/CompositeCollider.d.ts +38 -0
  76. package/build/esm/Collision/Colliders/EdgeCollider.d.ts +112 -0
  77. package/build/esm/Collision/Colliders/PolygonCollider.d.ts +138 -0
  78. package/build/esm/Collision/Colliders/SeparatingAxis.d.ts +46 -0
  79. package/build/esm/Collision/Colliders/Shape.d.ts +54 -0
  80. package/build/esm/Collision/CollisionSystem.d.ts +26 -0
  81. package/build/{dist/Collision/CollisionType.js → esm/Collision/CollisionType.d.ts} +6 -8
  82. package/build/esm/Collision/Detection/CollisionContact.d.ts +53 -0
  83. package/build/esm/Collision/Detection/CollisionProcessor.d.ts +28 -0
  84. package/build/esm/Collision/Detection/DynamicTree.d.ts +85 -0
  85. package/build/esm/Collision/Detection/DynamicTreeCollisionProcessor.d.ts +40 -0
  86. package/build/esm/Collision/Detection/Pair.d.ts +31 -0
  87. package/build/{dist/Collision/Group/CollisionGroup.js → esm/Collision/Group/CollisionGroup.d.ts} +17 -36
  88. package/build/esm/Collision/Group/CollisionGroupManager.d.ts +30 -0
  89. package/build/{dist/Collision/Index.js → esm/Collision/Index.d.ts} +0 -1
  90. package/build/esm/Collision/Integrator.d.ts +6 -0
  91. package/build/esm/Collision/MotionSystem.d.ts +11 -0
  92. package/build/esm/Collision/Physics.d.ts +133 -0
  93. package/build/esm/Collision/Side.d.ts +21 -0
  94. package/build/esm/Collision/Solver/ArcadeSolver.d.ts +15 -0
  95. package/build/esm/Collision/Solver/ContactConstraintPoint.d.ts +43 -0
  96. package/build/esm/Collision/Solver/RealisticSolver.d.ts +21 -0
  97. package/build/esm/Collision/Solver/Solver.d.ts +50 -0
  98. package/build/esm/Color.d.ts +244 -0
  99. package/build/esm/Configurable.d.ts +9 -0
  100. package/build/esm/Debug/Debug.d.ts +327 -0
  101. package/build/esm/Debug/DebugFlags.d.ts +11 -0
  102. package/build/esm/Debug/DebugSystem.d.ts +29 -0
  103. package/build/{dist/Debug/index.js → esm/Debug/index.d.ts} +0 -1
  104. package/build/esm/Deprecated.d.ts +0 -0
  105. package/build/esm/Drawing/Animation.d.ts +196 -0
  106. package/build/esm/Drawing/CanvasDrawComponent.d.ts +10 -0
  107. package/build/esm/Drawing/CanvasDrawingSystem.d.ts +23 -0
  108. package/build/esm/Drawing/Index.d.ts +9 -0
  109. package/build/esm/Drawing/Polygon.d.ts +74 -0
  110. package/build/esm/Drawing/Sprite.d.ts +159 -0
  111. package/build/esm/Drawing/SpriteEffects.d.ts +120 -0
  112. package/build/esm/Drawing/SpriteSheet.d.ts +184 -0
  113. package/build/esm/Drawing/Texture.d.ts +44 -0
  114. package/build/esm/Engine.d.ts +586 -0
  115. package/build/esm/EntityComponentSystem/Component.d.ts +69 -0
  116. package/build/esm/EntityComponentSystem/Components/MotionComponent.d.ts +55 -0
  117. package/build/esm/EntityComponentSystem/Components/TransformComponent.d.ts +103 -0
  118. package/build/esm/EntityComponentSystem/Entity.d.ts +247 -0
  119. package/build/esm/EntityComponentSystem/EntityManager.d.ts +35 -0
  120. package/build/esm/EntityComponentSystem/Query.d.ts +51 -0
  121. package/build/esm/EntityComponentSystem/QueryManager.d.ts +48 -0
  122. package/build/esm/EntityComponentSystem/System.d.ts +107 -0
  123. package/build/esm/EntityComponentSystem/SystemManager.d.ts +45 -0
  124. package/build/esm/EntityComponentSystem/Util.d.ts +1 -0
  125. package/build/esm/EntityComponentSystem/World.d.ts +45 -0
  126. package/build/{dist/EntityComponentSystem/index.js → esm/EntityComponentSystem/index.d.ts} +0 -1
  127. package/build/esm/EventDispatcher.d.ts +51 -0
  128. package/build/esm/Events/MediaEvents.d.ts +47 -0
  129. package/build/esm/Events.d.ts +475 -0
  130. package/build/esm/Flags.d.ts +62 -0
  131. package/build/esm/Graphics/Animation.d.ts +189 -0
  132. package/build/esm/Graphics/Canvas.d.ts +24 -0
  133. package/build/esm/Graphics/Circle.d.ts +15 -0
  134. package/build/esm/Graphics/Context/ExcaliburGraphicsContext.d.ts +155 -0
  135. package/build/esm/Graphics/Context/ExcaliburGraphicsContext2DCanvas.d.ts +87 -0
  136. package/build/esm/Graphics/Context/ExcaliburGraphicsContextWebGL.d.ts +111 -0
  137. package/build/esm/Graphics/Context/batch.d.ts +11 -0
  138. package/build/esm/Graphics/Context/debug-text.d.ts +24 -0
  139. package/build/esm/Graphics/Context/draw-image-command.d.ts +47 -0
  140. package/build/esm/Graphics/Context/image-renderer.d.ts +39 -0
  141. package/build/esm/Graphics/Context/line-renderer.d.ts +22 -0
  142. package/build/esm/Graphics/Context/point-renderer.d.ts +22 -0
  143. package/build/esm/Graphics/Context/renderer.d.ts +66 -0
  144. package/build/esm/Graphics/Context/shader.d.ts +81 -0
  145. package/build/esm/Graphics/Context/state-stack.d.ts +10 -0
  146. package/build/esm/Graphics/Context/texture-loader.d.ts +33 -0
  147. package/build/esm/Graphics/Context/transform-stack.d.ts +12 -0
  148. package/build/esm/Graphics/Context/webgl-util.d.ts +12 -0
  149. package/build/esm/Graphics/Font.d.ts +57 -0
  150. package/build/{dist/Graphics/FontCommon.js → esm/Graphics/FontCommon.d.ts} +54 -37
  151. package/build/esm/Graphics/Graphic.d.ts +129 -0
  152. package/build/esm/Graphics/GraphicsComponent.d.ts +224 -0
  153. package/build/esm/Graphics/GraphicsDiagnostics.d.ts +5 -0
  154. package/build/esm/Graphics/GraphicsGroup.d.ts +24 -0
  155. package/build/esm/Graphics/GraphicsSystem.d.ts +35 -0
  156. package/build/esm/Graphics/ImageSource.d.ts +53 -0
  157. package/build/esm/Graphics/Polygon.d.ts +17 -0
  158. package/build/esm/Graphics/Raster.d.ts +105 -0
  159. package/build/esm/Graphics/Rectangle.d.ts +13 -0
  160. package/build/esm/Graphics/Sprite.d.ts +59 -0
  161. package/build/esm/Graphics/SpriteFont.d.ts +53 -0
  162. package/build/esm/Graphics/SpriteSheet.d.ts +137 -0
  163. package/build/esm/Graphics/Text.d.ts +29 -0
  164. package/build/{dist/Graphics/index.js → esm/Graphics/index.d.ts} +0 -4
  165. package/build/esm/Id.d.ts +8 -0
  166. package/build/esm/Input/CapturePointerConfig.d.ts +13 -0
  167. package/build/esm/Input/EngineInput.d.ts +8 -0
  168. package/build/esm/Input/Gamepad.d.ts +227 -0
  169. package/build/{dist/Input/Index.js → esm/Input/Index.d.ts} +0 -1
  170. package/build/esm/Input/Keyboard.d.ts +187 -0
  171. package/build/esm/Input/Pointer.d.ts +134 -0
  172. package/build/esm/Input/PointerEvents.d.ts +170 -0
  173. package/build/esm/Input/Pointers.d.ts +78 -0
  174. package/build/esm/Interfaces/Audio.d.ts +29 -0
  175. package/build/esm/Interfaces/AudioImplementation.d.ts +25 -0
  176. package/build/esm/Interfaces/Clonable.d.ts +3 -0
  177. package/build/esm/Interfaces/Drawable.d.ts +97 -0
  178. package/build/esm/Interfaces/Evented.d.ts +31 -0
  179. package/build/{dist/Interfaces/Index.js → esm/Interfaces/Index.d.ts} +0 -1
  180. package/build/esm/Interfaces/LifecycleEvents.d.ts +167 -0
  181. package/build/esm/Interfaces/Loadable.d.ts +18 -0
  182. package/build/esm/Interfaces/PointerEventHandlers.d.ts +40 -0
  183. package/build/esm/Interfaces/Trait.d.ts +9 -0
  184. package/build/esm/Label.d.ts +146 -0
  185. package/build/esm/Loader.d.ts +174 -0
  186. package/build/{dist/Math/Index.js → esm/Math/Index.d.ts} +0 -1
  187. package/build/esm/Math/Random.d.ts +125 -0
  188. package/build/esm/Math/global-coordinates.d.ts +10 -0
  189. package/build/esm/Math/line.d.ts +95 -0
  190. package/build/esm/Math/matrix.d.ts +110 -0
  191. package/build/esm/Math/projection.d.ts +10 -0
  192. package/build/esm/Math/ray.d.ts +25 -0
  193. package/build/esm/Math/vector-view.d.ts +18 -0
  194. package/build/esm/Math/vector.d.ts +201 -0
  195. package/build/esm/Particles.d.ts +244 -0
  196. package/build/esm/Polyfill.d.ts +6 -0
  197. package/build/esm/PostProcessing/ColorBlindCorrector.d.ts +28 -0
  198. package/build/{dist/PostProcessing/Index.js → esm/PostProcessing/Index.d.ts} +0 -1
  199. package/build/esm/PostProcessing/PostProcessor.d.ts +6 -0
  200. package/build/esm/Promises.d.ts +87 -0
  201. package/build/esm/Resources/Gif.d.ts +117 -0
  202. package/build/{dist/Resources/Index.js → esm/Resources/Index.d.ts} +0 -1
  203. package/build/esm/Resources/Resource.d.ts +31 -0
  204. package/build/esm/Resources/Sound/AudioContext.d.ts +7 -0
  205. package/build/{dist/Resources/Sound/Index.js → esm/Resources/Sound/Index.d.ts} +0 -1
  206. package/build/esm/Resources/Sound/Sound.d.ts +79 -0
  207. package/build/esm/Resources/Sound/WebAudioInstance.d.ts +45 -0
  208. package/build/esm/Scene.d.ts +301 -0
  209. package/build/esm/Screen.d.ts +285 -0
  210. package/build/esm/ScreenElement.d.ts +13 -0
  211. package/build/esm/TileMap.d.ts +222 -0
  212. package/build/esm/Timer.d.ts +93 -0
  213. package/build/esm/Traits/CapturePointer.d.ts +10 -0
  214. package/build/{dist/Traits/Index.js → esm/Traits/Index.d.ts} +0 -1
  215. package/build/esm/Traits/OffscreenCulling.d.ts +11 -0
  216. package/build/esm/Trigger.d.ts +48 -0
  217. package/build/esm/Util/Actors.d.ts +12 -0
  218. package/build/esm/Util/Browser.d.ts +28 -0
  219. package/build/esm/Util/CullingBox.d.ts +23 -0
  220. package/build/esm/Util/Decorators.d.ts +15 -0
  221. package/build/esm/Util/Detector.d.ts +40 -0
  222. package/build/esm/Util/DrawUtil.d.ts +69 -0
  223. package/build/esm/Util/EasingFunctions.d.ts +59 -0
  224. package/build/{dist/Util/Index.js → esm/Util/Index.d.ts} +0 -1
  225. package/build/esm/Util/Log.d.ts +109 -0
  226. package/build/esm/Util/Observable.d.ts +55 -0
  227. package/build/esm/Util/Pool.d.ts +44 -0
  228. package/build/esm/Util/SortedList.d.ts +52 -0
  229. package/build/esm/Util/Sound.d.ts +4 -0
  230. package/build/esm/Util/Util.d.ts +196 -0
  231. package/build/esm/Util/Watch.d.ts +8 -0
  232. package/build/esm/Util/WebAudio.d.ts +15 -0
  233. package/build/esm/excalibur.d.ts +2 -0
  234. package/build/esm/excalibur.js +28874 -0
  235. package/build/esm/excalibur.js.map +1 -0
  236. package/build/esm/excalibur.min.js +3 -0
  237. package/build/esm/excalibur.min.js.LICENSE.txt +7 -0
  238. package/build/esm/excalibur.min.js.map +1 -0
  239. package/build/{dist/index.js → esm/index.d.ts} +4 -18
  240. package/package.json +31 -25
  241. package/wallaby.js +2 -0
  242. package/build/dist/Actions/Action/Blink.js +0 -45
  243. package/build/dist/Actions/Action/Blink.js.map +0 -1
  244. package/build/dist/Actions/Action/CallMethod.js +0 -21
  245. package/build/dist/Actions/Action/CallMethod.js.map +0 -1
  246. package/build/dist/Actions/Action/Delay.js +0 -28
  247. package/build/dist/Actions/Action/Delay.js.map +0 -1
  248. package/build/dist/Actions/Action/Die.js +0 -21
  249. package/build/dist/Actions/Action/Die.js.map +0 -1
  250. package/build/dist/Actions/Action/EaseTo.js +0 -66
  251. package/build/dist/Actions/Action/EaseTo.js.map +0 -1
  252. package/build/dist/Actions/Action/Fade.js +0 -42
  253. package/build/dist/Actions/Action/Fade.js.map +0 -1
  254. package/build/dist/Actions/Action/Follow.js +0 -51
  255. package/build/dist/Actions/Action/Follow.js.map +0 -1
  256. package/build/dist/Actions/Action/Meet.js +0 -48
  257. package/build/dist/Actions/Action/Meet.js.map +0 -1
  258. package/build/dist/Actions/Action/MoveBy.js +0 -42
  259. package/build/dist/Actions/Action/MoveBy.js.map +0 -1
  260. package/build/dist/Actions/Action/MoveTo.js +0 -35
  261. package/build/dist/Actions/Action/MoveTo.js.map +0 -1
  262. package/build/dist/Actions/Action/Repeat.js +0 -31
  263. package/build/dist/Actions/Action/Repeat.js.map +0 -1
  264. package/build/dist/Actions/Action/RepeatForever.js +0 -37
  265. package/build/dist/Actions/Action/RepeatForever.js.map +0 -1
  266. package/build/dist/Actions/Action/RotateBy.js +0 -88
  267. package/build/dist/Actions/Action/RotateBy.js.map +0 -1
  268. package/build/dist/Actions/Action/RotateTo.js +0 -87
  269. package/build/dist/Actions/Action/RotateTo.js.map +0 -1
  270. package/build/dist/Actions/Action/ScaleBy.js +0 -47
  271. package/build/dist/Actions/Action/ScaleBy.js.map +0 -1
  272. package/build/dist/Actions/Action/ScaleTo.js +0 -58
  273. package/build/dist/Actions/Action/ScaleTo.js.map +0 -1
  274. package/build/dist/Actions/Action.js +0 -2
  275. package/build/dist/Actions/Action.js.map +0 -1
  276. package/build/dist/Actions/ActionContext.js +0 -297
  277. package/build/dist/Actions/ActionContext.js.map +0 -1
  278. package/build/dist/Actions/ActionQueue.js +0 -87
  279. package/build/dist/Actions/ActionQueue.js.map +0 -1
  280. package/build/dist/Actions/Actionable.js +0 -2
  281. package/build/dist/Actions/Actionable.js.map +0 -1
  282. package/build/dist/Actions/Index.js.map +0 -1
  283. package/build/dist/Actions/RotationType.js.map +0 -1
  284. package/build/dist/Actor.js +0 -856
  285. package/build/dist/Actor.js.map +0 -1
  286. package/build/dist/Camera.js +0 -627
  287. package/build/dist/Camera.js.map +0 -1
  288. package/build/dist/Class.js.map +0 -1
  289. package/build/dist/Collision/BodyComponent.js +0 -347
  290. package/build/dist/Collision/BodyComponent.js.map +0 -1
  291. package/build/dist/Collision/BoundingBox.js +0 -355
  292. package/build/dist/Collision/BoundingBox.js.map +0 -1
  293. package/build/dist/Collision/ColliderComponent.js +0 -201
  294. package/build/dist/Collision/ColliderComponent.js.map +0 -1
  295. package/build/dist/Collision/Colliders/CircleCollider.js +0 -215
  296. package/build/dist/Collision/Colliders/CircleCollider.js.map +0 -1
  297. package/build/dist/Collision/Colliders/ClosestLineJumpTable.js +0 -211
  298. package/build/dist/Collision/Colliders/ClosestLineJumpTable.js.map +0 -1
  299. package/build/dist/Collision/Colliders/Collider.js +0 -26
  300. package/build/dist/Collision/Colliders/Collider.js.map +0 -1
  301. package/build/dist/Collision/Colliders/CollisionJumpTable.js +0 -301
  302. package/build/dist/Collision/Colliders/CollisionJumpTable.js.map +0 -1
  303. package/build/dist/Collision/Colliders/CompositeCollider.js +0 -232
  304. package/build/dist/Collision/Colliders/CompositeCollider.js.map +0 -1
  305. package/build/dist/Collision/Colliders/EdgeCollider.js +0 -253
  306. package/build/dist/Collision/Colliders/EdgeCollider.js.map +0 -1
  307. package/build/dist/Collision/Colliders/PolygonCollider.js +0 -389
  308. package/build/dist/Collision/Colliders/PolygonCollider.js.map +0 -1
  309. package/build/dist/Collision/Colliders/SeparatingAxis.js +0 -67
  310. package/build/dist/Collision/Colliders/SeparatingAxis.js.map +0 -1
  311. package/build/dist/Collision/Colliders/Shape.js +0 -102
  312. package/build/dist/Collision/Colliders/Shape.js.map +0 -1
  313. package/build/dist/Collision/CollisionSystem.js +0 -116
  314. package/build/dist/Collision/CollisionSystem.js.map +0 -1
  315. package/build/dist/Collision/CollisionType.js.map +0 -1
  316. package/build/dist/Collision/Detection/CollisionContact.js +0 -46
  317. package/build/dist/Collision/Detection/CollisionContact.js.map +0 -1
  318. package/build/dist/Collision/Detection/CollisionProcessor.js +0 -2
  319. package/build/dist/Collision/Detection/CollisionProcessor.js.map +0 -1
  320. package/build/dist/Collision/Detection/DynamicTree.js +0 -442
  321. package/build/dist/Collision/Detection/DynamicTree.js.map +0 -1
  322. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js +0 -228
  323. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js.map +0 -1
  324. package/build/dist/Collision/Detection/Pair.js +0 -74
  325. package/build/dist/Collision/Detection/Pair.js.map +0 -1
  326. package/build/dist/Collision/Group/CollisionGroup.js.map +0 -1
  327. package/build/dist/Collision/Group/CollisionGroupManager.js +0 -52
  328. package/build/dist/Collision/Group/CollisionGroupManager.js.map +0 -1
  329. package/build/dist/Collision/Index.js.map +0 -1
  330. package/build/dist/Collision/Integrator.js +0 -11
  331. package/build/dist/Collision/Integrator.js.map +0 -1
  332. package/build/dist/Collision/MotionSystem.js +0 -38
  333. package/build/dist/Collision/MotionSystem.js.map +0 -1
  334. package/build/dist/Collision/Physics.js +0 -163
  335. package/build/dist/Collision/Physics.js.map +0 -1
  336. package/build/dist/Collision/Side.js +0 -51
  337. package/build/dist/Collision/Side.js.map +0 -1
  338. package/build/dist/Collision/Solver/ArcadeSolver.js +0 -96
  339. package/build/dist/Collision/Solver/ArcadeSolver.js.map +0 -1
  340. package/build/dist/Collision/Solver/ContactConstraintPoint.js +0 -83
  341. package/build/dist/Collision/Solver/ContactConstraintPoint.js.map +0 -1
  342. package/build/dist/Collision/Solver/RealisticSolver.js +0 -248
  343. package/build/dist/Collision/Solver/RealisticSolver.js.map +0 -1
  344. package/build/dist/Collision/Solver/Solver.js +0 -37
  345. package/build/dist/Collision/Solver/Solver.js.map +0 -1
  346. package/build/dist/Color.js +0 -461
  347. package/build/dist/Color.js.map +0 -1
  348. package/build/dist/Configurable.js +0 -32
  349. package/build/dist/Configurable.js.map +0 -1
  350. package/build/dist/Debug/Debug.js +0 -339
  351. package/build/dist/Debug/Debug.js.map +0 -1
  352. package/build/dist/Debug/DebugFlags.js +0 -13
  353. package/build/dist/Debug/DebugFlags.js.map +0 -1
  354. package/build/dist/Debug/DebugSystem.js +0 -242
  355. package/build/dist/Debug/DebugSystem.js.map +0 -1
  356. package/build/dist/Debug/index.js.map +0 -1
  357. package/build/dist/Deprecated.js +0 -2
  358. package/build/dist/Deprecated.js.map +0 -1
  359. package/build/dist/Drawing/Animation.js +0 -285
  360. package/build/dist/Drawing/Animation.js.map +0 -1
  361. package/build/dist/Drawing/CanvasDrawComponent.js +0 -16
  362. package/build/dist/Drawing/CanvasDrawComponent.js.map +0 -1
  363. package/build/dist/Drawing/CanvasDrawingSystem.js +0 -95
  364. package/build/dist/Drawing/CanvasDrawingSystem.js.map +0 -1
  365. package/build/dist/Drawing/Index.js +0 -10
  366. package/build/dist/Drawing/Index.js.map +0 -1
  367. package/build/dist/Drawing/Polygon.js +0 -129
  368. package/build/dist/Drawing/Polygon.js.map +0 -1
  369. package/build/dist/Drawing/Sprite.js +0 -356
  370. package/build/dist/Drawing/Sprite.js.map +0 -1
  371. package/build/dist/Drawing/SpriteEffects.js +0 -246
  372. package/build/dist/Drawing/SpriteEffects.js.map +0 -1
  373. package/build/dist/Drawing/SpriteSheet.js +0 -413
  374. package/build/dist/Drawing/SpriteSheet.js.map +0 -1
  375. package/build/dist/Drawing/Texture.js +0 -80
  376. package/build/dist/Drawing/Texture.js.map +0 -1
  377. package/build/dist/Engine.js +0 -871
  378. package/build/dist/Engine.js.map +0 -1
  379. package/build/dist/EntityComponentSystem/Component.js +0 -65
  380. package/build/dist/EntityComponentSystem/Component.js.map +0 -1
  381. package/build/dist/EntityComponentSystem/Components/MotionComponent.js +0 -33
  382. package/build/dist/EntityComponentSystem/Components/MotionComponent.js.map +0 -1
  383. package/build/dist/EntityComponentSystem/Components/TransformComponent.js +0 -249
  384. package/build/dist/EntityComponentSystem/Components/TransformComponent.js.map +0 -1
  385. package/build/dist/EntityComponentSystem/Entity.js +0 -452
  386. package/build/dist/EntityComponentSystem/Entity.js.map +0 -1
  387. package/build/dist/EntityComponentSystem/EntityManager.js +0 -121
  388. package/build/dist/EntityComponentSystem/EntityManager.js.map +0 -1
  389. package/build/dist/EntityComponentSystem/Query.js +0 -91
  390. package/build/dist/EntityComponentSystem/Query.js.map +0 -1
  391. package/build/dist/EntityComponentSystem/QueryManager.js +0 -90
  392. package/build/dist/EntityComponentSystem/QueryManager.js.map +0 -1
  393. package/build/dist/EntityComponentSystem/System.js +0 -76
  394. package/build/dist/EntityComponentSystem/System.js.map +0 -1
  395. package/build/dist/EntityComponentSystem/SystemManager.js +0 -96
  396. package/build/dist/EntityComponentSystem/SystemManager.js.map +0 -1
  397. package/build/dist/EntityComponentSystem/Util.js +0 -5
  398. package/build/dist/EntityComponentSystem/Util.js.map +0 -1
  399. package/build/dist/EntityComponentSystem/World.js +0 -55
  400. package/build/dist/EntityComponentSystem/World.js.map +0 -1
  401. package/build/dist/EntityComponentSystem/index.js.map +0 -1
  402. package/build/dist/EventDispatcher.js +0 -133
  403. package/build/dist/EventDispatcher.js.map +0 -1
  404. package/build/dist/Events/MediaEvents.js +0 -75
  405. package/build/dist/Events/MediaEvents.js.map +0 -1
  406. package/build/dist/Events.js +0 -497
  407. package/build/dist/Events.js.map +0 -1
  408. package/build/dist/Flags.js +0 -90
  409. package/build/dist/Flags.js.map +0 -1
  410. package/build/dist/Graphics/Animation.js +0 -230
  411. package/build/dist/Graphics/Animation.js.map +0 -1
  412. package/build/dist/Graphics/Canvas.js +0 -34
  413. package/build/dist/Graphics/Canvas.js.map +0 -1
  414. package/build/dist/Graphics/Circle.js +0 -39
  415. package/build/dist/Graphics/Circle.js.map +0 -1
  416. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js +0 -2
  417. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js.map +0 -1
  418. package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js +0 -177
  419. package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js.map +0 -1
  420. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js +0 -188
  421. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js.map +0 -1
  422. package/build/dist/Graphics/Context/batch.js +0 -24
  423. package/build/dist/Graphics/Context/batch.js.map +0 -1
  424. package/build/dist/Graphics/Context/debug-text.js +0 -47
  425. package/build/dist/Graphics/Context/debug-text.js.map +0 -1
  426. package/build/dist/Graphics/Context/draw-image-command.js +0 -179
  427. package/build/dist/Graphics/Context/draw-image-command.js.map +0 -1
  428. package/build/dist/Graphics/Context/image-renderer.js +0 -295
  429. package/build/dist/Graphics/Context/image-renderer.js.map +0 -1
  430. package/build/dist/Graphics/Context/line-renderer.js +0 -70
  431. package/build/dist/Graphics/Context/line-renderer.js.map +0 -1
  432. package/build/dist/Graphics/Context/point-renderer.js +0 -67
  433. package/build/dist/Graphics/Context/point-renderer.js.map +0 -1
  434. package/build/dist/Graphics/Context/renderer.js +0 -75
  435. package/build/dist/Graphics/Context/renderer.js.map +0 -1
  436. package/build/dist/Graphics/Context/shader.js +0 -189
  437. package/build/dist/Graphics/Context/shader.js.map +0 -1
  438. package/build/dist/Graphics/Context/state-stack.js +0 -27
  439. package/build/dist/Graphics/Context/state-stack.js.map +0 -1
  440. package/build/dist/Graphics/Context/texture-loader.js +0 -84
  441. package/build/dist/Graphics/Context/texture-loader.js.map +0 -1
  442. package/build/dist/Graphics/Context/transform-stack.js +0 -30
  443. package/build/dist/Graphics/Context/transform-stack.js.map +0 -1
  444. package/build/dist/Graphics/Context/webgl-util.js +0 -26
  445. package/build/dist/Graphics/Context/webgl-util.js.map +0 -1
  446. package/build/dist/Graphics/Font.js +0 -209
  447. package/build/dist/Graphics/Font.js.map +0 -1
  448. package/build/dist/Graphics/FontCommon.js.map +0 -1
  449. package/build/dist/Graphics/Graphic.js +0 -147
  450. package/build/dist/Graphics/Graphic.js.map +0 -1
  451. package/build/dist/Graphics/GraphicsComponent.js +0 -276
  452. package/build/dist/Graphics/GraphicsComponent.js.map +0 -1
  453. package/build/dist/Graphics/GraphicsDiagnostics.js +0 -9
  454. package/build/dist/Graphics/GraphicsDiagnostics.js.map +0 -1
  455. package/build/dist/Graphics/GraphicsGroup.js +0 -66
  456. package/build/dist/Graphics/GraphicsGroup.js.map +0 -1
  457. package/build/dist/Graphics/GraphicsSystem.js +0 -161
  458. package/build/dist/Graphics/GraphicsSystem.js.map +0 -1
  459. package/build/dist/Graphics/ImageSource.js +0 -117
  460. package/build/dist/Graphics/ImageSource.js.map +0 -1
  461. package/build/dist/Graphics/Polygon.js +0 -51
  462. package/build/dist/Graphics/Polygon.js.map +0 -1
  463. package/build/dist/Graphics/Raster.js +0 -209
  464. package/build/dist/Graphics/Raster.js.map +0 -1
  465. package/build/dist/Graphics/Rectangle.js +0 -24
  466. package/build/dist/Graphics/Rectangle.js.map +0 -1
  467. package/build/dist/Graphics/Sprite.js +0 -81
  468. package/build/dist/Graphics/Sprite.js.map +0 -1
  469. package/build/dist/Graphics/SpriteFont.js +0 -116
  470. package/build/dist/Graphics/SpriteFont.js.map +0 -1
  471. package/build/dist/Graphics/SpriteSheet.js +0 -116
  472. package/build/dist/Graphics/SpriteSheet.js.map +0 -1
  473. package/build/dist/Graphics/Text.js +0 -82
  474. package/build/dist/Graphics/Text.js.map +0 -1
  475. package/build/dist/Graphics/index.js.map +0 -1
  476. package/build/dist/Id.js +0 -8
  477. package/build/dist/Id.js.map +0 -1
  478. package/build/dist/Input/CapturePointerConfig.js +0 -5
  479. package/build/dist/Input/CapturePointerConfig.js.map +0 -1
  480. package/build/dist/Input/EngineInput.js +0 -2
  481. package/build/dist/Input/EngineInput.js.map +0 -1
  482. package/build/dist/Input/Gamepad.js +0 -358
  483. package/build/dist/Input/Gamepad.js.map +0 -1
  484. package/build/dist/Input/Index.js.map +0 -1
  485. package/build/dist/Input/Keyboard.js +0 -267
  486. package/build/dist/Input/Keyboard.js.map +0 -1
  487. package/build/dist/Input/Pointer.js +0 -205
  488. package/build/dist/Input/Pointer.js.map +0 -1
  489. package/build/dist/Input/PointerEvents.js +0 -309
  490. package/build/dist/Input/PointerEvents.js.map +0 -1
  491. package/build/dist/Input/Pointers.js +0 -405
  492. package/build/dist/Input/Pointers.js.map +0 -1
  493. package/build/dist/Interfaces/Audio.js +0 -2
  494. package/build/dist/Interfaces/Audio.js.map +0 -1
  495. package/build/dist/Interfaces/AudioImplementation.js +0 -11
  496. package/build/dist/Interfaces/AudioImplementation.js.map +0 -1
  497. package/build/dist/Interfaces/Clonable.js +0 -2
  498. package/build/dist/Interfaces/Clonable.js.map +0 -1
  499. package/build/dist/Interfaces/Drawable.js +0 -2
  500. package/build/dist/Interfaces/Drawable.js.map +0 -1
  501. package/build/dist/Interfaces/Evented.js +0 -2
  502. package/build/dist/Interfaces/Evented.js.map +0 -1
  503. package/build/dist/Interfaces/Index.js.map +0 -1
  504. package/build/dist/Interfaces/LifecycleEvents.js +0 -51
  505. package/build/dist/Interfaces/LifecycleEvents.js.map +0 -1
  506. package/build/dist/Interfaces/Loadable.js +0 -2
  507. package/build/dist/Interfaces/Loadable.js.map +0 -1
  508. package/build/dist/Interfaces/PointerEventHandlers.js +0 -2
  509. package/build/dist/Interfaces/PointerEventHandlers.js.map +0 -1
  510. package/build/dist/Interfaces/Trait.js +0 -2
  511. package/build/dist/Interfaces/Trait.js.map +0 -1
  512. package/build/dist/Label.js +0 -262
  513. package/build/dist/Label.js.map +0 -1
  514. package/build/dist/Loader.js +0 -344
  515. package/build/dist/Loader.js.map +0 -1
  516. package/build/dist/Math/Index.js.map +0 -1
  517. package/build/dist/Math/Random.js +0 -239
  518. package/build/dist/Math/Random.js.map +0 -1
  519. package/build/dist/Math/global-coordinates.js +0 -30
  520. package/build/dist/Math/global-coordinates.js.map +0 -1
  521. package/build/dist/Math/line.js +0 -194
  522. package/build/dist/Math/line.js.map +0 -1
  523. package/build/dist/Math/matrix.js +0 -425
  524. package/build/dist/Math/matrix.js.map +0 -1
  525. package/build/dist/Math/projection.js +0 -24
  526. package/build/dist/Math/projection.js.map +0 -1
  527. package/build/dist/Math/ray.js +0 -52
  528. package/build/dist/Math/ray.js.map +0 -1
  529. package/build/dist/Math/vector-view.js +0 -25
  530. package/build/dist/Math/vector-view.js.map +0 -1
  531. package/build/dist/Math/vector.js +0 -326
  532. package/build/dist/Math/vector.js.map +0 -1
  533. package/build/dist/Particles.js +0 -436
  534. package/build/dist/Particles.js.map +0 -1
  535. package/build/dist/Polyfill.js +0 -56
  536. package/build/dist/Polyfill.js.map +0 -1
  537. package/build/dist/PostProcessing/ColorBlindCorrector.js +0 -193
  538. package/build/dist/PostProcessing/ColorBlindCorrector.js.map +0 -1
  539. package/build/dist/PostProcessing/Index.js.map +0 -1
  540. package/build/dist/PostProcessing/PostProcessor.js +0 -2
  541. package/build/dist/PostProcessing/PostProcessor.js.map +0 -1
  542. package/build/dist/Promises.js +0 -205
  543. package/build/dist/Promises.js.map +0 -1
  544. package/build/dist/Resources/Gif.js +0 -490
  545. package/build/dist/Resources/Gif.js.map +0 -1
  546. package/build/dist/Resources/Index.js.map +0 -1
  547. package/build/dist/Resources/Resource.js +0 -74
  548. package/build/dist/Resources/Resource.js.map +0 -1
  549. package/build/dist/Resources/Sound/AudioContext.js +0 -16
  550. package/build/dist/Resources/Sound/AudioContext.js.map +0 -1
  551. package/build/dist/Resources/Sound/Index.js.map +0 -1
  552. package/build/dist/Resources/Sound/Sound.js +0 -257
  553. package/build/dist/Resources/Sound/Sound.js.map +0 -1
  554. package/build/dist/Resources/Sound/WebAudioInstance.js +0 -160
  555. package/build/dist/Resources/Sound/WebAudioInstance.js.map +0 -1
  556. package/build/dist/Scene.js +0 -443
  557. package/build/dist/Scene.js.map +0 -1
  558. package/build/dist/Screen.js +0 -611
  559. package/build/dist/Screen.js.map +0 -1
  560. package/build/dist/ScreenElement.js +0 -33
  561. package/build/dist/ScreenElement.js.map +0 -1
  562. package/build/dist/TileMap.js +0 -465
  563. package/build/dist/TileMap.js.map +0 -1
  564. package/build/dist/Timer.js +0 -198
  565. package/build/dist/Timer.js.map +0 -1
  566. package/build/dist/Traits/CapturePointer.js +0 -16
  567. package/build/dist/Traits/CapturePointer.js.map +0 -1
  568. package/build/dist/Traits/Index.js.map +0 -1
  569. package/build/dist/Traits/OffscreenCulling.js +0 -35
  570. package/build/dist/Traits/OffscreenCulling.js.map +0 -1
  571. package/build/dist/Trigger.js +0 -107
  572. package/build/dist/Trigger.js.map +0 -1
  573. package/build/dist/Util/Actors.js +0 -19
  574. package/build/dist/Util/Actors.js.map +0 -1
  575. package/build/dist/Util/Browser.js +0 -66
  576. package/build/dist/Util/Browser.js.map +0 -1
  577. package/build/dist/Util/CullingBox.js +0 -104
  578. package/build/dist/Util/CullingBox.js.map +0 -1
  579. package/build/dist/Util/Decorators.js +0 -78
  580. package/build/dist/Util/Decorators.js.map +0 -1
  581. package/build/dist/Util/Detector.js +0 -167
  582. package/build/dist/Util/Detector.js.map +0 -1
  583. package/build/dist/Util/DrawUtil.js +0 -115
  584. package/build/dist/Util/DrawUtil.js.map +0 -1
  585. package/build/dist/Util/EasingFunctions.js +0 -118
  586. package/build/dist/Util/EasingFunctions.js.map +0 -1
  587. package/build/dist/Util/Index.js.map +0 -1
  588. package/build/dist/Util/Log.js +0 -195
  589. package/build/dist/Util/Log.js.map +0 -1
  590. package/build/dist/Util/Observable.js +0 -60
  591. package/build/dist/Util/Observable.js.map +0 -1
  592. package/build/dist/Util/Pool.js +0 -72
  593. package/build/dist/Util/Pool.js.map +0 -1
  594. package/build/dist/Util/SortedList.js +0 -261
  595. package/build/dist/Util/SortedList.js.map +0 -1
  596. package/build/dist/Util/Sound.js +0 -22
  597. package/build/dist/Util/Sound.js.map +0 -1
  598. package/build/dist/Util/Util.js +0 -401
  599. package/build/dist/Util/Util.js.map +0 -1
  600. package/build/dist/Util/Watch.js +0 -67
  601. package/build/dist/Util/Watch.js.map +0 -1
  602. package/build/dist/Util/WebAudio.js +0 -62
  603. package/build/dist/Util/WebAudio.js.map +0 -1
  604. package/build/dist/index.js.map +0 -1
@@ -1,239 +0,0 @@
1
- /**
2
- * @module
3
- * Pseudo-Random Utility
4
- *
5
- * A pseudo-random utility to add seeded random support for help in
6
- * generating things like terrain or reproducible randomness. Uses the
7
- * [Mersenne Twister](https://en.wikipedia.org/wiki/Mersenne_Twister) algorithm.
8
- */
9
- /**
10
- * 32-bit mask
11
- */
12
- const BITMASK32 = 0xffffffff;
13
- /**
14
- * Pseudo-random number generator following the Mersenne_Twister algorithm. Given a seed this generator will produce the same sequence
15
- * of numbers each time it is called.
16
- * See https://en.wikipedia.org/wiki/Mersenne_Twister for more details.
17
- * Uses the MT19937-32 (2002) implementation documented here http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html
18
- *
19
- * Api inspired by http://chancejs.com/# https://github.com/chancejs/chancejs
20
- */
21
- export class Random {
22
- /**
23
- * If no seed is specified, the Date.now() is used
24
- */
25
- constructor(seed) {
26
- this.seed = seed;
27
- // Separation point of one one word, the number of bits in the lower bitmask 0 <= r <= w-1
28
- this._lowerMask = 0x7fffffff; // 31 bits same as _r
29
- this._upperMask = 0x80000000; // 34 high bits
30
- // Word size, 64 bits
31
- this._w = 32;
32
- // Degree of recurrence
33
- this._n = 624;
34
- // Middle word, an offset used in the recurrence defining the series x, 1<=m<n
35
- this._m = 397;
36
- // coefficients of teh rational normal form twist matrix
37
- this._a = 0x9908b0df;
38
- // tempering bit shifts and masks
39
- this._u = 11;
40
- this._s = 7;
41
- this._b = 0x9d2c5680;
42
- this._t = 15;
43
- this._c = 0xefc60000;
44
- this._l = 18;
45
- this._f = 1812433253;
46
- this._mt = new Array(this._n);
47
- // need to mask to support higher bit machines
48
- this._mt[0] = (seed || Date.now()) >>> 0;
49
- for (let i = 1; i < this._n; i++) {
50
- const s = this._mt[i - 1] ^ (this._mt[i - 1] >>> (this._w - 2));
51
- // numbers are bigger than the JS max safe int, add in 16-bit chunks to prevent IEEE rounding errors on high bits
52
- this._mt[i] = (((this._f * ((s & 0xffff0000) >>> 16)) << 16) + this._f * (s & 0xffff) + i) >>> 0;
53
- }
54
- this._index = this._n;
55
- }
56
- /**
57
- * Apply the twist
58
- */
59
- _twist() {
60
- const mag01 = [0x0, this._a];
61
- let y = 0, i = 0;
62
- for (; i < this._n - this._m; i++) {
63
- y = (this._mt[i] & this._upperMask) | (this._mt[i + 1] & this._lowerMask);
64
- this._mt[i] = this._mt[i + this._m] ^ (y >>> 1) ^ (mag01[y & 0x1] & BITMASK32);
65
- }
66
- for (; i < this._n - 1; i++) {
67
- y = (this._mt[i] & this._upperMask) | (this._mt[i + 1] & this._lowerMask);
68
- this._mt[i] = this._mt[i + (this._m - this._n)] ^ (y >>> 1) ^ (mag01[y & 0x1] & BITMASK32);
69
- }
70
- y = (this._mt[this._n - 1] & this._upperMask) | (this._mt[0] & this._lowerMask);
71
- this._mt[this._n - 1] = this._mt[this._m - 1] ^ (y >>> 1) ^ (mag01[y & 0x1] & BITMASK32);
72
- this._index = 0;
73
- }
74
- /**
75
- * Return next 32 bit integer number in sequence
76
- */
77
- nextInt() {
78
- if (this._index >= this._n) {
79
- this._twist();
80
- }
81
- let y = this._mt[this._index++];
82
- y ^= y >>> this._u;
83
- y ^= (y << this._s) & this._b;
84
- y ^= (y << this._t) & this._c;
85
- y ^= y >>> this._l;
86
- return y >>> 0;
87
- }
88
- /**
89
- * Return a random floating point number between [0, 1)
90
- */
91
- next() {
92
- return this.nextInt() * (1.0 / 4294967296.0); // divided by 2^32
93
- }
94
- /**
95
- * Return a random floating point in range [min, max) min is included, max is not included
96
- */
97
- floating(min, max) {
98
- return (max - min) * this.next() + min;
99
- }
100
- /**
101
- * Return a random integer in range [min, max] min is included, max is included.
102
- * Implemented with rejection sampling, see https://medium.com/@betable/tifu-by-using-math-random-f1c308c4fd9d#.i13tdiu5a
103
- */
104
- integer(min, max) {
105
- return Math.floor((max - min + 1) * this.next() + min);
106
- }
107
- /**
108
- * Returns true or false randomly with 50/50 odds by default.
109
- * By default the likelihood of returning a true is .5 (50%).
110
- * @param likelihood takes values between [0, 1]
111
- */
112
- bool(likelihood = 0.5) {
113
- return this.next() <= likelihood;
114
- }
115
- /**
116
- * Returns one element from an array at random
117
- */
118
- pickOne(array) {
119
- return array[this.integer(0, array.length - 1)];
120
- }
121
- /**
122
- * Returns a new array random picking elements from the original
123
- * @param array Original array to pick from
124
- * @param numPicks can be any positive number
125
- * @param allowDuplicates indicates whether the returned set is allowed duplicates (it does not mean there will always be duplicates
126
- * just that it is possible)
127
- */
128
- pickSet(array, numPicks, allowDuplicates = false) {
129
- if (allowDuplicates) {
130
- return this._pickSetWithDuplicates(array, numPicks);
131
- }
132
- else {
133
- return this._pickSetWithoutDuplicates(array, numPicks);
134
- }
135
- }
136
- /**
137
- * Returns a new array randomly picking elements in the original (not reused)
138
- * @param array Array to pick elements out of
139
- * @param numPicks must be less than or equal to the number of elements in the array.
140
- */
141
- _pickSetWithoutDuplicates(array, numPicks) {
142
- if (numPicks > array.length || numPicks < 0) {
143
- throw new Error('Invalid number of elements to pick, must pick a value 0 < n <= length');
144
- }
145
- if (numPicks === array.length) {
146
- return array;
147
- }
148
- const result = new Array(numPicks);
149
- let currentPick = 0;
150
- const tempArray = array.slice(0);
151
- while (currentPick < numPicks) {
152
- const index = this.integer(0, tempArray.length - 1);
153
- result[currentPick++] = tempArray[index];
154
- tempArray.splice(index, 1);
155
- }
156
- return result;
157
- }
158
- /**
159
- * Returns a new array random picking elements from the original allowing duplicates
160
- * @param array Array to pick elements out of
161
- * @param numPicks can be any positive number
162
- */
163
- _pickSetWithDuplicates(array, numPicks) {
164
- // Typescript numbers are all floating point, so do we add check for int? (or floor the input?)
165
- if (numPicks < 0) {
166
- throw new Error('Invalid number of elements to pick, must pick a value 0 <= n < MAX_INT');
167
- }
168
- const result = new Array(numPicks);
169
- for (let i = 0; i < numPicks; i++) {
170
- result[i] = this.pickOne(array);
171
- }
172
- return result;
173
- }
174
- /**
175
- * Returns a new array that has its elements shuffled. Using the Fisher/Yates method
176
- * https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
177
- */
178
- shuffle(array) {
179
- const tempArray = array.slice(0);
180
- let swap = null;
181
- for (let i = 0; i < tempArray.length - 2; i++) {
182
- const randomIndex = this.integer(i, tempArray.length - 1);
183
- swap = tempArray[i];
184
- tempArray[i] = tempArray[randomIndex];
185
- tempArray[randomIndex] = swap;
186
- }
187
- return tempArray;
188
- }
189
- /**
190
- * Generate a list of random integer numbers
191
- * @param length the length of the final array
192
- * @param min the minimum integer number to generate inclusive
193
- * @param max the maximum integer number to generate inclusive
194
- */
195
- range(length, min, max) {
196
- const result = new Array(length);
197
- for (let i = 0; i < length; i++) {
198
- result[i] = this.integer(min, max);
199
- }
200
- return result;
201
- }
202
- /**
203
- * Returns the result of a d4 dice roll
204
- */
205
- d4() {
206
- return this.integer(1, 4);
207
- }
208
- /**
209
- * Returns the result of a d6 dice roll
210
- */
211
- d6() {
212
- return this.integer(1, 6);
213
- }
214
- /**
215
- * Returns the result of a d8 dice roll
216
- */
217
- d8() {
218
- return this.integer(1, 8);
219
- }
220
- /**
221
- * Returns the result of a d10 dice roll
222
- */
223
- d10() {
224
- return this.integer(1, 10);
225
- }
226
- /**
227
- * Returns the result of a d12 dice roll
228
- */
229
- d12() {
230
- return this.integer(1, 12);
231
- }
232
- /**
233
- * Returns the result of a d20 dice roll
234
- */
235
- d20() {
236
- return this.integer(1, 20);
237
- }
238
- }
239
- //# sourceMappingURL=Random.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Random.js","sourceRoot":"","sources":["../../../src/engine/Math/Random.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import { Vector } from './vector';
2
- export class GlobalCoordinates {
3
- constructor(worldPos, pagePos, screenPos) {
4
- this.worldPos = worldPos;
5
- this.pagePos = pagePos;
6
- this.screenPos = screenPos;
7
- }
8
- static fromPagePosition(xOrPos, yOrEngine, engineOrUndefined) {
9
- let pageX;
10
- let pageY;
11
- let pagePos;
12
- let engine;
13
- if (arguments.length === 3) {
14
- pageX = xOrPos;
15
- pageY = yOrEngine;
16
- pagePos = new Vector(pageX, pageY);
17
- engine = engineOrUndefined;
18
- }
19
- else {
20
- pagePos = xOrPos;
21
- pageX = pagePos.x;
22
- pageY = pagePos.y;
23
- engine = yOrEngine;
24
- }
25
- const screenPos = engine.screen.pageToScreenCoordinates(pagePos);
26
- const worldPos = engine.screen.screenToWorldCoordinates(screenPos);
27
- return new GlobalCoordinates(worldPos, pagePos, screenPos);
28
- }
29
- }
30
- //# sourceMappingURL=global-coordinates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-coordinates.js","sourceRoot":"","sources":["../../../src/engine/Math/global-coordinates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAO,iBAAiB;IA2B5B,YAAmB,QAAgB,EAAS,OAAe,EAAS,SAAiB;QAAlE,aAAQ,GAAR,QAAQ,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAQ;QAAS,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAxBlF,MAAM,CAAC,gBAAgB,CAAC,MAAuB,EAAE,SAA0B,EAAE,iBAA0B;QAC5G,IAAI,KAAa,CAAC;QAClB,IAAI,KAAa,CAAC;QAClB,IAAI,OAAe,CAAC;QACpB,IAAI,MAAc,CAAC;QAEnB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,KAAK,GAAW,MAAM,CAAC;YACvB,KAAK,GAAW,SAAS,CAAC;YAC1B,OAAO,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,GAAG,iBAAiB,CAAC;SAC5B;aAAM;YACL,OAAO,GAAW,MAAM,CAAC;YACzB,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;YAClB,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;YAClB,MAAM,GAAW,SAAS,CAAC;SAC5B;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAEnE,OAAO,IAAI,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;CAGF"}
@@ -1,194 +0,0 @@
1
- import { Vector } from './vector';
2
- /**
3
- * A 2D line segment
4
- */
5
- export class Line {
6
- /**
7
- * @param begin The starting point of the line segment
8
- * @param end The ending point of the line segment
9
- */
10
- constructor(begin, end) {
11
- this.begin = begin;
12
- this.end = end;
13
- }
14
- /**
15
- * Gets the raw slope (m) of the line. Will return (+/-)Infinity for vertical lines.
16
- */
17
- get slope() {
18
- return (this.end.y - this.begin.y) / (this.end.x - this.begin.x);
19
- }
20
- /**
21
- * Gets the Y-intercept (b) of the line. Will return (+/-)Infinity if there is no intercept.
22
- */
23
- get intercept() {
24
- return this.begin.y - this.slope * this.begin.x;
25
- }
26
- /**
27
- * Gets the normal of the line
28
- */
29
- normal() {
30
- return this.end.sub(this.begin).normal();
31
- }
32
- dir() {
33
- return this.end.sub(this.begin);
34
- }
35
- getPoints() {
36
- return [this.begin, this.end];
37
- }
38
- /**
39
- * Returns the slope of the line in the form of a vector of length 1
40
- */
41
- getSlope() {
42
- const begin = this.begin;
43
- const end = this.end;
44
- const distance = begin.distance(end);
45
- return end.sub(begin).scale(1 / distance);
46
- }
47
- /**
48
- * Returns the edge of the line as vector, the length of the vector is the length of the edge
49
- */
50
- getEdge() {
51
- const begin = this.begin;
52
- const end = this.end;
53
- return end.sub(begin);
54
- }
55
- /**
56
- * Returns the length of the line segment in pixels
57
- */
58
- getLength() {
59
- const begin = this.begin;
60
- const end = this.end;
61
- const distance = begin.distance(end);
62
- return distance;
63
- }
64
- /**
65
- * Returns the midpoint of the edge
66
- */
67
- get midpoint() {
68
- return this.begin.add(this.end).scale(0.5);
69
- }
70
- /**
71
- * Flips the direction of the line segment
72
- */
73
- flip() {
74
- return new Line(this.end, this.begin);
75
- }
76
- /**
77
- * Tests if a given point is below the line, points in the normal direction above the line are considered above.
78
- * @param point
79
- */
80
- below(point) {
81
- const above2 = (this.end.x - this.begin.x) * (point.y - this.begin.y) - (this.end.y - this.begin.y) * (point.x - this.begin.x);
82
- return above2 >= 0;
83
- }
84
- /**
85
- * Returns the clip point
86
- * @param sideVector Vector that traces the line
87
- * @param length Length to clip along side
88
- */
89
- clip(sideVector, length) {
90
- let dir = sideVector;
91
- dir = dir.normalize();
92
- const near = dir.dot(this.begin) - length;
93
- const far = dir.dot(this.end) - length;
94
- const results = [];
95
- if (near <= 0) {
96
- results.push(this.begin);
97
- }
98
- if (far <= 0) {
99
- results.push(this.end);
100
- }
101
- if (near * far < 0) {
102
- const clipTime = near / (near - far);
103
- results.push(this.begin.add(this.end.sub(this.begin).scale(clipTime)));
104
- }
105
- if (results.length !== 2) {
106
- return null;
107
- }
108
- return new Line(results[0], results[1]);
109
- }
110
- /**
111
- * Find the perpendicular distance from the line to a point
112
- * https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line
113
- * @param point
114
- */
115
- distanceToPoint(point, signed = false) {
116
- const x0 = point.x;
117
- const y0 = point.y;
118
- const l = this.getLength();
119
- const dy = this.end.y - this.begin.y;
120
- const dx = this.end.x - this.begin.x;
121
- const distance = (dy * x0 - dx * y0 + this.end.x * this.begin.y - this.end.y * this.begin.x) / l;
122
- return signed ? distance : Math.abs(distance);
123
- }
124
- /**
125
- * Find the perpendicular line from the line to a point
126
- * https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line
127
- * (a - p) - ((a - p) * n)n
128
- * a is a point on the line
129
- * p is the arbitrary point above the line
130
- * n is a unit vector in direction of the line
131
- * @param point
132
- */
133
- findVectorToPoint(point) {
134
- const aMinusP = this.begin.sub(point);
135
- const n = this.getSlope();
136
- return aMinusP.sub(n.scale(aMinusP.dot(n)));
137
- }
138
- /**
139
- * Finds a point on the line given only an X or a Y value. Given an X value, the function returns
140
- * a new point with the calculated Y value and vice-versa.
141
- *
142
- * @param x The known X value of the target point
143
- * @param y The known Y value of the target point
144
- * @returns A new point with the other calculated axis value
145
- */
146
- findPoint(x = null, y = null) {
147
- const m = this.slope;
148
- const b = this.intercept;
149
- if (x !== null) {
150
- return new Vector(x, m * x + b);
151
- }
152
- else if (y !== null) {
153
- return new Vector((y - b) / m, y);
154
- }
155
- else {
156
- throw new Error('You must provide an X or a Y value');
157
- }
158
- }
159
- /**
160
- * @see http://stackoverflow.com/a/11908158/109458
161
- */
162
- hasPoint() {
163
- let currPoint;
164
- let threshold = 0;
165
- if (typeof arguments[0] === 'number' && typeof arguments[1] === 'number') {
166
- currPoint = new Vector(arguments[0], arguments[1]);
167
- threshold = arguments[2] || 0;
168
- }
169
- else if (arguments[0] instanceof Vector) {
170
- currPoint = arguments[0];
171
- threshold = arguments[1] || 0;
172
- }
173
- else {
174
- throw 'Could not determine the arguments for Vector.hasPoint';
175
- }
176
- const dxc = currPoint.x - this.begin.x;
177
- const dyc = currPoint.y - this.begin.y;
178
- const dx1 = this.end.x - this.begin.x;
179
- const dy1 = this.end.y - this.begin.y;
180
- const cross = dxc * dy1 - dyc * dx1;
181
- // check whether point lines on the line
182
- if (Math.abs(cross) > threshold) {
183
- return false;
184
- }
185
- // check whether point lies in-between start and end
186
- if (Math.abs(dx1) >= Math.abs(dy1)) {
187
- return dx1 > 0 ? this.begin.x <= currPoint.x && currPoint.x <= this.end.x : this.end.x <= currPoint.x && currPoint.x <= this.begin.x;
188
- }
189
- else {
190
- return dy1 > 0 ? this.begin.y <= currPoint.y && currPoint.y <= this.end.y : this.end.y <= currPoint.y && currPoint.y <= this.begin.y;
191
- }
192
- }
193
- }
194
- //# sourceMappingURL=line.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"line.js","sourceRoot":"","sources":["../../../src/engine/Math/line.ts"],"names":[],"mappings":"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"}