bard-legends-framework 0.9.6 → 0.9.7

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 (238) hide show
  1. package/dist/_interfaces/index.d.ts +2 -2
  2. package/dist/_interfaces/index.js +2 -3
  3. package/dist/game-entities/attachable/attachable.d.ts +6 -6
  4. package/dist/game-entities/attachable/attachable.js +28 -30
  5. package/dist/game-entities/attachable/attachable.spec.js +129 -128
  6. package/dist/game-entities/attachable/attachable.store.d.ts +5 -5
  7. package/dist/game-entities/attachable/attachable.store.js +34 -32
  8. package/dist/game-entities/attachable/attachable.test.js +132 -131
  9. package/dist/game-entities/attachable/destroyable.d.ts +13 -13
  10. package/dist/game-entities/attachable/destroyable.js +64 -69
  11. package/dist/game-entities/attachable/helpers/decorate-actions-lib.d.ts +15 -15
  12. package/dist/game-entities/attachable/helpers/decorate-actions-lib.js +125 -116
  13. package/dist/game-entities/attachable/helpers/referance-variable.d.ts +15 -15
  14. package/dist/game-entities/attachable/helpers/referance-variable.js +47 -48
  15. package/dist/game-entities/attachable/interfaces.d.ts +6 -6
  16. package/dist/game-entities/attachable/interfaces.js +2 -3
  17. package/dist/game-entities/base/helpers/decorate-actions-lib.js +0 -1
  18. package/dist/game-entities/controller/controller.js +0 -1
  19. package/dist/game-entities/controller/controller.spec.js +128 -125
  20. package/dist/game-entities/entity/entity.spec.js +263 -293
  21. package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +7 -7
  22. package/dist/game-entities/entity/helpers/view-creation.helper.js +48 -48
  23. package/dist/game-entities/scene/scene.spec.js +219 -223
  24. package/dist/game-entities/service/service.js +0 -4
  25. package/dist/game-entities/service/service.spec.js +265 -237
  26. package/dist/game-entities/service/service.test.js +4 -2
  27. package/dist/game-entities/update-loop.d.ts +18 -18
  28. package/dist/game-entities/update-loop.js +46 -28
  29. package/dist/game-entities/view/view.spec.js +490 -506
  30. package/dist/game-entities/view/view.test.js +1 -1
  31. package/dist/lib/animator/animations.d.ts +13 -13
  32. package/dist/lib/animator/animations.js +43 -40
  33. package/dist/lib/animator/animator.d.ts +41 -41
  34. package/dist/lib/animator/animator.js +194 -197
  35. package/dist/lib/animator/animator.spec.js +699 -612
  36. package/dist/lib/animator/index.js +24 -19
  37. package/dist/lib/libraries/animator/animations.d.ts +13 -13
  38. package/dist/lib/libraries/animator/animations.js +43 -40
  39. package/dist/lib/libraries/animator/animator.d.ts +41 -41
  40. package/dist/lib/libraries/animator/animator.js +194 -197
  41. package/dist/lib/libraries/animator/animator.spec.js +699 -612
  42. package/dist/lib/libraries/animator/index.js +24 -19
  43. package/dist/lib/libraries/path-finder/path-finder.d.ts +2 -2
  44. package/dist/lib/libraries/path-finder/path-finder.js +19 -20
  45. package/dist/lib/path-finder/path-finder.d.ts +2 -2
  46. package/dist/lib/path-finder/path-finder.js +19 -20
  47. package/dist/lib/services/keyboard/keyboard.d.ts +4 -4
  48. package/dist/lib/services/keyboard/keyboard.js +39 -31
  49. package/dist/lib/services/mouse/mouse.service.d.ts +8 -8
  50. package/dist/lib/services/mouse/mouse.service.js +65 -53
  51. package/dist/lib/services/mouse/mouser-target-focus.service.d.ts +11 -11
  52. package/dist/lib/services/mouse/mouser-target-focus.service.js +83 -81
  53. package/dist/lib/update-loop.d.ts +10 -10
  54. package/dist/lib/update-loop.js +35 -27
  55. package/dist/physics/entitity-types/immovable-physics-entity.d.ts +6 -6
  56. package/dist/physics/entitity-types/immovable-physics-entity.js +23 -24
  57. package/dist/physics/entitity-types/movable-entity.d.ts +6 -6
  58. package/dist/physics/entitity-types/movable-entity.js +21 -22
  59. package/dist/physics/entitity-types/movable-physics-entity.d.ts +14 -14
  60. package/dist/physics/entitity-types/movable-physics-entity.js +83 -88
  61. package/dist/physics/entitity-types/physics-entity.d.ts +23 -23
  62. package/dist/physics/entitity-types/physics-entity.js +97 -88
  63. package/dist/physics/helpers/closest-available-space.helper.d.ts +16 -16
  64. package/dist/physics/helpers/closest-available-space.helper.js +98 -96
  65. package/dist/physics/helpers/closest-available-space.helper.spec.js +115 -68
  66. package/dist/physics/helpers/p2js.helper.d.ts +3 -3
  67. package/dist/physics/helpers/p2js.helper.js +21 -22
  68. package/dist/physics/helpers/shape-factory.d.ts +9 -4
  69. package/dist/physics/helpers/shape-factory.js +99 -75
  70. package/dist/physics/libs/p2js.helper.js +1 -1
  71. package/dist/physics/libs/position-to-grid-position-converter.d.ts +3 -3
  72. package/dist/physics/libs/position-to-grid-position-converter.js +15 -13
  73. package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +10 -5
  74. package/dist/physics/module//360/237/223/220services/availability-grid.service.js +77 -57
  75. package/dist/physics/module//360/237/223/220services/border.service.d.ts +2 -2
  76. package/dist/physics/module//360/237/223/220services/border.service.js +57 -37
  77. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +1 -1
  78. package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +7 -7
  79. package/dist/physics/module//360/237/223/220services/collisions.service.js +110 -98
  80. package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +28 -6
  81. package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +121 -89
  82. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +15 -7
  83. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +117 -93
  84. package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -7
  85. package/dist/physics/module//360/237/223/220services/explosion.service.js +102 -77
  86. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.d.ts +15 -7
  87. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.js +117 -93
  88. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.d.ts +14 -7
  89. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.js +102 -77
  90. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.d.ts +3 -3
  91. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.js +71 -67
  92. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +3 -3
  93. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -67
  94. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +1 -1
  95. package/dist/physics/module//360/237/223/220services/materials.service.d.ts +16 -11
  96. package/dist/physics/module//360/237/223/220services/materials.service.js +118 -108
  97. package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +19 -8
  98. package/dist/physics/module//360/237/223/220services/path-finder.service.js +121 -82
  99. package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +30 -15
  100. package/dist/physics/module//360/237/223/220services/physics-world.service.js +122 -100
  101. package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +3 -3
  102. package/dist/physics/module//360/237/223/220services/ray-casting.service.js +87 -86
  103. package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -4
  104. package/dist/physics/module//360/237/223/220services/shape-creation.service.js +113 -84
  105. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +2 -1
  106. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +8 -8
  107. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +32 -33
  108. package/dist/physics/physics-world.d.ts +50 -34
  109. package/dist/physics/physics-world.js +142 -133
  110. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.d.ts +3 -3
  111. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js +15 -13
  112. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.d.ts +9 -9
  113. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js +82 -77
  114. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.d.ts +18 -14
  115. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js +91 -79
  116. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.d.ts +11 -11
  117. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.js +84 -76
  118. package/dist/physics/sub-elements/collisions/physics-collision.d.ts +7 -7
  119. package/dist/physics/sub-elements/collisions/physics-collision.js +43 -44
  120. package/dist/physics/sub-elements/elements/physics-body-groups.d.ts +11 -11
  121. package/dist/physics/sub-elements/elements/physics-body-groups.js +54 -54
  122. package/dist/physics/sub-elements/elements/physics-materials.d.ts +15 -10
  123. package/dist/physics/sub-elements/elements/physics-materials.js +101 -100
  124. package/dist/physics/sub-elements/elements/physics-world-borders.d.ts +3 -3
  125. package/dist/physics/sub-elements/elements/physics-world-borders.js +69 -45
  126. package/dist/physics/sub-elements/physics-body-groups.d.ts +8 -8
  127. package/dist/physics/sub-elements/physics-body-groups.js +41 -42
  128. package/dist/physics/sub-elements/physics-collision.d.ts +16 -16
  129. package/dist/physics/sub-elements/physics-collision.js +141 -121
  130. package/dist/physics/sub-elements/physics-materials.d.ts +15 -10
  131. package/dist/physics/sub-elements/physics-materials.js +101 -100
  132. package/dist/physics/sub-elements/physics-world-borders.d.ts +2 -2
  133. package/dist/physics/sub-elements/physics-world-borders.js +25 -26
  134. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.d.ts +15 -11
  135. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.js +59 -59
  136. package/dist/physics/sub-elements/raycasting/physics-explosion.d.ts +13 -6
  137. package/dist/physics/sub-elements/raycasting/physics-explosion.js +108 -73
  138. package/dist/physics/sub-elements/raycasting/ray-cast.d.ts +19 -19
  139. package/dist/physics/sub-elements/raycasting/ray-cast.js +93 -98
  140. package/dist/pixi/display-object/components/filters.d.ts +18 -18
  141. package/dist/pixi/display-object/components/filters.js +106 -81
  142. package/dist/pixi/display-object/components/glow-effect.d.ts +8 -8
  143. package/dist/pixi/display-object/components/glow-effect.js +33 -36
  144. package/dist/pixi/display-object/components/glow-filter.d.ts +8 -8
  145. package/dist/pixi/display-object/components/glow-filter.js +33 -36
  146. package/dist/pixi/display-object/container-attributes.js +1 -1
  147. package/dist/pixi/display-object/display-object-attributes.d.ts +41 -41
  148. package/dist/pixi/display-object/display-object-attributes.js +148 -150
  149. package/dist/pixi/display-object/display-object.d.ts +17 -17
  150. package/dist/pixi/display-object/display-object.js +79 -75
  151. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.d.ts +9 -4
  152. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.js +89 -77
  153. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +30 -30
  154. package/dist/pixi/display-object/filters/base-filters/contrast-filter.d.ts +9 -4
  155. package/dist/pixi/display-object/filters/base-filters/contrast-filter.js +62 -53
  156. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.d.ts +10 -5
  157. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.js +93 -81
  158. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.d.ts +12 -7
  159. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.js +120 -109
  160. package/dist/pixi/display-object/filters/base-filters/expand-with-color.d.ts +10 -5
  161. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +32 -32
  162. package/dist/pixi/display-object/filters/base-filters/expand-with-color.js +92 -85
  163. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +28 -28
  164. package/dist/pixi/display-object/filters/templates/plane.template.js +20 -20
  165. package/dist/pixi/display-object/filters.js +20 -4
  166. package/dist/pixi/display-object/objects/components/filters.d.ts +18 -18
  167. package/dist/pixi/display-object/objects/components/filters.js +106 -81
  168. package/dist/pixi/display-object/objects/container.d.ts +2 -2
  169. package/dist/pixi/display-object/objects/container.js +39 -30
  170. package/dist/pixi/display-object/objects/graphics.d.ts +28 -28
  171. package/dist/pixi/display-object/objects/graphics.js +218 -202
  172. package/dist/pixi/display-object/objects/helpers/filters.d.ts +25 -25
  173. package/dist/pixi/display-object/objects/helpers/filters.js +150 -124
  174. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.d.ts +7 -7
  175. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.js +114 -95
  176. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.d.ts +5 -5
  177. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.js +81 -57
  178. package/dist/pixi/display-object/objects/sprite.d.ts +43 -43
  179. package/dist/pixi/display-object/objects/sprite.js +248 -233
  180. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +1 -1
  181. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +9 -9
  182. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +1 -1
  183. package/dist/pixi/display-object/objects/text.d.ts +25 -25
  184. package/dist/pixi/display-object/objects/text.js +111 -102
  185. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.d.ts +13 -9
  186. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.js +96 -67
  187. package/dist/pixi/game.d.ts +1 -1
  188. package/dist/pixi/game.js +2 -2
  189. package/dist/pixi/helpers/glow-sprite-generator.d.ts +6 -6
  190. package/dist/pixi/helpers/glow-sprite-generator.js +99 -84
  191. package/dist/pixi/helpers/pixi-container.helper.d.ts +1 -1
  192. package/dist/pixi/helpers/pixi-container.helper.js +10 -8
  193. package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +1 -1
  194. package/dist/pixi/helpers/screen-position-to-stage.helper.js +12 -12
  195. package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +174 -79
  196. package/dist/pixi/modules/CAMERA/index.d.ts +1 -1
  197. package/dist/pixi/modules/CAMERA/index.js +3 -3
  198. package/dist/services/keyboard/keyboard.d.ts +4 -4
  199. package/dist/services/keyboard/keyboard.js +39 -31
  200. package/dist/services/mouse/mouse.service.d.ts +8 -8
  201. package/dist/services/mouse/mouse.service.js +65 -53
  202. package/dist/services/mouse/mouser-target-focus.service.d.ts +11 -11
  203. package/dist/services/mouse/mouser-target-focus.service.js +83 -81
  204. package/dist/utilities/libraries/animator/animating-content/state-animation.d.ts +29 -26
  205. package/dist/utilities/libraries/animator/animating-content/state-animation.js +159 -165
  206. package/dist/utilities/libraries/animator/animating-content/state-animation.test.js +386 -375
  207. package/dist/utilities/libraries/animator/animator.spec.js +765 -656
  208. package/dist/utilities/libraries/binary-heap/binary-heap.d.ts +11 -11
  209. package/dist/utilities/libraries/binary-heap/binary-heap.js +79 -81
  210. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.d.ts +11 -11
  211. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.js +79 -81
  212. package/dist/utilities/libraries/data-structures/grid/grid.d.ts +35 -31
  213. package/dist/utilities/libraries/data-structures/grid/grid.js +128 -117
  214. package/dist/utilities/libraries/data-structures/grid/grid.spec.js +176 -138
  215. package/dist/utilities/libraries/data-structures/grid/grid.test.js +218 -141
  216. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.d.ts +3 -3
  217. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.js +15 -13
  218. package/dist/utilities/libraries/data-structures/queue/queue.d.ts +21 -21
  219. package/dist/utilities/libraries/data-structures/queue/queue.js +63 -66
  220. package/dist/utilities/libraries/data-structures/queue/queue.test.js +54 -55
  221. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.spec.js +122 -68
  222. package/dist/utilities/libraries/grid-algorithms/path-finder/path-finder.spec.js +140 -135
  223. package/dist/utilities/libraries/grid-algorithms/vector-field-path-finder/vector-field-path-finder.spec.js +293 -229
  224. package/dist/utilities/libraries/path-finder/path-finder.d.ts +7 -7
  225. package/dist/utilities/libraries/path-finder/path-finder.js +113 -109
  226. package/dist/utilities/libraries/path-finder/path-finder.spec.js +131 -106
  227. package/dist/utilities/services/keyboard/keyboard.d.ts +4 -4
  228. package/dist/utilities/services/keyboard/keyboard.js +42 -34
  229. package/dist/utilities/services/mouse/helpers/mouse-position.helper.d.ts +1 -1
  230. package/dist/utilities/services/mouse/helpers/mouse-position.helper.js +12 -12
  231. package/dist/utilities/services/mouse/helpers/mouse-position.helper.test.js +168 -73
  232. package/dist/utilities/services/mouse/mouse-target-focus.service.d.ts +15 -15
  233. package/dist/utilities/services/mouse/mouse-target-focus.service.js +79 -76
  234. package/dist/utilities/services/mouse/mouse.service.d.ts +9 -9
  235. package/dist/utilities/services/mouse/mouse.service.js +86 -72
  236. package/dist/utilities/services/mouse/mouser-target-focus.service.d.ts +11 -11
  237. package/dist/utilities/services/mouse/mouser-target-focus.service.js +83 -81
  238. package/package.json +4 -10
@@ -1,388 +1,399 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
1
+ var __createBinding =
2
+ (this && this.__createBinding) ||
3
+ (Object.create
4
+ ? (o, m, k, k2) => {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: () => m[k] };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }
12
+ : (o, m, k, k2) => {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ });
16
+ var __setModuleDefault =
17
+ (this && this.__setModuleDefault) ||
18
+ (Object.create
19
+ ? (o, v) => {
20
+ Object.defineProperty(o, 'default', { enumerable: true, value: v });
21
+ }
22
+ : (o, v) => {
23
+ o['default'] = v;
24
+ });
25
+ var __importStar =
26
+ (this && this.__importStar) ||
27
+ (mod => {
19
28
  if (mod && mod.__esModule) return mod;
20
29
  var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
30
+ if (mod != null) for (var k in mod) if (k !== 'default' && Object.hasOwn(mod, k)) __createBinding(result, mod, k);
22
31
  __setModuleDefault(result, mod);
23
32
  return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const vitest_1 = require("vitest");
27
- const state_animation_1 = require("./state-animation");
28
- const game_entities_1 = require("../../../../game-entities");
29
- const ActionsLib = __importStar(require("actions-lib"));
33
+ });
34
+ Object.defineProperty(exports, '__esModule', { value: true });
35
+ const vitest_1 = require('vitest');
36
+ const state_animation_1 = require('./state-animation');
37
+ const game_entities_1 = require('../../../../game-entities');
38
+ const ActionsLib = __importStar(require('actions-lib'));
30
39
  game_entities_1.ActionsLibDecorator.decorate(ActionsLib);
31
40
  (0, vitest_1.describe)('StateAnimation', () => {
32
- let stateAnimation;
33
- (0, vitest_1.beforeEach)(() => {
34
- stateAnimation = new state_animation_1.StateAnimation({ duration: 4 }).skipAttachCheck();
35
- });
36
- (0, vitest_1.describe)('Appearing', () => {
37
- (0, vitest_1.test)('default values', () => {
38
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
39
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
40
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
41
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
42
- });
43
- (0, vitest_1.test)('initial values', () => {
44
- stateAnimation.setState(true);
45
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
46
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
47
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
48
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
49
- });
50
- (0, vitest_1.test)('animation in the middle', async () => {
51
- stateAnimation.setState(true);
52
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
53
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
54
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
55
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
56
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.25);
57
- });
58
- (0, vitest_1.test)('animation end', async () => {
59
- stateAnimation.setState(true);
60
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
61
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
62
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
63
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
64
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
65
- });
66
- (0, vitest_1.test)('instant', async () => {
67
- let stateChangeCalledWith = 'unset';
68
- let valueChangeCalledWith;
69
- stateAnimation
70
- .onStateChange(state => {
71
- stateChangeCalledWith = state;
72
- })
73
- .onValueChange(value => {
74
- valueChangeCalledWith = value;
75
- });
76
- stateAnimation.setState(true, { instant: true });
77
- (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
78
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
79
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
80
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
81
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
82
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
83
- });
84
- (0, vitest_1.test)('callbacks', async () => {
85
- let stateChangeCalledWith = 'unset';
86
- let valueChangeCalledWith;
87
- stateAnimation
88
- .onStateChange(state => {
89
- stateChangeCalledWith = state;
90
- })
91
- .onValueChange(value => {
92
- valueChangeCalledWith = value;
93
- });
94
- stateAnimation.setState(true);
95
- (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
96
- (0, vitest_1.expect)(valueChangeCalledWith).toBeUndefined();
97
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
98
- (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
99
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(0.25);
100
- await game_entities_1.UpdateCycle.triggerUpdateTick(3);
101
- (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
102
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
103
- });
41
+ let stateAnimation;
42
+ (0, vitest_1.beforeEach)(() => {
43
+ stateAnimation = new state_animation_1.StateAnimation({
44
+ duration: 4
45
+ }).skipAttachCheck();
46
+ });
47
+ (0, vitest_1.describe)('Appearing', () => {
48
+ (0, vitest_1.test)('default values', () => {
49
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
50
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
51
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
52
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
104
53
  });
105
- (0, vitest_1.describe)('Disappearing', () => {
106
- (0, vitest_1.beforeEach)(async () => {
107
- stateAnimation.setState(true);
108
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
109
- });
110
- (0, vitest_1.test)('initial values', async () => {
111
- stateAnimation.setState(false);
112
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearing');
113
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
114
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
115
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
116
- });
117
- (0, vitest_1.test)('animation in the middle', async () => {
118
- stateAnimation.setState(false);
119
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
120
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearing');
121
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
122
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
123
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.75);
124
- });
125
- (0, vitest_1.test)('animation end', async () => {
126
- stateAnimation.setState(false);
127
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
128
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
129
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
130
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
131
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
132
- });
133
- (0, vitest_1.test)('instant', async () => {
134
- let stateChangeCalledWith = 'unset';
135
- let valueChangeCalledWith;
136
- stateAnimation
137
- .onStateChange(state => {
138
- stateChangeCalledWith = state;
139
- })
140
- .onValueChange(value => {
141
- valueChangeCalledWith = value;
142
- });
143
- stateAnimation.setState(false, { instant: true });
144
- (0, vitest_1.expect)(stateChangeCalledWith).toBeUndefined();
145
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(0);
146
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
147
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
148
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
149
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
150
- });
151
- (0, vitest_1.test)('callbacks', async () => {
152
- let stateChangeCalledWith = 'unset';
153
- let valueChangeCalledWith;
154
- stateAnimation
155
- .onStateChange(state => {
156
- stateChangeCalledWith = state;
157
- })
158
- .onValueChange(value => {
159
- valueChangeCalledWith = value;
160
- });
161
- stateAnimation.setState(false);
162
- (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
163
- (0, vitest_1.expect)(valueChangeCalledWith).toBeUndefined();
164
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
165
- (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
166
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(0.75);
167
- await game_entities_1.UpdateCycle.triggerUpdateTick(3);
168
- (0, vitest_1.expect)(stateChangeCalledWith).toBeUndefined();
169
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(0);
170
- });
54
+ (0, vitest_1.test)('initial values', () => {
55
+ stateAnimation.setState(true);
56
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
57
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
58
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
59
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
171
60
  });
172
- (0, vitest_1.describe)('Cancel appearing', () => {
173
- (0, vitest_1.beforeEach)(async () => {
174
- stateAnimation.setState(true);
175
- await game_entities_1.UpdateCycle.triggerUpdateTick(2);
176
- });
177
- (0, vitest_1.test)('initial values', () => {
178
- stateAnimation.setState(false);
179
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearing');
180
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
181
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
182
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.5);
183
- });
184
- (0, vitest_1.test)('animation end', async () => {
185
- stateAnimation.setState(false);
186
- await game_entities_1.UpdateCycle.triggerUpdateTick(2);
187
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
188
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
189
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
190
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
191
- });
192
- (0, vitest_1.test)('instant', async () => {
193
- let stateChangeCalledWith = 'unset';
194
- let valueChangeCalledWith;
195
- stateAnimation
196
- .onStateChange(state => {
197
- stateChangeCalledWith = state;
198
- })
199
- .onValueChange(value => {
200
- valueChangeCalledWith = value;
201
- });
202
- stateAnimation.setState(false, { instant: true });
203
- (0, vitest_1.expect)(stateChangeCalledWith).toBeUndefined();
204
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(0);
205
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
206
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
207
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
208
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
209
- });
210
- (0, vitest_1.test)('callbacks', async () => {
211
- let stateChangeCalledWith = 'unset';
212
- let valueChangeCalledWith;
213
- stateAnimation
214
- .onStateChange(state => {
215
- stateChangeCalledWith = state;
216
- })
217
- .onValueChange(value => {
218
- valueChangeCalledWith = value;
219
- });
220
- stateAnimation.setState(false);
221
- (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
222
- (0, vitest_1.expect)(valueChangeCalledWith).toBeUndefined();
223
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
224
- (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
225
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(0.25);
226
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
227
- (0, vitest_1.expect)(stateChangeCalledWith).toBe(undefined);
228
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(0);
229
- });
61
+ (0, vitest_1.test)('animation in the middle', async () => {
62
+ stateAnimation.setState(true);
63
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
64
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
65
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
66
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
67
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.25);
230
68
  });
231
- (0, vitest_1.describe)('Cancel disappearing', () => {
232
- (0, vitest_1.beforeEach)(async () => {
233
- stateAnimation.setState(true);
234
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
235
- stateAnimation.setState(false);
236
- await game_entities_1.UpdateCycle.triggerUpdateTick(2);
237
- });
238
- (0, vitest_1.test)('initial values', () => {
239
- stateAnimation.setState(true);
240
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
241
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
242
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
243
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.5);
244
- });
245
- (0, vitest_1.test)('animation end', async () => {
246
- stateAnimation.setState(true);
247
- await game_entities_1.UpdateCycle.triggerUpdateTick(2);
248
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
249
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
250
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
251
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
252
- });
253
- (0, vitest_1.test)('instant', async () => {
254
- let stateChangeCalledWith = 'unset';
255
- let valueChangeCalledWith;
256
- stateAnimation
257
- .onStateChange(state => {
258
- stateChangeCalledWith = state;
259
- })
260
- .onValueChange(value => {
261
- valueChangeCalledWith = value;
262
- });
263
- stateAnimation.setState(true, { instant: true });
264
- (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
265
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
266
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
267
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
268
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
269
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
270
- });
271
- (0, vitest_1.test)('callbacks', async () => {
272
- let stateChangeCalledWith = 'unset';
273
- let valueChangeCalledWith;
274
- stateAnimation
275
- .onStateChange(state => {
276
- stateChangeCalledWith = state;
277
- })
278
- .onValueChange(value => {
279
- valueChangeCalledWith = value;
280
- });
281
- stateAnimation.setState(true);
282
- (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
283
- (0, vitest_1.expect)(valueChangeCalledWith).toBeUndefined();
284
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
285
- (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
286
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(0.75);
287
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
288
- (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
289
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
290
- });
69
+ (0, vitest_1.test)('animation end', async () => {
70
+ stateAnimation.setState(true);
71
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
72
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
73
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
74
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
75
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
291
76
  });
292
- (0, vitest_1.describe)('Disappear to change', () => {
293
- (0, vitest_1.beforeEach)(async () => {
294
- stateAnimation.setState(true);
295
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
296
- });
297
- (0, vitest_1.test)('initial values', async () => {
298
- stateAnimation.setState('different');
299
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearToChange');
300
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
301
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBe('different');
302
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
303
- });
304
- (0, vitest_1.test)('dissapear animation in the middle', async () => {
305
- stateAnimation.setState('different');
306
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
307
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearToChange');
308
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
309
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBe('different');
310
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.75);
311
- });
312
- (0, vitest_1.test)('dissapear animation end', async () => {
313
- stateAnimation.setState('different');
314
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
315
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
316
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe('different');
317
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
318
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
319
- });
320
- (0, vitest_1.test)('appear animation in the middle', async () => {
321
- stateAnimation.setState('different');
322
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
323
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
324
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
325
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe('different');
326
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
327
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.25);
328
- });
329
- (0, vitest_1.test)('appear animation end', async () => {
330
- stateAnimation.setState('different');
331
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
332
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
333
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
334
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe('different');
335
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
336
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
337
- });
338
- (0, vitest_1.test)('returning back to the original state', async () => {
339
- stateAnimation.setState('different');
340
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
341
- stateAnimation.setState(true);
342
- await game_entities_1.UpdateCycle.triggerUpdateTick(1);
343
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
344
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
345
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
346
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
347
- });
348
- (0, vitest_1.test)('instant', async () => {
349
- let stateChangeCalledWith = 'unset';
350
- let valueChangeCalledWith;
351
- stateAnimation
352
- .onStateChange(state => {
353
- stateChangeCalledWith = state;
354
- })
355
- .onValueChange(value => {
356
- valueChangeCalledWith = value;
357
- });
358
- stateAnimation.setState('different', { instant: true });
359
- (0, vitest_1.expect)(stateChangeCalledWith).toBe('different');
360
- (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
361
- (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
362
- (0, vitest_1.expect)(stateAnimation.currentState.state).toBe('different');
363
- (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
364
- (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
365
- });
77
+ (0, vitest_1.test)('instant', async () => {
78
+ let stateChangeCalledWith = 'unset';
79
+ let valueChangeCalledWith;
80
+ stateAnimation
81
+ .onStateChange(state => {
82
+ stateChangeCalledWith = state;
83
+ })
84
+ .onValueChange(value => {
85
+ valueChangeCalledWith = value;
86
+ });
87
+ stateAnimation.setState(true, { instant: true });
88
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
89
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
90
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
91
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
92
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
93
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
366
94
  });
367
- (0, vitest_1.describe)('Error Cases:', () => {
368
- (0, vitest_1.test)('completion on hidden state', async () => {
369
- let consoleErrorSpy = vitest_1.vi.spyOn(console, 'error').mockImplementation(() => { });
370
- stateAnimation.setState(true);
371
- stateAnimation.setState(false);
372
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
373
- (0, vitest_1.expect)(consoleErrorSpy).not.toBeCalled();
374
- consoleErrorSpy.mockRestore();
375
- });
376
- (0, vitest_1.test)('completion on visible state', async () => {
377
- let consoleErrorSpy = vitest_1.vi.spyOn(console, 'error').mockImplementation(() => { });
378
- stateAnimation.setState(true);
379
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
380
- stateAnimation.setState(false);
381
- stateAnimation.setState(true);
382
- await game_entities_1.UpdateCycle.triggerUpdateTick(4);
383
- (0, vitest_1.expect)(consoleErrorSpy).not.toBeCalled();
384
- consoleErrorSpy.mockRestore();
385
- });
95
+ (0, vitest_1.test)('callbacks', async () => {
96
+ let stateChangeCalledWith = 'unset';
97
+ let valueChangeCalledWith;
98
+ stateAnimation
99
+ .onStateChange(state => {
100
+ stateChangeCalledWith = state;
101
+ })
102
+ .onValueChange(value => {
103
+ valueChangeCalledWith = value;
104
+ });
105
+ stateAnimation.setState(true);
106
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
107
+ (0, vitest_1.expect)(valueChangeCalledWith).toBeUndefined();
108
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
109
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
110
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(0.25);
111
+ await game_entities_1.UpdateCycle.triggerUpdateTick(3);
112
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
113
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
114
+ });
115
+ });
116
+ (0, vitest_1.describe)('Disappearing', () => {
117
+ (0, vitest_1.beforeEach)(async () => {
118
+ stateAnimation.setState(true);
119
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
120
+ });
121
+ (0, vitest_1.test)('initial values', async () => {
122
+ stateAnimation.setState(false);
123
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearing');
124
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
125
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
126
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
127
+ });
128
+ (0, vitest_1.test)('animation in the middle', async () => {
129
+ stateAnimation.setState(false);
130
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
131
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearing');
132
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
133
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
134
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.75);
135
+ });
136
+ (0, vitest_1.test)('animation end', async () => {
137
+ stateAnimation.setState(false);
138
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
139
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
140
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
141
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
142
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
143
+ });
144
+ (0, vitest_1.test)('instant', async () => {
145
+ let stateChangeCalledWith = 'unset';
146
+ let valueChangeCalledWith;
147
+ stateAnimation
148
+ .onStateChange(state => {
149
+ stateChangeCalledWith = state;
150
+ })
151
+ .onValueChange(value => {
152
+ valueChangeCalledWith = value;
153
+ });
154
+ stateAnimation.setState(false, { instant: true });
155
+ (0, vitest_1.expect)(stateChangeCalledWith).toBeUndefined();
156
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(0);
157
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
158
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
159
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
160
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
161
+ });
162
+ (0, vitest_1.test)('callbacks', async () => {
163
+ let stateChangeCalledWith = 'unset';
164
+ let valueChangeCalledWith;
165
+ stateAnimation
166
+ .onStateChange(state => {
167
+ stateChangeCalledWith = state;
168
+ })
169
+ .onValueChange(value => {
170
+ valueChangeCalledWith = value;
171
+ });
172
+ stateAnimation.setState(false);
173
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
174
+ (0, vitest_1.expect)(valueChangeCalledWith).toBeUndefined();
175
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
176
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
177
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(0.75);
178
+ await game_entities_1.UpdateCycle.triggerUpdateTick(3);
179
+ (0, vitest_1.expect)(stateChangeCalledWith).toBeUndefined();
180
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(0);
181
+ });
182
+ });
183
+ (0, vitest_1.describe)('Cancel appearing', () => {
184
+ (0, vitest_1.beforeEach)(async () => {
185
+ stateAnimation.setState(true);
186
+ await game_entities_1.UpdateCycle.triggerUpdateTick(2);
187
+ });
188
+ (0, vitest_1.test)('initial values', () => {
189
+ stateAnimation.setState(false);
190
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearing');
191
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
192
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
193
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.5);
194
+ });
195
+ (0, vitest_1.test)('animation end', async () => {
196
+ stateAnimation.setState(false);
197
+ await game_entities_1.UpdateCycle.triggerUpdateTick(2);
198
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
199
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
200
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
201
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
202
+ });
203
+ (0, vitest_1.test)('instant', async () => {
204
+ let stateChangeCalledWith = 'unset';
205
+ let valueChangeCalledWith;
206
+ stateAnimation
207
+ .onStateChange(state => {
208
+ stateChangeCalledWith = state;
209
+ })
210
+ .onValueChange(value => {
211
+ valueChangeCalledWith = value;
212
+ });
213
+ stateAnimation.setState(false, { instant: true });
214
+ (0, vitest_1.expect)(stateChangeCalledWith).toBeUndefined();
215
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(0);
216
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('hidden');
217
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBeUndefined();
218
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
219
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
220
+ });
221
+ (0, vitest_1.test)('callbacks', async () => {
222
+ let stateChangeCalledWith = 'unset';
223
+ let valueChangeCalledWith;
224
+ stateAnimation
225
+ .onStateChange(state => {
226
+ stateChangeCalledWith = state;
227
+ })
228
+ .onValueChange(value => {
229
+ valueChangeCalledWith = value;
230
+ });
231
+ stateAnimation.setState(false);
232
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
233
+ (0, vitest_1.expect)(valueChangeCalledWith).toBeUndefined();
234
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
235
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
236
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(0.25);
237
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
238
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe(undefined);
239
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(0);
240
+ });
241
+ });
242
+ (0, vitest_1.describe)('Cancel disappearing', () => {
243
+ (0, vitest_1.beforeEach)(async () => {
244
+ stateAnimation.setState(true);
245
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
246
+ stateAnimation.setState(false);
247
+ await game_entities_1.UpdateCycle.triggerUpdateTick(2);
248
+ });
249
+ (0, vitest_1.test)('initial values', () => {
250
+ stateAnimation.setState(true);
251
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
252
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
253
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
254
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.5);
255
+ });
256
+ (0, vitest_1.test)('animation end', async () => {
257
+ stateAnimation.setState(true);
258
+ await game_entities_1.UpdateCycle.triggerUpdateTick(2);
259
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
260
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
261
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
262
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
263
+ });
264
+ (0, vitest_1.test)('instant', async () => {
265
+ let stateChangeCalledWith = 'unset';
266
+ let valueChangeCalledWith;
267
+ stateAnimation
268
+ .onStateChange(state => {
269
+ stateChangeCalledWith = state;
270
+ })
271
+ .onValueChange(value => {
272
+ valueChangeCalledWith = value;
273
+ });
274
+ stateAnimation.setState(true, { instant: true });
275
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe(true);
276
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
277
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
278
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
279
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
280
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
281
+ });
282
+ (0, vitest_1.test)('callbacks', async () => {
283
+ let stateChangeCalledWith = 'unset';
284
+ let valueChangeCalledWith;
285
+ stateAnimation
286
+ .onStateChange(state => {
287
+ stateChangeCalledWith = state;
288
+ })
289
+ .onValueChange(value => {
290
+ valueChangeCalledWith = value;
291
+ });
292
+ stateAnimation.setState(true);
293
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
294
+ (0, vitest_1.expect)(valueChangeCalledWith).toBeUndefined();
295
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
296
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
297
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(0.75);
298
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
299
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe('unset');
300
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
301
+ });
302
+ });
303
+ (0, vitest_1.describe)('Disappear to change', () => {
304
+ (0, vitest_1.beforeEach)(async () => {
305
+ stateAnimation.setState(true);
306
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
307
+ });
308
+ (0, vitest_1.test)('initial values', async () => {
309
+ stateAnimation.setState('different');
310
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearToChange');
311
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
312
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBe('different');
313
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
314
+ });
315
+ (0, vitest_1.test)('dissapear animation in the middle', async () => {
316
+ stateAnimation.setState('different');
317
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
318
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('disappearToChange');
319
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
320
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBe('different');
321
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.75);
322
+ });
323
+ (0, vitest_1.test)('dissapear animation end', async () => {
324
+ stateAnimation.setState('different');
325
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
326
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
327
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe('different');
328
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
329
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0);
330
+ });
331
+ (0, vitest_1.test)('appear animation in the middle', async () => {
332
+ stateAnimation.setState('different');
333
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
334
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
335
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('appearing');
336
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe('different');
337
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
338
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(0.25);
339
+ });
340
+ (0, vitest_1.test)('appear animation end', async () => {
341
+ stateAnimation.setState('different');
342
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
343
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
344
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
345
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe('different');
346
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
347
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
348
+ });
349
+ (0, vitest_1.test)('returning back to the original state', async () => {
350
+ stateAnimation.setState('different');
351
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
352
+ stateAnimation.setState(true);
353
+ await game_entities_1.UpdateCycle.triggerUpdateTick(1);
354
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
355
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe(true);
356
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
357
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
358
+ });
359
+ (0, vitest_1.test)('instant', async () => {
360
+ let stateChangeCalledWith = 'unset';
361
+ let valueChangeCalledWith;
362
+ stateAnimation
363
+ .onStateChange(state => {
364
+ stateChangeCalledWith = state;
365
+ })
366
+ .onValueChange(value => {
367
+ valueChangeCalledWith = value;
368
+ });
369
+ stateAnimation.setState('different', { instant: true });
370
+ (0, vitest_1.expect)(stateChangeCalledWith).toBe('different');
371
+ (0, vitest_1.expect)(valueChangeCalledWith).toBe(1);
372
+ (0, vitest_1.expect)(stateAnimation.currentState.animationState).toBe('visible');
373
+ (0, vitest_1.expect)(stateAnimation.currentState.state).toBe('different');
374
+ (0, vitest_1.expect)(stateAnimation.currentState.nextState).toBeUndefined();
375
+ (0, vitest_1.expect)(stateAnimation.currentState.value).toBe(1);
376
+ });
377
+ });
378
+ (0, vitest_1.describe)('Error Cases:', () => {
379
+ (0, vitest_1.test)('completion on hidden state', async () => {
380
+ const consoleErrorSpy = vitest_1.vi.spyOn(console, 'error').mockImplementation(() => {});
381
+ stateAnimation.setState(true);
382
+ stateAnimation.setState(false);
383
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
384
+ (0, vitest_1.expect)(consoleErrorSpy).not.toBeCalled();
385
+ consoleErrorSpy.mockRestore();
386
+ });
387
+ (0, vitest_1.test)('completion on visible state', async () => {
388
+ const consoleErrorSpy = vitest_1.vi.spyOn(console, 'error').mockImplementation(() => {});
389
+ stateAnimation.setState(true);
390
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
391
+ stateAnimation.setState(false);
392
+ stateAnimation.setState(true);
393
+ await game_entities_1.UpdateCycle.triggerUpdateTick(4);
394
+ (0, vitest_1.expect)(consoleErrorSpy).not.toBeCalled();
395
+ consoleErrorSpy.mockRestore();
386
396
  });
397
+ });
387
398
  });
388
- //# sourceMappingURL=state-animation.test.js.map
399
+ //# sourceMappingURL=state-animation.test.js.map