excalibur 0.25.2 → 0.25.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/build/dist/Actions/Action/Blink.js +51 -0
  3. package/build/dist/Actions/Action/Blink.js.map +1 -0
  4. package/build/dist/Actions/Action/CallMethod.js +21 -0
  5. package/build/dist/Actions/Action/CallMethod.js.map +1 -0
  6. package/build/dist/Actions/Action/Delay.js +25 -0
  7. package/build/dist/Actions/Action/Delay.js.map +1 -0
  8. package/build/dist/Actions/Action/Die.js +22 -0
  9. package/build/dist/Actions/Action/Die.js.map +1 -0
  10. package/build/dist/Actions/Action/EaseTo.js +69 -0
  11. package/build/dist/Actions/Action/EaseTo.js.map +1 -0
  12. package/build/dist/Actions/Action/Fade.js +46 -0
  13. package/build/dist/Actions/Action/Fade.js.map +1 -0
  14. package/build/dist/Actions/Action/Follow.js +55 -0
  15. package/build/dist/Actions/Action/Follow.js.map +1 -0
  16. package/build/dist/Actions/Action/Meet.js +52 -0
  17. package/build/dist/Actions/Action/Meet.js.map +1 -0
  18. package/build/dist/Actions/Action/MoveBy.js +47 -0
  19. package/build/dist/Actions/Action/MoveBy.js.map +1 -0
  20. package/build/dist/Actions/Action/MoveTo.js +40 -0
  21. package/build/dist/Actions/Action/MoveTo.js.map +1 -0
  22. package/build/dist/Actions/Action/Repeat.js +31 -0
  23. package/build/dist/Actions/Action/Repeat.js.map +1 -0
  24. package/build/dist/Actions/Action/RepeatForever.js +37 -0
  25. package/build/dist/Actions/Action/RepeatForever.js.map +1 -0
  26. package/build/dist/Actions/Action/RotateBy.js +91 -0
  27. package/build/dist/Actions/Action/RotateBy.js.map +1 -0
  28. package/build/dist/Actions/Action/RotateTo.js +90 -0
  29. package/build/dist/Actions/Action/RotateTo.js.map +1 -0
  30. package/build/dist/Actions/Action/ScaleBy.js +45 -0
  31. package/build/dist/Actions/Action/ScaleBy.js.map +1 -0
  32. package/build/dist/Actions/Action/ScaleTo.js +56 -0
  33. package/build/dist/Actions/Action/ScaleTo.js.map +1 -0
  34. package/build/dist/Actions/Action.js +2 -0
  35. package/build/dist/Actions/Action.js.map +1 -0
  36. package/build/dist/Actions/ActionContext.js +305 -0
  37. package/build/dist/Actions/ActionContext.js.map +1 -0
  38. package/build/dist/Actions/ActionQueue.js +87 -0
  39. package/build/dist/Actions/ActionQueue.js.map +1 -0
  40. package/build/dist/Actions/Actionable.js +2 -0
  41. package/build/dist/Actions/Actionable.js.map +1 -0
  42. package/build/dist/Actions/ActionsComponent.js +198 -0
  43. package/build/dist/Actions/ActionsComponent.js.map +1 -0
  44. package/build/dist/Actions/ActionsSystem.js +18 -0
  45. package/build/dist/Actions/ActionsSystem.js.map +1 -0
  46. package/build/dist/Actions/Index.js +22 -0
  47. package/build/dist/Actions/Index.js.map +1 -0
  48. package/build/dist/Actions/RotationType.js +27 -0
  49. package/build/dist/Actions/RotationType.js.map +1 -0
  50. package/build/dist/Actor.js +831 -0
  51. package/build/dist/Actor.js.map +1 -0
  52. package/build/dist/Camera.js +663 -0
  53. package/build/dist/Camera.js.map +1 -0
  54. package/build/dist/Class.js +48 -0
  55. package/build/dist/Class.js.map +1 -0
  56. package/build/dist/Collision/BodyComponent.js +351 -0
  57. package/build/dist/Collision/BodyComponent.js.map +1 -0
  58. package/build/dist/Collision/BoundingBox.js +361 -0
  59. package/build/dist/Collision/BoundingBox.js.map +1 -0
  60. package/build/dist/Collision/ColliderComponent.js +198 -0
  61. package/build/dist/Collision/ColliderComponent.js.map +1 -0
  62. package/build/dist/Collision/Colliders/CircleCollider.js +264 -0
  63. package/build/dist/Collision/Colliders/CircleCollider.js.map +1 -0
  64. package/build/dist/Collision/Colliders/ClosestLineJumpTable.js +211 -0
  65. package/build/dist/Collision/Colliders/ClosestLineJumpTable.js.map +1 -0
  66. package/build/dist/Collision/Colliders/Collider.js +26 -0
  67. package/build/dist/Collision/Colliders/Collider.js.map +1 -0
  68. package/build/dist/Collision/Colliders/CollisionJumpTable.js +301 -0
  69. package/build/dist/Collision/Colliders/CollisionJumpTable.js.map +1 -0
  70. package/build/dist/Collision/Colliders/CompositeCollider.js +232 -0
  71. package/build/dist/Collision/Colliders/CompositeCollider.js.map +1 -0
  72. package/build/dist/Collision/Colliders/EdgeCollider.js +253 -0
  73. package/build/dist/Collision/Colliders/EdgeCollider.js.map +1 -0
  74. package/build/dist/Collision/Colliders/PolygonCollider.js +389 -0
  75. package/build/dist/Collision/Colliders/PolygonCollider.js.map +1 -0
  76. package/build/dist/Collision/Colliders/SeparatingAxis.js +67 -0
  77. package/build/dist/Collision/Colliders/SeparatingAxis.js.map +1 -0
  78. package/build/dist/Collision/Colliders/Shape.js +102 -0
  79. package/build/dist/Collision/Colliders/Shape.js.map +1 -0
  80. package/build/dist/Collision/CollisionSystem.js +116 -0
  81. package/build/dist/Collision/CollisionSystem.js.map +1 -0
  82. package/build/dist/Collision/CollisionType.js +33 -0
  83. package/build/dist/Collision/CollisionType.js.map +1 -0
  84. package/build/dist/Collision/Detection/CollisionContact.js +46 -0
  85. package/build/dist/Collision/Detection/CollisionContact.js.map +1 -0
  86. package/build/dist/Collision/Detection/CollisionProcessor.js +2 -0
  87. package/build/dist/Collision/Detection/CollisionProcessor.js.map +1 -0
  88. package/build/dist/Collision/Detection/DynamicTree.js +442 -0
  89. package/build/dist/Collision/Detection/DynamicTree.js.map +1 -0
  90. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js +211 -0
  91. package/build/dist/Collision/Detection/DynamicTreeCollisionProcessor.js.map +1 -0
  92. package/build/dist/Collision/Detection/Pair.js +92 -0
  93. package/build/dist/Collision/Detection/Pair.js.map +1 -0
  94. package/build/dist/Collision/Group/CollisionGroup.js +114 -0
  95. package/build/dist/Collision/Group/CollisionGroup.js.map +1 -0
  96. package/build/dist/Collision/Group/CollisionGroupManager.js +52 -0
  97. package/build/dist/Collision/Group/CollisionGroupManager.js.map +1 -0
  98. package/build/dist/Collision/Index.js +29 -0
  99. package/build/dist/Collision/Index.js.map +1 -0
  100. package/build/dist/Collision/Integrator.js +11 -0
  101. package/build/dist/Collision/Integrator.js.map +1 -0
  102. package/build/dist/Collision/MotionSystem.js +42 -0
  103. package/build/dist/Collision/MotionSystem.js.map +1 -0
  104. package/build/dist/Collision/Physics.js +163 -0
  105. package/build/dist/Collision/Physics.js.map +1 -0
  106. package/build/dist/Collision/Side.js +51 -0
  107. package/build/dist/Collision/Side.js.map +1 -0
  108. package/build/dist/Collision/Solver/ArcadeSolver.js +101 -0
  109. package/build/dist/Collision/Solver/ArcadeSolver.js.map +1 -0
  110. package/build/dist/Collision/Solver/ContactConstraintPoint.js +83 -0
  111. package/build/dist/Collision/Solver/ContactConstraintPoint.js.map +1 -0
  112. package/build/dist/Collision/Solver/RealisticSolver.js +248 -0
  113. package/build/dist/Collision/Solver/RealisticSolver.js.map +1 -0
  114. package/build/dist/Collision/Solver/Solver.js +37 -0
  115. package/build/dist/Collision/Solver/Solver.js.map +1 -0
  116. package/build/dist/Color.js +461 -0
  117. package/build/dist/Color.js.map +1 -0
  118. package/build/dist/Configurable.js +32 -0
  119. package/build/dist/Configurable.js.map +1 -0
  120. package/build/dist/Debug/Debug.js +375 -0
  121. package/build/dist/Debug/Debug.js.map +1 -0
  122. package/build/dist/Debug/DebugFlags.js +40 -0
  123. package/build/dist/Debug/DebugFlags.js.map +1 -0
  124. package/build/dist/Debug/DebugSystem.js +251 -0
  125. package/build/dist/Debug/DebugSystem.js.map +1 -0
  126. package/build/dist/Debug/index.js +4 -0
  127. package/build/dist/Debug/index.js.map +1 -0
  128. package/build/dist/Deprecated.js +2 -0
  129. package/build/dist/Deprecated.js.map +1 -0
  130. package/build/dist/Drawing/Animation.js +294 -0
  131. package/build/dist/Drawing/Animation.js.map +1 -0
  132. package/build/dist/Drawing/CanvasDrawComponent.js +16 -0
  133. package/build/dist/Drawing/CanvasDrawComponent.js.map +1 -0
  134. package/build/dist/Drawing/CanvasDrawingSystem.js +95 -0
  135. package/build/dist/Drawing/CanvasDrawingSystem.js.map +1 -0
  136. package/build/dist/Drawing/Index.js +10 -0
  137. package/build/dist/Drawing/Index.js.map +1 -0
  138. package/build/dist/Drawing/Polygon.js +139 -0
  139. package/build/dist/Drawing/Polygon.js.map +1 -0
  140. package/build/dist/Drawing/Sprite.js +355 -0
  141. package/build/dist/Drawing/Sprite.js.map +1 -0
  142. package/build/dist/Drawing/SpriteEffects.js +246 -0
  143. package/build/dist/Drawing/SpriteEffects.js.map +1 -0
  144. package/build/dist/Drawing/SpriteSheet.js +413 -0
  145. package/build/dist/Drawing/SpriteSheet.js.map +1 -0
  146. package/build/dist/Drawing/Texture.js +69 -0
  147. package/build/dist/Drawing/Texture.js.map +1 -0
  148. package/build/dist/Engine.d.ts +4 -1
  149. package/build/dist/Engine.js +985 -0
  150. package/build/dist/Engine.js.map +1 -0
  151. package/build/dist/EntityComponentSystem/Component.js +65 -0
  152. package/build/dist/EntityComponentSystem/Component.js.map +1 -0
  153. package/build/dist/EntityComponentSystem/Components/MotionComponent.js +33 -0
  154. package/build/dist/EntityComponentSystem/Components/MotionComponent.js.map +1 -0
  155. package/build/dist/EntityComponentSystem/Components/TransformComponent.js +249 -0
  156. package/build/dist/EntityComponentSystem/Components/TransformComponent.js.map +1 -0
  157. package/build/dist/EntityComponentSystem/Entity.js +452 -0
  158. package/build/dist/EntityComponentSystem/Entity.js.map +1 -0
  159. package/build/dist/EntityComponentSystem/EntityManager.js +128 -0
  160. package/build/dist/EntityComponentSystem/EntityManager.js.map +1 -0
  161. package/build/dist/EntityComponentSystem/Query.js +91 -0
  162. package/build/dist/EntityComponentSystem/Query.js.map +1 -0
  163. package/build/dist/EntityComponentSystem/QueryManager.js +90 -0
  164. package/build/dist/EntityComponentSystem/QueryManager.js.map +1 -0
  165. package/build/dist/EntityComponentSystem/System.js +76 -0
  166. package/build/dist/EntityComponentSystem/System.js.map +1 -0
  167. package/build/dist/EntityComponentSystem/SystemManager.js +102 -0
  168. package/build/dist/EntityComponentSystem/SystemManager.js.map +1 -0
  169. package/build/dist/EntityComponentSystem/Util.js +5 -0
  170. package/build/dist/EntityComponentSystem/Util.js.map +1 -0
  171. package/build/dist/EntityComponentSystem/World.js +55 -0
  172. package/build/dist/EntityComponentSystem/World.js.map +1 -0
  173. package/build/dist/EntityComponentSystem/index.js +11 -0
  174. package/build/dist/EntityComponentSystem/index.js.map +1 -0
  175. package/build/dist/EventDispatcher.js +114 -0
  176. package/build/dist/EventDispatcher.js.map +1 -0
  177. package/build/dist/Events/ExEvent.js +12 -0
  178. package/build/dist/Events/ExEvent.js.map +1 -0
  179. package/build/dist/Events/MediaEvents.js +75 -0
  180. package/build/dist/Events/MediaEvents.js.map +1 -0
  181. package/build/dist/Events/PointerEvents.js +52 -0
  182. package/build/dist/Events/PointerEvents.js.map +1 -0
  183. package/build/dist/Events.js +497 -0
  184. package/build/dist/Events.js.map +1 -0
  185. package/build/dist/Flags.js +90 -0
  186. package/build/dist/Flags.js.map +1 -0
  187. package/build/dist/Graphics/Animation.js +310 -0
  188. package/build/dist/Graphics/Animation.js.map +1 -0
  189. package/build/dist/Graphics/Canvas.js +38 -0
  190. package/build/dist/Graphics/Canvas.js.map +1 -0
  191. package/build/dist/Graphics/Circle.js +47 -0
  192. package/build/dist/Graphics/Circle.js.map +1 -0
  193. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js +2 -0
  194. package/build/dist/Graphics/Context/ExcaliburGraphicsContext.js.map +1 -0
  195. package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js +207 -0
  196. package/build/dist/Graphics/Context/ExcaliburGraphicsContext2DCanvas.js.map +1 -0
  197. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js +331 -0
  198. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js.map +1 -0
  199. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.js +160 -0
  200. package/build/dist/Graphics/Context/circle-renderer/circle-renderer.js.map +1 -0
  201. package/build/dist/Graphics/Context/debug-text.js +47 -0
  202. package/build/dist/Graphics/Context/debug-text.js.map +1 -0
  203. package/build/dist/Graphics/Context/image-renderer/image-renderer.js +209 -0
  204. package/build/dist/Graphics/Context/image-renderer/image-renderer.js.map +1 -0
  205. package/build/dist/Graphics/Context/line-renderer/line-renderer.js +87 -0
  206. package/build/dist/Graphics/Context/line-renderer/line-renderer.js.map +1 -0
  207. package/build/dist/Graphics/Context/point-renderer/point-renderer.js +82 -0
  208. package/build/dist/Graphics/Context/point-renderer/point-renderer.js.map +1 -0
  209. package/build/dist/Graphics/Context/quad-index-buffer.js +69 -0
  210. package/build/dist/Graphics/Context/quad-index-buffer.js.map +1 -0
  211. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.js +272 -0
  212. package/build/dist/Graphics/Context/rectangle-renderer/rectangle-renderer.js.map +1 -0
  213. package/build/dist/Graphics/Context/render-source.js +16 -0
  214. package/build/dist/Graphics/Context/render-source.js.map +1 -0
  215. package/build/dist/Graphics/Context/render-target.js +65 -0
  216. package/build/dist/Graphics/Context/render-target.js.map +1 -0
  217. package/build/dist/Graphics/Context/renderer.js +2 -0
  218. package/build/dist/Graphics/Context/renderer.js.map +1 -0
  219. package/build/dist/Graphics/Context/screen-pass-painter/screen-pass-painter.js +53 -0
  220. package/build/dist/Graphics/Context/screen-pass-painter/screen-pass-painter.js.map +1 -0
  221. package/build/dist/Graphics/Context/shader.js +236 -0
  222. package/build/dist/Graphics/Context/shader.js.map +1 -0
  223. package/build/dist/Graphics/Context/state-stack.js +27 -0
  224. package/build/dist/Graphics/Context/state-stack.js.map +1 -0
  225. package/build/dist/Graphics/Context/texture-loader.d.ts +8 -0
  226. package/build/dist/Graphics/Context/texture-loader.js +121 -0
  227. package/build/dist/Graphics/Context/texture-loader.js.map +1 -0
  228. package/build/dist/Graphics/Context/transform-stack.js +30 -0
  229. package/build/dist/Graphics/Context/transform-stack.js.map +1 -0
  230. package/build/dist/Graphics/Context/vertex-buffer.js +45 -0
  231. package/build/dist/Graphics/Context/vertex-buffer.js.map +1 -0
  232. package/build/dist/Graphics/Context/vertex-layout.js +93 -0
  233. package/build/dist/Graphics/Context/vertex-layout.js.map +1 -0
  234. package/build/dist/Graphics/Context/webgl-adapter.js +19 -0
  235. package/build/dist/Graphics/Context/webgl-adapter.js.map +1 -0
  236. package/build/dist/Graphics/Context/webgl-util.js +105 -0
  237. package/build/dist/Graphics/Context/webgl-util.js.map +1 -0
  238. package/build/dist/Graphics/DebugGraphicsComponent.js +15 -0
  239. package/build/dist/Graphics/DebugGraphicsComponent.js.map +1 -0
  240. package/build/dist/Graphics/Filtering.js +17 -0
  241. package/build/dist/Graphics/Filtering.js.map +1 -0
  242. package/build/dist/Graphics/Font.js +293 -0
  243. package/build/dist/Graphics/Font.js.map +1 -0
  244. package/build/dist/Graphics/FontCommon.js +109 -0
  245. package/build/dist/Graphics/FontCommon.js.map +1 -0
  246. package/build/dist/Graphics/Graphic.js +200 -0
  247. package/build/dist/Graphics/Graphic.js.map +1 -0
  248. package/build/dist/Graphics/GraphicsComponent.js +290 -0
  249. package/build/dist/Graphics/GraphicsComponent.js.map +1 -0
  250. package/build/dist/Graphics/GraphicsDiagnostics.js +9 -0
  251. package/build/dist/Graphics/GraphicsDiagnostics.js.map +1 -0
  252. package/build/dist/Graphics/GraphicsGroup.js +69 -0
  253. package/build/dist/Graphics/GraphicsGroup.js.map +1 -0
  254. package/build/dist/Graphics/GraphicsSystem.js +153 -0
  255. package/build/dist/Graphics/GraphicsSystem.js.map +1 -0
  256. package/build/dist/Graphics/ImageSource.js +116 -0
  257. package/build/dist/Graphics/ImageSource.js.map +1 -0
  258. package/build/dist/Graphics/Polygon.js +59 -0
  259. package/build/dist/Graphics/Polygon.js.map +1 -0
  260. package/build/dist/Graphics/PostProcessor/ColorBlindnessMode.js +7 -0
  261. package/build/dist/Graphics/PostProcessor/ColorBlindnessMode.js.map +1 -0
  262. package/build/dist/Graphics/PostProcessor/ColorBlindnessPostProcessor.js +52 -0
  263. package/build/dist/Graphics/PostProcessor/ColorBlindnessPostProcessor.js.map +1 -0
  264. package/build/dist/Graphics/PostProcessor/PostProcessor.js +2 -0
  265. package/build/dist/Graphics/PostProcessor/PostProcessor.js.map +1 -0
  266. package/build/dist/Graphics/PostProcessor/ScreenShader.js +56 -0
  267. package/build/dist/Graphics/PostProcessor/ScreenShader.js.map +1 -0
  268. package/build/dist/Graphics/Raster.js +207 -0
  269. package/build/dist/Graphics/Raster.js.map +1 -0
  270. package/build/dist/Graphics/Rectangle.js +29 -0
  271. package/build/dist/Graphics/Rectangle.js.map +1 -0
  272. package/build/dist/Graphics/Sprite.js +103 -0
  273. package/build/dist/Graphics/Sprite.js.map +1 -0
  274. package/build/dist/Graphics/SpriteFont.js +120 -0
  275. package/build/dist/Graphics/SpriteFont.js.map +1 -0
  276. package/build/dist/Graphics/SpriteSheet.js +115 -0
  277. package/build/dist/Graphics/SpriteSheet.js.map +1 -0
  278. package/build/dist/Graphics/Text.js +94 -0
  279. package/build/dist/Graphics/Text.js.map +1 -0
  280. package/build/dist/Graphics/index.js +42 -0
  281. package/build/dist/Graphics/index.js.map +1 -0
  282. package/build/dist/Id.js +8 -0
  283. package/build/dist/Id.js.map +1 -0
  284. package/build/dist/Input/CapturePointerConfig.js +5 -0
  285. package/build/dist/Input/CapturePointerConfig.js.map +1 -0
  286. package/build/dist/Input/EngineInput.js +2 -0
  287. package/build/dist/Input/EngineInput.js.map +1 -0
  288. package/build/dist/Input/Gamepad.js +358 -0
  289. package/build/dist/Input/Gamepad.js.map +1 -0
  290. package/build/dist/Input/Index.js +22 -0
  291. package/build/dist/Input/Index.js.map +1 -0
  292. package/build/dist/Input/Keyboard.js +267 -0
  293. package/build/dist/Input/Keyboard.js.map +1 -0
  294. package/build/dist/Input/NativePointerButton.js +12 -0
  295. package/build/dist/Input/NativePointerButton.js.map +1 -0
  296. package/build/dist/Input/PointerAbstraction.js +41 -0
  297. package/build/dist/Input/PointerAbstraction.js.map +1 -0
  298. package/build/dist/Input/PointerButton.js +12 -0
  299. package/build/dist/Input/PointerButton.js.map +1 -0
  300. package/build/dist/Input/PointerComponent.js +28 -0
  301. package/build/dist/Input/PointerComponent.js.map +1 -0
  302. package/build/dist/Input/PointerEvent.js +25 -0
  303. package/build/dist/Input/PointerEvent.js.map +1 -0
  304. package/build/dist/Input/PointerEventReceiver.js +414 -0
  305. package/build/dist/Input/PointerEventReceiver.js.map +1 -0
  306. package/build/dist/Input/PointerScope.js +16 -0
  307. package/build/dist/Input/PointerScope.js.map +1 -0
  308. package/build/dist/Input/PointerSystem.js +217 -0
  309. package/build/dist/Input/PointerSystem.js.map +1 -0
  310. package/build/dist/Input/PointerType.js +11 -0
  311. package/build/dist/Input/PointerType.js.map +1 -0
  312. package/build/dist/Input/WheelDeltaMode.js +7 -0
  313. package/build/dist/Input/WheelDeltaMode.js.map +1 -0
  314. package/build/dist/Input/WheelEvent.js +21 -0
  315. package/build/dist/Input/WheelEvent.js.map +1 -0
  316. package/build/dist/Interfaces/Audio.js +2 -0
  317. package/build/dist/Interfaces/Audio.js.map +1 -0
  318. package/build/dist/Interfaces/AudioImplementation.js +11 -0
  319. package/build/dist/Interfaces/AudioImplementation.js.map +1 -0
  320. package/build/dist/Interfaces/Clonable.js +2 -0
  321. package/build/dist/Interfaces/Clonable.js.map +1 -0
  322. package/build/dist/Interfaces/Drawable.js +2 -0
  323. package/build/dist/Interfaces/Drawable.js.map +1 -0
  324. package/build/dist/Interfaces/Evented.js +2 -0
  325. package/build/dist/Interfaces/Evented.js.map +1 -0
  326. package/build/dist/Interfaces/Index.js +10 -0
  327. package/build/dist/Interfaces/Index.js.map +1 -0
  328. package/build/dist/Interfaces/LifecycleEvents.js +51 -0
  329. package/build/dist/Interfaces/LifecycleEvents.js.map +1 -0
  330. package/build/dist/Interfaces/Loadable.js +2 -0
  331. package/build/dist/Interfaces/Loadable.js.map +1 -0
  332. package/build/dist/Interfaces/PointerEventHandlers.js +2 -0
  333. package/build/dist/Interfaces/PointerEventHandlers.js.map +1 -0
  334. package/build/dist/Interfaces/Trait.js +2 -0
  335. package/build/dist/Interfaces/Trait.js.map +1 -0
  336. package/build/dist/Label.js +273 -0
  337. package/build/dist/Label.js.map +1 -0
  338. package/build/dist/Loader.js +367 -0
  339. package/build/dist/Loader.js.map +1 -0
  340. package/build/dist/Math/Index.js +10 -0
  341. package/build/dist/Math/Index.js.map +1 -0
  342. package/build/dist/Math/Random.js +239 -0
  343. package/build/dist/Math/Random.js.map +1 -0
  344. package/build/dist/Math/global-coordinates.js +30 -0
  345. package/build/dist/Math/global-coordinates.js.map +1 -0
  346. package/build/dist/Math/line.js +194 -0
  347. package/build/dist/Math/line.js.map +1 -0
  348. package/build/dist/Math/matrix.js +446 -0
  349. package/build/dist/Math/matrix.js.map +1 -0
  350. package/build/dist/Math/projection.js +24 -0
  351. package/build/dist/Math/projection.js.map +1 -0
  352. package/build/dist/Math/ray.js +52 -0
  353. package/build/dist/Math/ray.js.map +1 -0
  354. package/build/dist/Math/util.js +82 -0
  355. package/build/dist/Math/util.js.map +1 -0
  356. package/build/dist/Math/vector-view.js +25 -0
  357. package/build/dist/Math/vector-view.js.map +1 -0
  358. package/build/dist/Math/vector.js +326 -0
  359. package/build/dist/Math/vector.js.map +1 -0
  360. package/build/dist/Particles.js +449 -0
  361. package/build/dist/Particles.js.map +1 -0
  362. package/build/dist/Polyfill.js +56 -0
  363. package/build/dist/Polyfill.js.map +1 -0
  364. package/build/dist/Promises.js +205 -0
  365. package/build/dist/Promises.js.map +1 -0
  366. package/build/dist/Resources/Gif.js +479 -0
  367. package/build/dist/Resources/Gif.js.map +1 -0
  368. package/build/dist/Resources/Index.js +4 -0
  369. package/build/dist/Resources/Index.js.map +1 -0
  370. package/build/dist/Resources/Resource.js +74 -0
  371. package/build/dist/Resources/Resource.js.map +1 -0
  372. package/build/dist/Resources/Sound/AudioContext.js +16 -0
  373. package/build/dist/Resources/Sound/AudioContext.js.map +1 -0
  374. package/build/dist/Resources/Sound/Index.js +4 -0
  375. package/build/dist/Resources/Sound/Index.js.map +1 -0
  376. package/build/dist/Resources/Sound/Sound.js +240 -0
  377. package/build/dist/Resources/Sound/Sound.js.map +1 -0
  378. package/build/dist/Resources/Sound/WebAudioInstance.js +160 -0
  379. package/build/dist/Resources/Sound/WebAudioInstance.js.map +1 -0
  380. package/build/dist/Scene.js +458 -0
  381. package/build/dist/Scene.js.map +1 -0
  382. package/build/dist/Screen.js +634 -0
  383. package/build/dist/Screen.js.map +1 -0
  384. package/build/dist/ScreenElement.js +29 -0
  385. package/build/dist/ScreenElement.js.map +1 -0
  386. package/build/dist/TileMap.js +488 -0
  387. package/build/dist/TileMap.js.map +1 -0
  388. package/build/dist/Timer.js +198 -0
  389. package/build/dist/Timer.js.map +1 -0
  390. package/build/dist/Traits/Index.js +5 -0
  391. package/build/dist/Traits/Index.js.map +1 -0
  392. package/build/dist/Traits/OffscreenCulling.js +35 -0
  393. package/build/dist/Traits/OffscreenCulling.js.map +1 -0
  394. package/build/dist/Trigger.js +113 -0
  395. package/build/dist/Trigger.js.map +1 -0
  396. package/build/dist/Util/Actors.js +19 -0
  397. package/build/dist/Util/Actors.js.map +1 -0
  398. package/build/dist/Util/Browser.js +66 -0
  399. package/build/dist/Util/Browser.js.map +1 -0
  400. package/build/dist/Util/Clock.js +219 -0
  401. package/build/dist/Util/Clock.js.map +1 -0
  402. package/build/dist/Util/CullingBox.js +104 -0
  403. package/build/dist/Util/CullingBox.js.map +1 -0
  404. package/build/dist/Util/Decorators.js +78 -0
  405. package/build/dist/Util/Decorators.js.map +1 -0
  406. package/build/dist/Util/Detector.js +167 -0
  407. package/build/dist/Util/Detector.js.map +1 -0
  408. package/build/dist/Util/DrawUtil.js +117 -0
  409. package/build/dist/Util/DrawUtil.js.map +1 -0
  410. package/build/dist/Util/EasingFunctions.js +118 -0
  411. package/build/dist/Util/EasingFunctions.js.map +1 -0
  412. package/build/dist/Util/Fps.js +47 -0
  413. package/build/dist/Util/Fps.js.map +1 -0
  414. package/build/dist/Util/Index.js +7 -0
  415. package/build/dist/Util/Index.js.map +1 -0
  416. package/build/dist/Util/Log.js +195 -0
  417. package/build/dist/Util/Log.js.map +1 -0
  418. package/build/dist/Util/Observable.js +60 -0
  419. package/build/dist/Util/Observable.js.map +1 -0
  420. package/build/dist/Util/Pool.js +66 -0
  421. package/build/dist/Util/Pool.js.map +1 -0
  422. package/build/dist/Util/SortedList.js +261 -0
  423. package/build/dist/Util/SortedList.js.map +1 -0
  424. package/build/dist/Util/Sound.js +22 -0
  425. package/build/dist/Util/Sound.js.map +1 -0
  426. package/build/dist/Util/Util.js +294 -0
  427. package/build/dist/Util/Util.js.map +1 -0
  428. package/build/dist/Util/Watch.js +67 -0
  429. package/build/dist/Util/Watch.js.map +1 -0
  430. package/build/dist/Util/WebAudio.js +62 -0
  431. package/build/dist/Util/WebAudio.js.map +1 -0
  432. package/build/dist/excalibur.js +101 -22
  433. package/build/dist/excalibur.js.map +1 -1
  434. package/build/dist/excalibur.min.js +1 -1
  435. package/build/dist/excalibur.min.js.LICENSE.txt +1 -1
  436. package/build/dist/excalibur.min.js.map +1 -1
  437. package/build/dist/index.js +74 -0
  438. package/build/dist/index.js.map +1 -0
  439. package/build/esm/Engine.d.ts +4 -1
  440. package/build/esm/Graphics/Context/texture-loader.d.ts +8 -0
  441. package/build/esm/excalibur.js +101 -22
  442. package/build/esm/excalibur.js.map +1 -1
  443. package/build/esm/excalibur.min.js +1 -1
  444. package/build/esm/excalibur.min.js.LICENSE.txt +1 -1
  445. package/build/esm/excalibur.min.js.map +1 -1
  446. package/package.json +23 -22
@@ -0,0 +1,355 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import * as Effects from './SpriteEffects';
8
+ import { Color } from '../Color';
9
+ import { Texture } from './Texture';
10
+ import { Vector } from '../Math/vector';
11
+ import { Logger } from '../Util/Log';
12
+ import { Configurable } from '../Configurable';
13
+ import { obsolete } from '../Util/Decorators';
14
+ import { clamp } from '../Math/util';
15
+ /**
16
+ * @hidden
17
+ * @deprecated Use [[Sprite]]
18
+ */
19
+ export class SpriteImpl {
20
+ /**
21
+ * @param imageOrConfig The backing image texture to build the Sprite, or Sprite option bag
22
+ * @param x The x position of the sprite
23
+ * @param y The y position of the sprite
24
+ * @param width The width of the sprite in pixels
25
+ * @param height The height of the sprite in pixels
26
+ */
27
+ constructor(imageOrConfig, x, y, width, height) {
28
+ this.x = 0;
29
+ this.y = 0;
30
+ this.rotation = 0.0;
31
+ this.anchor = Vector.Half;
32
+ this.offset = Vector.Zero;
33
+ this.scale = Vector.One;
34
+ /**
35
+ * Default: false, should the sprite be drawn around the anchor or from the top left.
36
+ * Sprite rotations/scaling still happen around the anchor regardless of this setting.
37
+ */
38
+ this.drawAroundAnchor = false;
39
+ this.logger = Logger.getInstance();
40
+ /**
41
+ * Draws the sprite flipped vertically
42
+ */
43
+ this.flipVertical = false;
44
+ /**
45
+ * Draws the sprite flipped horizontally
46
+ */
47
+ this.flipHorizontal = false;
48
+ this.effects = [];
49
+ this.width = 0;
50
+ this.height = 0;
51
+ this._spriteCanvas = null;
52
+ this._spriteCtx = null;
53
+ this._pixelData = null;
54
+ this._pixelsLoaded = false;
55
+ this._dirtyEffect = true;
56
+ this._opacity = 1;
57
+ let image = imageOrConfig;
58
+ if (imageOrConfig && !(imageOrConfig instanceof Texture)) {
59
+ x = imageOrConfig.x | 0;
60
+ y = imageOrConfig.y | 0;
61
+ width = imageOrConfig.width | 0;
62
+ height = imageOrConfig.height | 0;
63
+ image = imageOrConfig.image;
64
+ if (!image) {
65
+ const message = 'An image texture is required to construct a sprite';
66
+ throw new Error(message);
67
+ }
68
+ }
69
+ this.x = x || 0;
70
+ this.y = y || 0;
71
+ this.texture = image;
72
+ this._spriteCanvas = document.createElement('canvas');
73
+ this._spriteCanvas.width = width;
74
+ this._spriteCanvas.height = height;
75
+ this._spriteCtx = this._spriteCanvas.getContext('2d');
76
+ this._initPixelsFromTexture();
77
+ this.width = width;
78
+ this.height = height;
79
+ }
80
+ get drawWidth() {
81
+ return Math.abs(this.width * this.scale.x);
82
+ }
83
+ get drawHeight() {
84
+ return Math.abs(this.height * this.scale.y);
85
+ }
86
+ async _initPixelsFromTexture() {
87
+ try {
88
+ const image = await this.texture.loaded;
89
+ this.width = this.width || image.naturalWidth;
90
+ this.height = this.height || image.naturalHeight;
91
+ this._spriteCanvas.width = this._spriteCanvas.width || image.naturalWidth;
92
+ this._spriteCanvas.height = this._spriteCanvas.height || image.naturalHeight;
93
+ this._loadPixels();
94
+ this._dirtyEffect = true;
95
+ }
96
+ catch (e) {
97
+ this.logger.error('Error loading texture ', this.texture.path, e);
98
+ }
99
+ }
100
+ _loadPixels() {
101
+ if (this.texture.isLoaded() && !this._pixelsLoaded) {
102
+ const naturalWidth = this.texture.image.naturalWidth || 0;
103
+ const naturalHeight = this.texture.image.naturalHeight || 0;
104
+ if (this.width > naturalWidth) {
105
+ this.logger.warn(`The sprite width ${this.width} exceeds the width
106
+ ${naturalWidth} of the backing texture ${this.texture.path}`);
107
+ }
108
+ if (this.width <= 0 || naturalWidth <= 0) {
109
+ throw new Error(`The width of a sprite cannot be 0 or negative, sprite width: ${this.width}, original width: ${naturalWidth}`);
110
+ }
111
+ if (this.height > naturalHeight) {
112
+ this.logger.warn(`The sprite height ${this.height} exceeds the height
113
+ ${naturalHeight} of the backing texture ${this.texture.path}`);
114
+ }
115
+ if (this.height <= 0 || naturalHeight <= 0) {
116
+ throw new Error(`The height of a sprite cannot be 0 or negative, sprite height: ${this.height}, original height: ${naturalHeight}`);
117
+ }
118
+ this._flushTexture();
119
+ this._pixelsLoaded = true;
120
+ }
121
+ }
122
+ _flushTexture() {
123
+ const naturalWidth = this.texture.image.naturalWidth || 0;
124
+ const naturalHeight = this.texture.image.naturalHeight || 0;
125
+ this._spriteCtx.clearRect(0, 0, this.width, this.height);
126
+ this._spriteCtx.drawImage(this.texture.image, clamp(this.x, 0, naturalWidth), clamp(this.y, 0, naturalHeight), clamp(this.width, 0, naturalWidth), clamp(this.height, 0, naturalHeight), 0, 0, this.width, this.height);
127
+ }
128
+ /**
129
+ * Applies the [[Opacity]] effect to a sprite, setting the alpha of all pixels to a given value
130
+ */
131
+ opacity(value) {
132
+ this._opacity = value;
133
+ }
134
+ /**
135
+ * Applies the [[Grayscale]] effect to a sprite, removing color information.
136
+ */
137
+ grayscale() {
138
+ this.addEffect(new Effects.Grayscale());
139
+ }
140
+ /**
141
+ * Applies the [[Invert]] effect to a sprite, inverting the pixel colors.
142
+ */
143
+ invert() {
144
+ this.addEffect(new Effects.Invert());
145
+ }
146
+ /**
147
+ * Applies the [[Fill]] effect to a sprite, changing the color channels of all non-transparent pixels to match a given color
148
+ */
149
+ fill(color) {
150
+ this.addEffect(new Effects.Fill(color));
151
+ }
152
+ /**
153
+ * Applies the [[Colorize]] effect to a sprite, changing the color channels of all pixels to be the average of the original color
154
+ * and the provided color.
155
+ */
156
+ colorize(color) {
157
+ this.addEffect(new Effects.Colorize(color));
158
+ }
159
+ /**
160
+ * Applies the [[Lighten]] effect to a sprite, changes the lightness of the color according to HSL
161
+ */
162
+ lighten(factor = 0.1) {
163
+ this.addEffect(new Effects.Lighten(factor));
164
+ }
165
+ /**
166
+ * Applies the [[Darken]] effect to a sprite, changes the darkness of the color according to HSL
167
+ */
168
+ darken(factor = 0.1) {
169
+ this.addEffect(new Effects.Darken(factor));
170
+ }
171
+ /**
172
+ * Applies the [[Saturate]] effect to a sprite, saturates the color according to HSL
173
+ */
174
+ saturate(factor = 0.1) {
175
+ this.addEffect(new Effects.Saturate(factor));
176
+ }
177
+ /**
178
+ * Applies the [[Desaturate]] effect to a sprite, desaturates the color according to HSL
179
+ */
180
+ desaturate(factor = 0.1) {
181
+ this.addEffect(new Effects.Desaturate(factor));
182
+ }
183
+ /**
184
+ * Adds a new [[SpriteEffect]] to this drawing.
185
+ * @param effect Effect to add to the this drawing
186
+ */
187
+ addEffect(effect) {
188
+ this.effects.push(effect);
189
+ // We must check if the texture and the backing sprite pixels are loaded as well before
190
+ // an effect can be applied
191
+ if (!this.texture.isLoaded() || !this._pixelsLoaded) {
192
+ this._dirtyEffect = true;
193
+ }
194
+ else {
195
+ this._applyEffects();
196
+ }
197
+ }
198
+ removeEffect(param) {
199
+ let indexToRemove = -1;
200
+ if (typeof param === 'number') {
201
+ indexToRemove = param;
202
+ }
203
+ else {
204
+ indexToRemove = this.effects.indexOf(param);
205
+ }
206
+ // bounds check
207
+ if (indexToRemove < 0 || indexToRemove >= this.effects.length) {
208
+ return;
209
+ }
210
+ this.effects.splice(indexToRemove, 1);
211
+ // We must check if the texture and the backing sprite pixels are loaded as well before
212
+ // an effect can be applied
213
+ if (!this.texture.isLoaded() || !this._pixelsLoaded) {
214
+ this._dirtyEffect = true;
215
+ }
216
+ else {
217
+ this._applyEffects();
218
+ }
219
+ }
220
+ _applyEffects() {
221
+ this._flushTexture();
222
+ if (this.effects.length > 0) {
223
+ this._pixelData = this._spriteCtx.getImageData(0, 0, this.width, this.height);
224
+ const len = this.effects.length;
225
+ for (let i = 0; i < len; i++) {
226
+ for (let y = 0; y < this.height; y++) {
227
+ for (let x = 0; x < this.width; x++) {
228
+ this.effects[i].updatePixel(x, y, this._pixelData);
229
+ }
230
+ }
231
+ }
232
+ this._spriteCtx.clearRect(0, 0, this.width, this.height);
233
+ this._spriteCtx.putImageData(this._pixelData, 0, 0);
234
+ }
235
+ this._dirtyEffect = false;
236
+ }
237
+ /**
238
+ * Clears all effects from the drawing and return it to its original state.
239
+ */
240
+ clearEffects() {
241
+ this.effects.length = 0;
242
+ this._applyEffects();
243
+ }
244
+ /**
245
+ * Resets the internal state of the drawing (if any)
246
+ */
247
+ reset() {
248
+ // do nothing
249
+ }
250
+ debugDraw(ctx, x, y) {
251
+ ctx.save();
252
+ ctx.translate(x, y);
253
+ ctx.rotate(this.rotation);
254
+ const xpoint = this.drawWidth * this.anchor.x;
255
+ const ypoint = this.drawHeight * this.anchor.y;
256
+ ctx.strokeStyle = Color.Black.toString();
257
+ ctx.strokeRect(-xpoint, -ypoint, this.drawWidth, this.drawHeight);
258
+ ctx.restore();
259
+ }
260
+ draw(ctxOrOptions, x, y) {
261
+ if (ctxOrOptions instanceof CanvasRenderingContext2D) {
262
+ this._drawWithOptions({ ctx: ctxOrOptions, x, y });
263
+ }
264
+ else {
265
+ this._drawWithOptions(ctxOrOptions);
266
+ }
267
+ }
268
+ _drawWithOptions(options) {
269
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
270
+ const { ctx, x, y, rotation, drawWidth, drawHeight, anchor, offset, opacity, flipHorizontal, flipVertical } = {
271
+ ...options,
272
+ rotation: (_a = options.rotation) !== null && _a !== void 0 ? _a : this.rotation,
273
+ drawWidth: (_b = options.drawWidth) !== null && _b !== void 0 ? _b : this.width,
274
+ drawHeight: (_c = options.drawHeight) !== null && _c !== void 0 ? _c : this.height,
275
+ flipHorizontal: (_d = options.flipHorizontal) !== null && _d !== void 0 ? _d : this.flipHorizontal,
276
+ flipVertical: (_e = options.flipVertical) !== null && _e !== void 0 ? _e : this.flipVertical,
277
+ anchor: (_f = options.anchor) !== null && _f !== void 0 ? _f : this.anchor,
278
+ offset: (_g = options.offset) !== null && _g !== void 0 ? _g : this.offset,
279
+ opacity: ((_h = options.opacity) !== null && _h !== void 0 ? _h : 1) * ((_j = this._opacity) !== null && _j !== void 0 ? _j : 1)
280
+ };
281
+ if (this._dirtyEffect) {
282
+ this._applyEffects();
283
+ }
284
+ // calculating current dimensions
285
+ const anchorX = drawWidth * anchor.x + offset.x;
286
+ const anchorY = drawHeight * anchor.y + offset.y;
287
+ const scaleDirX = this.scale.x > 0 ? 1 : -1;
288
+ const scaleDirY = this.scale.y > 0 ? 1 : -1;
289
+ ctx.save();
290
+ // Move the draw point of origin
291
+ ctx.translate(x, y);
292
+ // Rotate and scale around anchor point
293
+ // This requires a bit of explaination, scale coordinates first positive flipping or rotating
294
+ ctx.scale(Math.abs(this.scale.x), Math.abs(this.scale.y));
295
+ if (this.drawAroundAnchor) {
296
+ // In the case where you want the anchor to match with the point of draw
297
+ // Otherwise sprites are always drawn from top-left
298
+ ctx.translate(-anchorX, -anchorY);
299
+ }
300
+ ctx.translate(anchorX, anchorY);
301
+ ctx.rotate(rotation);
302
+ // This is for handling direction changes 1 or -1, that way we don't have mismatched translates()
303
+ ctx.scale(scaleDirX, scaleDirY);
304
+ ctx.translate(-anchorX, -anchorY);
305
+ if (flipHorizontal) {
306
+ ctx.translate(drawWidth, 0);
307
+ ctx.scale(-1, 1);
308
+ }
309
+ if (flipVertical) {
310
+ ctx.translate(0, drawHeight);
311
+ ctx.scale(1, -1);
312
+ }
313
+ const oldAlpha = ctx.globalAlpha;
314
+ ctx.globalAlpha = opacity;
315
+ // Context is already rotated and scaled
316
+ ctx.drawImage(this._spriteCanvas, 0, 0, this.width, this.height, // source
317
+ 0, 0, this.width, this.height); // dest
318
+ ctx.globalAlpha = oldAlpha;
319
+ ctx.restore();
320
+ }
321
+ /**
322
+ * Produces a copy of the current sprite
323
+ */
324
+ clone() {
325
+ const result = new Sprite(this.texture, this.x, this.y, this.width, this.height);
326
+ result.anchor = this.anchor.clone();
327
+ result.scale = this.scale.clone();
328
+ result.rotation = this.rotation;
329
+ result.flipHorizontal = this.flipHorizontal;
330
+ result.flipVertical = this.flipVertical;
331
+ const len = this.effects.length;
332
+ for (let i = 0; i < len; i++) {
333
+ result.addEffect(this.effects[i]);
334
+ }
335
+ return result;
336
+ }
337
+ }
338
+ /**
339
+ * A [[LegacyDrawing.Sprite]] is one of the main drawing primitives. It is responsible for drawing
340
+ * images or parts of images from a [[LegacyDrawing.Texture]] resource to the screen.
341
+ * @deprecated Use [[Sprite]]
342
+ */
343
+ let Sprite = class Sprite extends Configurable(SpriteImpl) {
344
+ constructor(imageOrConfig, x, y, width, height) {
345
+ super(imageOrConfig, x, y, width, height);
346
+ }
347
+ };
348
+ Sprite = __decorate([
349
+ obsolete({
350
+ message: 'Label.clearTextShadow will be removed in v0.26.0',
351
+ alternateMethod: 'Use Label.font.shadow'
352
+ })
353
+ ], Sprite);
354
+ export { Sprite };
355
+ //# sourceMappingURL=Sprite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sprite.js","sourceRoot":"","sources":["../../../src/engine/Drawing/Sprite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * @module
3
+ * @deprecated
4
+ * These effects can be applied to any bitmap image but are mainly used
5
+ * for [[Sprite]] effects or [[Animation]] effects.
6
+ */
7
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ /**
14
+ * @typedoc
15
+ */
16
+ import { obsolete } from '../Util/Decorators';
17
+ import { Color } from '../Color';
18
+ /**
19
+ * Applies the "Grayscale" effect to a sprite, removing color information.
20
+ * @deprecated [[Grayscale]] will be removed in v0.26.0
21
+ */
22
+ let Grayscale = class Grayscale {
23
+ updatePixel(x, y, imageData) {
24
+ const firstPixel = (x + y * imageData.width) * 4;
25
+ const pixel = imageData.data;
26
+ const avg = (pixel[firstPixel + 0] + pixel[firstPixel + 1] + pixel[firstPixel + 2]) / 3;
27
+ pixel[firstPixel + 0] = avg;
28
+ pixel[firstPixel + 1] = avg;
29
+ pixel[firstPixel + 2] = avg;
30
+ }
31
+ };
32
+ Grayscale = __decorate([
33
+ obsolete({
34
+ message: 'Grayscale will be removed in v0.26.0'
35
+ })
36
+ ], Grayscale);
37
+ export { Grayscale };
38
+ /**
39
+ * Applies the "Invert" effect to a sprite, inverting the pixel colors.
40
+ * @deprecated [[Invert]] will be removed in v0.26.0
41
+ */
42
+ let Invert = class Invert {
43
+ updatePixel(x, y, imageData) {
44
+ const firstPixel = (x + y * imageData.width) * 4;
45
+ const pixel = imageData.data;
46
+ pixel[firstPixel + 0] = 255 - pixel[firstPixel + 0];
47
+ pixel[firstPixel + 1] = 255 - pixel[firstPixel + 1];
48
+ pixel[firstPixel + 2] = 255 - pixel[firstPixel + 2];
49
+ }
50
+ };
51
+ Invert = __decorate([
52
+ obsolete({
53
+ message: 'Invert will be removed in v0.26.0'
54
+ })
55
+ ], Invert);
56
+ export { Invert };
57
+ /**
58
+ * Applies the "Opacity" effect to a sprite, setting the alpha of all pixels to a given value.
59
+ * @deprecated [[Opacity]] will be removed in v0.26.0
60
+ */
61
+ let Opacity = class Opacity {
62
+ /**
63
+ * @param opacity The new opacity of the sprite from 0-1.0
64
+ */
65
+ constructor(opacity) {
66
+ this.opacity = opacity;
67
+ }
68
+ updatePixel(x, y, imageData) {
69
+ const firstPixel = (x + y * imageData.width) * 4;
70
+ const pixel = imageData.data;
71
+ if (pixel[firstPixel + 3] !== 0) {
72
+ pixel[firstPixel + 3] = Math.round(this.opacity * pixel[firstPixel + 3]);
73
+ }
74
+ }
75
+ };
76
+ Opacity = __decorate([
77
+ obsolete({
78
+ message: 'Opacity will be removed in v0.26.0'
79
+ })
80
+ ], Opacity);
81
+ export { Opacity };
82
+ /**
83
+ * Applies the "Colorize" effect to a sprite, changing the color channels of all the pixels to an
84
+ * average of the original color and the provided color
85
+ * @deprecated [[Colorize]] will be removed in v0.26.0
86
+ */
87
+ let Colorize = class Colorize {
88
+ /**
89
+ * @param color The color to apply to the sprite
90
+ */
91
+ constructor(color) {
92
+ this.color = color;
93
+ }
94
+ updatePixel(x, y, imageData) {
95
+ const firstPixel = (x + y * imageData.width) * 4;
96
+ const pixel = imageData.data;
97
+ if (pixel[firstPixel + 3] !== 0) {
98
+ pixel[firstPixel + 0] = (pixel[firstPixel + 0] + this.color.r) / 2;
99
+ pixel[firstPixel + 1] = (pixel[firstPixel + 1] + this.color.g) / 2;
100
+ pixel[firstPixel + 2] = (pixel[firstPixel + 2] + this.color.b) / 2;
101
+ }
102
+ }
103
+ };
104
+ Colorize = __decorate([
105
+ obsolete({
106
+ message: 'Colorize will be removed in v0.26.0'
107
+ })
108
+ ], Colorize);
109
+ export { Colorize };
110
+ /**
111
+ * Applies the "Lighten" effect to a sprite, changes the lightness of the color according to HSL
112
+ * @deprecated [[Lighten]] will be removed in v0.26.0
113
+ */
114
+ let Lighten = class Lighten {
115
+ /**
116
+ * @param factor The factor of the effect between 0-1
117
+ */
118
+ constructor(factor = 0.1) {
119
+ this.factor = factor;
120
+ }
121
+ updatePixel(x, y, imageData) {
122
+ const firstPixel = (x + y * imageData.width) * 4;
123
+ const pixel = imageData.data;
124
+ const color = Color.fromRGB(pixel[firstPixel + 0], pixel[firstPixel + 1], pixel[firstPixel + 2], pixel[firstPixel + 3]).lighten(this.factor);
125
+ pixel[firstPixel + 0] = color.r;
126
+ pixel[firstPixel + 1] = color.g;
127
+ pixel[firstPixel + 2] = color.b;
128
+ pixel[firstPixel + 3] = color.a;
129
+ }
130
+ };
131
+ Lighten = __decorate([
132
+ obsolete({
133
+ message: 'Lighten will be removed in v0.26.0'
134
+ })
135
+ ], Lighten);
136
+ export { Lighten };
137
+ /**
138
+ * Applies the "Darken" effect to a sprite, changes the darkness of the color according to HSL
139
+ * @deprecated [[Darken]] will be removed in v0.26.0
140
+ */
141
+ let Darken = class Darken {
142
+ /**
143
+ * @param factor The factor of the effect between 0-1
144
+ */
145
+ constructor(factor = 0.1) {
146
+ this.factor = factor;
147
+ }
148
+ updatePixel(x, y, imageData) {
149
+ const firstPixel = (x + y * imageData.width) * 4;
150
+ const pixel = imageData.data;
151
+ const color = Color.fromRGB(pixel[firstPixel + 0], pixel[firstPixel + 1], pixel[firstPixel + 2], pixel[firstPixel + 3]).darken(this.factor);
152
+ pixel[firstPixel + 0] = color.r;
153
+ pixel[firstPixel + 1] = color.g;
154
+ pixel[firstPixel + 2] = color.b;
155
+ pixel[firstPixel + 3] = color.a;
156
+ }
157
+ };
158
+ Darken = __decorate([
159
+ obsolete({
160
+ message: 'Darken will be removed v0.26.0'
161
+ })
162
+ ], Darken);
163
+ export { Darken };
164
+ /**
165
+ * Applies the "Saturate" effect to a sprite, saturates the color according to HSL
166
+ * @deprecated [[Saturate]] will be removed in v0.26.0
167
+ */
168
+ let Saturate = class Saturate {
169
+ /**
170
+ * @param factor The factor of the effect between 0-1
171
+ */
172
+ constructor(factor = 0.1) {
173
+ this.factor = factor;
174
+ }
175
+ updatePixel(x, y, imageData) {
176
+ const firstPixel = (x + y * imageData.width) * 4;
177
+ const pixel = imageData.data;
178
+ const color = Color.fromRGB(pixel[firstPixel + 0], pixel[firstPixel + 1], pixel[firstPixel + 2], pixel[firstPixel + 3]).saturate(this.factor);
179
+ pixel[firstPixel + 0] = color.r;
180
+ pixel[firstPixel + 1] = color.g;
181
+ pixel[firstPixel + 2] = color.b;
182
+ pixel[firstPixel + 3] = color.a;
183
+ }
184
+ };
185
+ Saturate = __decorate([
186
+ obsolete({
187
+ message: 'Saturate will be removed in v0.26.0'
188
+ })
189
+ ], Saturate);
190
+ export { Saturate };
191
+ /**
192
+ * Applies the "Desaturate" effect to a sprite, desaturates the color according to HSL
193
+ * @deprecated [[Desaturate]] will be removed in v0.26.0
194
+ */
195
+ let Desaturate = class Desaturate {
196
+ /**
197
+ * @param factor The factor of the effect between 0-1
198
+ */
199
+ constructor(factor = 0.1) {
200
+ this.factor = factor;
201
+ }
202
+ updatePixel(x, y, imageData) {
203
+ const firstPixel = (x + y * imageData.width) * 4;
204
+ const pixel = imageData.data;
205
+ const color = Color.fromRGB(pixel[firstPixel + 0], pixel[firstPixel + 1], pixel[firstPixel + 2], pixel[firstPixel + 3]).desaturate(this.factor);
206
+ pixel[firstPixel + 0] = color.r;
207
+ pixel[firstPixel + 1] = color.g;
208
+ pixel[firstPixel + 2] = color.b;
209
+ pixel[firstPixel + 3] = color.a;
210
+ }
211
+ };
212
+ Desaturate = __decorate([
213
+ obsolete({
214
+ message: 'Desaturate will be removed in v0.26.0'
215
+ })
216
+ ], Desaturate);
217
+ export { Desaturate };
218
+ /**
219
+ * Applies the "Fill" effect to a sprite, changing the color channels of all non-transparent pixels to match
220
+ * a given color
221
+ * @deprecated [[Fill]] will be removed in v0.26.0
222
+ */
223
+ let Fill = class Fill {
224
+ /**
225
+ * @param color The color to apply to the sprite
226
+ */
227
+ constructor(color) {
228
+ this.color = color;
229
+ }
230
+ updatePixel(x, y, imageData) {
231
+ const firstPixel = (x + y * imageData.width) * 4;
232
+ const pixel = imageData.data;
233
+ if (pixel[firstPixel + 3] !== 0) {
234
+ pixel[firstPixel + 0] = this.color.r;
235
+ pixel[firstPixel + 1] = this.color.g;
236
+ pixel[firstPixel + 2] = this.color.b;
237
+ }
238
+ }
239
+ };
240
+ Fill = __decorate([
241
+ obsolete({
242
+ message: 'Fill will be removed in v0.26.0'
243
+ })
244
+ ], Fill);
245
+ export { Fill };
246
+ //# sourceMappingURL=SpriteEffects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteEffects.js","sourceRoot":"","sources":["../../../src/engine/Drawing/SpriteEffects.ts"],"names":[],"mappings":"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"}