bard-legends-framework 0.11.0 → 0.12.0

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 (258) hide show
  1. package/dist/actions-performance.test.d.ts +1 -0
  2. package/dist/actions-performance.test.js +83 -0
  3. package/dist/game-entities/controller/controller.d.ts +2 -2
  4. package/dist/game-entities/controller/controller.js +8 -8
  5. package/dist/game-entities/controller/controller.test.js +2 -2
  6. package/dist/game-entities/entity/entity.d.ts +7 -7
  7. package/dist/game-entities/entity/entity.js +18 -12
  8. package/dist/game-entities/entity/entity.test.js +93 -30
  9. package/dist/game-entities/entity/helpers/entity-store.helper.d.ts +3 -3
  10. package/dist/game-entities/entity/helpers/entity-store.helper.js +12 -12
  11. package/dist/game-entities/entity/helpers/entity-store.helper.test.js +11 -11
  12. package/dist/game-entities/entity/helpers/entity-views.helper.d.ts +6 -6
  13. package/dist/game-entities/entity/helpers/entity-views.helper.js +25 -22
  14. package/dist/game-entities/entity/singleton-entity.test.js +9 -4
  15. package/dist/game-entities/hard-reset.d.ts +5 -0
  16. package/dist/game-entities/hard-reset.js +14 -0
  17. package/dist/game-entities/index.d.ts +1 -1
  18. package/dist/game-entities/index.js +3 -3
  19. package/dist/game-entities/scene/scene.d.ts +13 -13
  20. package/dist/game-entities/scene/scene.js +41 -46
  21. package/dist/game-entities/scene/scene.test.js +95 -37
  22. package/dist/game-entities/service/service.d.ts +1 -4
  23. package/dist/game-entities/service/service.js +12 -13
  24. package/dist/game-entities/service/service.test.js +33 -12
  25. package/dist/game-entities/unit-test.helper.js +1 -1
  26. package/dist/game-entities/update-cycle.d.ts +7 -17
  27. package/dist/game-entities/update-cycle.js +25 -19
  28. package/dist/game-entities/view/view.d.ts +6 -6
  29. package/dist/game-entities/view/view.js +15 -21
  30. package/dist/game-entities/view/view.test.js +40 -9
  31. package/dist/physics/entity-types/immovable-physics-entity.d.ts +1 -1
  32. package/dist/physics/entity-types/immovable-physics-entity.js +4 -4
  33. package/dist/physics/entity-types/movable-entity.d.ts +1 -1
  34. package/dist/physics/entity-types/movable-entity.js +2 -2
  35. package/dist/physics/entity-types/movable-physics-entity.d.ts +8 -8
  36. package/dist/physics/entity-types/movable-physics-entity.js +27 -27
  37. package/dist/physics/entity-types/physics-entity.d.ts +10 -14
  38. package/dist/physics/entity-types/physics-entity.js +27 -26
  39. package/dist/physics/interfaces.d.ts +6 -6
  40. package/dist/physics/interfaces.js +4 -4
  41. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.d.ts +16 -16
  42. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.js +22 -22
  43. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.d.ts +19 -19
  44. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js +30 -30
  45. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +3 -3
  46. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.d.ts +10 -10
  47. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.js +16 -16
  48. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.d.ts +10 -10
  49. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.js +18 -18
  50. package/dist/physics/module//360/237/223/220services/collision/collisions.service.d.ts +5 -5
  51. package/dist/physics/module//360/237/223/220services/collision/collisions.service.js +17 -17
  52. package/dist/physics/module//360/237/223/220services/collision/hit-test.service.d.ts +4 -4
  53. package/dist/physics/module//360/237/223/220services/collision/hit-test.service.js +11 -11
  54. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.d.ts +2 -2
  55. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +4 -4
  56. package/dist/physics/module//360/237/223/220services/creation/border.service.d.ts +2 -2
  57. package/dist/physics/module//360/237/223/220services/creation/border.service.js +9 -9
  58. package/dist/physics/module//360/237/223/220services/creation/materials.service.d.ts +7 -7
  59. package/dist/physics/module//360/237/223/220services/creation/materials.service.js +17 -17
  60. package/dist/physics/module//360/237/223/220services/creation/physics-world.service.d.ts +11 -11
  61. package/dist/physics/module//360/237/223/220services/creation/physics-world.service.js +27 -26
  62. package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.d.ts +4 -4
  63. package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.js +13 -13
  64. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.d.ts +9 -9
  65. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +19 -19
  66. package/dist/physics/module//360/237/223/220services/impact/explosion.service.d.ts +9 -9
  67. package/dist/physics/module//360/237/223/220services/impact/explosion.service.js +20 -20
  68. package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.d.ts +1 -1
  69. package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.js +4 -4
  70. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.d.ts +2 -2
  71. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.js +3 -3
  72. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.d.ts +5 -5
  73. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.js +12 -12
  74. package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.d.ts +4 -4
  75. package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.js +12 -12
  76. package/dist/physics/module//360/237/223/220services/query/physics-query.service.d.ts +4 -4
  77. package/dist/physics/module//360/237/223/220services/query/physics-query.service.js +4 -4
  78. package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.d.ts +1 -4
  79. package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.js +7 -15
  80. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.d.ts +9 -9
  81. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +43 -42
  82. package/dist/physics/module//360/237/247/212entities/border.entity.d.ts +1 -1
  83. package/dist/physics/module//360/237/247/212entities/border.entity.js +3 -3
  84. package/dist/pixi/components/display-object-array.d.ts +5 -5
  85. package/dist/pixi/components/display-object-array.js +14 -14
  86. package/dist/pixi/components/helpers/smooth-scroller.d.ts +7 -7
  87. package/dist/pixi/components/helpers/smooth-scroller.js +23 -23
  88. package/dist/pixi/components/helpers/smooth-scroller.test.js +14 -14
  89. package/dist/pixi/components/menu/menu-entity.d.ts +14 -0
  90. package/dist/pixi/components/menu/menu-entity.js +48 -0
  91. package/dist/pixi/components/menu/menu.ui.d.ts +23 -0
  92. package/dist/pixi/components/menu/menu.ui.js +97 -0
  93. package/dist/pixi/components/mouse-wheel-listener.ui.d.ts +2 -2
  94. package/dist/pixi/components/mouse-wheel-listener.ui.js +11 -11
  95. package/dist/pixi/components/scroll-area.ui.d.ts +1 -1
  96. package/dist/pixi/components/scroll-area.ui.js +9 -9
  97. package/dist/pixi/components/scroll-mask.ui.d.ts +9 -8
  98. package/dist/pixi/components/scroll-mask.ui.js +25 -24
  99. package/dist/pixi/display-object/container-attributes.d.ts +24 -25
  100. package/dist/pixi/display-object/container-attributes.js +26 -26
  101. package/dist/pixi/display-object/container.d.ts +3 -3
  102. package/dist/pixi/display-object/container.js +2 -2
  103. package/dist/pixi/display-object/filters/base-filters/blur.filter.d.ts +9 -9
  104. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +25 -25
  105. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.d.ts +7 -7
  106. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +17 -17
  107. package/dist/pixi/display-object/filters/composite-filters/glow-filter.d.ts +6 -6
  108. package/dist/pixi/display-object/filters/composite-filters/glow-filter.js +10 -11
  109. package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.d.ts +2 -2
  110. package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.js +5 -5
  111. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.d.ts +5 -5
  112. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +8 -8
  113. package/dist/pixi/display-object/filters/templates/plane.template.d.ts +5 -5
  114. package/dist/pixi/display-object/filters/templates/plane.template.js +7 -7
  115. package/dist/pixi/display-object/filters.d.ts +7 -7
  116. package/dist/pixi/display-object/filters.js +34 -34
  117. package/dist/pixi/display-object/index.d.ts +1 -1
  118. package/dist/pixi/display-object/objects/graphics/graphics.d.ts +9 -9
  119. package/dist/pixi/display-object/objects/graphics/graphics.js +25 -25
  120. package/dist/pixi/display-object/objects/placeholder.d.ts +1 -1
  121. package/dist/pixi/display-object/objects/placeholder.js +7 -7
  122. package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.d.ts +9 -9
  123. package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.js +26 -25
  124. package/dist/pixi/display-object/objects/sprite/sprite.d.ts +10 -9
  125. package/dist/pixi/display-object/objects/sprite/sprite.js +62 -53
  126. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/pixi-text-style-converter.d.ts +4 -3
  127. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.d.ts +6 -6
  128. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +16 -16
  129. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +28 -28
  130. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.d.ts +1 -1
  131. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.js +3 -3
  132. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.d.ts +17 -17
  133. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.js +62 -62
  134. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.test.js +2 -2
  135. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.d.ts +3 -3
  136. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.js +6 -6
  137. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.test.js +12 -12
  138. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +2 -2
  139. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.test.js +5 -5
  140. package/dist/pixi/display-object/objects/text/rich-text.d.ts +0 -1
  141. package/dist/pixi/display-object/objects/text/rich-text.js +0 -1
  142. package/dist/pixi/display-object/objects/text/text.d.ts +9 -10
  143. package/dist/pixi/display-object/objects/text/text.js +34 -35
  144. package/dist/pixi/game.d.ts +20 -15
  145. package/dist/pixi/game.js +40 -35
  146. package/dist/pixi/helpers/game-assets.d.ts +5 -5
  147. package/dist/pixi/helpers/game-assets.js +14 -11
  148. package/dist/pixi/helpers/position-conversion.helper.d.ts +4 -4
  149. package/dist/pixi/helpers/position-conversion.helper.js +3 -3
  150. package/dist/pixi/index.d.ts +3 -37
  151. package/dist/pixi/index.js +6 -22
  152. package/dist/pixi/modules/CAMERA/camera.d.ts +5 -4
  153. package/dist/pixi/modules/CAMERA/camera.js +9 -9
  154. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.d.ts +3 -2
  155. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.js +1 -1
  156. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.d.ts +3 -2
  157. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.js +5 -5
  158. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.d.ts +3 -3
  159. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.js +7 -7
  160. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +8 -8
  161. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.js +8 -8
  162. package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.d.ts +2 -2
  163. package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.js +12 -12
  164. package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.d.ts +17 -16
  165. package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.js +49 -48
  166. package/dist/pixi/pixi-definitions.d.ts +38 -0
  167. package/dist/pixi/pixi-definitions.js +37 -0
  168. package/dist/pixi/services/keyboard/keyboard.d.ts +2 -2
  169. package/dist/pixi/services/keyboard/keyboard.js +9 -9
  170. package/dist/pixi/services/mouse/mouse-target-focus.service.d.ts +10 -10
  171. package/dist/pixi/services/mouse/mouse-target-focus.service.js +28 -28
  172. package/dist/pixi/services/mouse/mouse.service.d.ts +1 -1
  173. package/dist/pixi/services/mouse/mouse.service.js +5 -5
  174. package/dist/utilities/animator/animating-content/fade-in-content.test.d.ts +1 -0
  175. package/dist/utilities/animator/animating-content/fade-in-content.test.js +10 -0
  176. package/dist/utilities/animator/animating-content/slide-in-content.test.d.ts +1 -0
  177. package/dist/utilities/animator/animating-content/slide-in-content.test.js +10 -0
  178. package/dist/utilities/animator/animations.d.ts +14 -6
  179. package/dist/utilities/animator/animations.js +15 -11
  180. package/dist/utilities/animator/animator/animator.d.ts +44 -0
  181. package/dist/utilities/animator/animator/animator.js +234 -0
  182. package/dist/utilities/animator/animator/animator.memory-leak.test.d.ts +1 -0
  183. package/dist/utilities/animator/animator/animator.memory-leak.test.js +73 -0
  184. package/dist/utilities/animator/animator/animator.performance.test.d.ts +1 -0
  185. package/dist/utilities/animator/animator/animator.performance.test.js +116 -0
  186. package/dist/utilities/animator/animator/animator.test.d.ts +1 -0
  187. package/dist/utilities/animator/animator/animator.test.js +1046 -0
  188. package/dist/utilities/animator/animator.d.ts +2 -3
  189. package/dist/utilities/animator/animator.js +66 -59
  190. package/dist/utilities/animator/animator.performance.test.d.ts +1 -0
  191. package/dist/utilities/animator/animator.performance.test.js +46 -0
  192. package/dist/utilities/animator/animator.test.js +89 -28
  193. package/dist/utilities/animator/animator2/animator.d.ts +42 -0
  194. package/dist/utilities/animator/animator2/animator.js +222 -0
  195. package/dist/utilities/animator/animator2/animator.memory-leak.test.d.ts +1 -0
  196. package/dist/utilities/animator/animator2/animator.memory-leak.test.js +73 -0
  197. package/dist/utilities/animator/animator2/animator.performance.test.d.ts +1 -0
  198. package/dist/utilities/animator/animator2/animator.performance.test.js +65 -0
  199. package/dist/utilities/animator/animator2/animator.test.d.ts +1 -0
  200. package/dist/utilities/animator/animator2/animator.test.js +1007 -0
  201. package/dist/utilities/animator/animator_old/animator.d.ts +60 -0
  202. package/dist/utilities/animator/animator_old/animator.js +337 -0
  203. package/dist/utilities/animator/animator_old/animator.performance.test.d.ts +1 -0
  204. package/dist/utilities/animator/animator_old/animator.performance.test.js +121 -0
  205. package/dist/utilities/animator/animator_old/animator.test.d.ts +1 -0
  206. package/dist/utilities/animator/animator_old/animator.test.js +996 -0
  207. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.d.ts +18 -0
  208. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.js +37 -0
  209. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.d.ts +1 -0
  210. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.js +10 -0
  211. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.d.ts +38 -0
  212. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.js +208 -0
  213. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.d.ts +1 -0
  214. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.js +439 -0
  215. package/dist/utilities/animator/content-animations/slide/slide-in-content.d.ts +41 -0
  216. package/dist/utilities/animator/content-animations/slide/slide-in-content.js +107 -0
  217. package/dist/utilities/animator/content-animations/slide/slide-in-content.test.d.ts +1 -0
  218. package/dist/utilities/animator/content-animations/slide/slide-in-content.test.js +10 -0
  219. package/dist/utilities/animator/content-animations/slide/slide-state-animation.d.ts +24 -0
  220. package/dist/utilities/animator/content-animations/slide/slide-state-animation.js +138 -0
  221. package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.d.ts +1 -0
  222. package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.js +307 -0
  223. package/dist/utilities/animator/content-animations/slide/state-animation.d.ts +37 -0
  224. package/dist/utilities/animator/content-animations/slide/state-animation.js +170 -0
  225. package/dist/utilities/animator/content-animations/slide/state-animation.test.d.ts +1 -0
  226. package/dist/utilities/animator/content-animations/slide/state-animation.test.js +340 -0
  227. package/dist/utilities/animator/index.d.ts +6 -6
  228. package/dist/utilities/animator/index.js +6 -6
  229. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.d.ts +18 -0
  230. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.js +37 -0
  231. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.d.ts +1 -0
  232. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.js +10 -0
  233. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.d.ts +32 -0
  234. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.js +168 -0
  235. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.d.ts +1 -0
  236. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.js +431 -0
  237. package/dist/utilities/animator/state-animation/slide/slide-in-content.d.ts +37 -0
  238. package/dist/utilities/animator/state-animation/slide/slide-in-content.js +100 -0
  239. package/dist/utilities/animator/state-animation/slide/slide-in-content.test.d.ts +1 -0
  240. package/dist/utilities/animator/state-animation/slide/slide-in-content.test.js +10 -0
  241. package/dist/utilities/animator/state-animation/slide/slide-state-animation.d.ts +24 -0
  242. package/dist/utilities/animator/state-animation/slide/slide-state-animation.js +130 -0
  243. package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.d.ts +1 -0
  244. package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.js +301 -0
  245. package/dist/utilities/animator/state-animation/slide-state-animation.test.js +30 -30
  246. package/dist/utilities/animator/state-animation/state-animation.js +7 -7
  247. package/dist/utilities/animator/state-animation/state-animation.test.js +24 -24
  248. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.test.js +30 -30
  249. package/dist/utilities/data-structures/vector-set/vector-set.d.ts +1 -1
  250. package/dist/utilities/data-structures/vector-set/vector-set.js +5 -5
  251. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.d.ts +1 -1
  252. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.js +5 -5
  253. package/dist/utilities/grid-algorithms/path-finder/path-finder.js +21 -21
  254. package/dist/utilities/grid-algorithms/path-finder/path-finder.test.js +9 -9
  255. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.d.ts +14 -14
  256. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.js +43 -43
  257. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.test.js +21 -21
  258. package/package.json +7 -5
@@ -1,68 +1,71 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EntityViewsHelper = void 0;
4
+ const hard_reset_1 = require("../../hard-reset");
4
5
  const service_1 = require("../../service/service");
5
- const unit_test_helper_1 = require("../../unit-test.helper");
6
6
  const entity_store_helper_1 = require("./entity-store.helper");
7
7
  class EntityViewsHelper {
8
- static { this.viewRegistries = new Map(); }
8
+ static { this._viewRegistries = new Map(); }
9
9
  static registerView(ViewClass, EntityClass) {
10
- if (!EntityViewsHelper.viewRegistries.has(EntityClass)) {
11
- EntityViewsHelper.viewRegistries.set(EntityClass, []);
10
+ if (!EntityViewsHelper._viewRegistries.has(EntityClass)) {
11
+ EntityViewsHelper._viewRegistries.set(EntityClass, []);
12
12
  }
13
- let relatedRegistries = EntityViewsHelper.viewRegistries.get(EntityClass);
13
+ let relatedRegistries = EntityViewsHelper._viewRegistries.get(EntityClass);
14
14
  relatedRegistries && relatedRegistries.push(ViewClass);
15
15
  let alreadyCreatedEntities = entity_store_helper_1.EntityStoreHelper.getEntities(EntityClass);
16
16
  alreadyCreatedEntities.forEach(entity => {
17
- this.createView(entity, ViewClass);
17
+ this._createView(entity, ViewClass);
18
18
  });
19
19
  }
20
- static createView(entity, ViewClass) {
20
+ static _createView(entity, ViewClass) {
21
21
  try {
22
- let resolvedViewArgs = service_1.Service.resolveParameters([this], ViewClass.$meta.paramtypes);
23
- EntityViewsHelper.currentEntityId = entity.id;
22
+ let resolvedViewArgs = service_1.Service._resolveParameters([this], ViewClass.$meta.paramtypes);
23
+ EntityViewsHelper.entityID = entity.id;
24
24
  let view = new ViewClass(entity, ...resolvedViewArgs.slice(1));
25
25
  if (entity.destroyed) {
26
26
  // Created view might destroy its entity in constructor, which should also destroy the view
27
27
  view.destroy();
28
28
  }
29
29
  else {
30
- entity['viewCreationHelper'].views.push(view);
30
+ entity._viewCreationHelper._views.push(view);
31
31
  }
32
32
  }
33
33
  catch (e) {
34
34
  console.error(e);
35
35
  }
36
36
  }
37
- constructor(entity) {
38
- this.entity = entity;
39
- this.views = [];
37
+ constructor(_entity) {
38
+ this._entity = _entity;
39
+ this._views = [];
40
40
  }
41
41
  createViews() {
42
- if (!this.entity['destroyed']) {
43
- let registeredViewClasses = EntityViewsHelper.viewRegistries.get(this.entity.constructor);
42
+ if (!this._entity.destroyed) {
43
+ let registeredViewClasses = EntityViewsHelper._viewRegistries.get(this._entity.constructor);
44
44
  if (registeredViewClasses) {
45
45
  registeredViewClasses.forEach(ViewClass => {
46
- EntityViewsHelper.createView(this.entity, ViewClass);
46
+ EntityViewsHelper._createView(this._entity, ViewClass);
47
47
  });
48
48
  }
49
49
  }
50
50
  }
51
51
  updateViews(time, delta) {
52
- this.views.forEach(view => {
53
- view.update(time, delta);
54
- });
52
+ for (let i = 0; i < this._views.length; i++) {
53
+ let view = this._views[i];
54
+ if (!view.destroyed) {
55
+ view.update(time, delta);
56
+ }
57
+ }
55
58
  }
56
59
  destroyViews() {
57
- this.views.forEach(view => {
60
+ this._views.forEach(view => {
58
61
  view.destroy();
59
62
  });
60
63
  }
61
64
  }
62
65
  exports.EntityViewsHelper = EntityViewsHelper;
63
- unit_test_helper_1.UnitTestHelper.onHardReset
66
+ hard_reset_1.BardLegendsHardReset.onHardReset
64
67
  .subscribe(() => {
65
- EntityViewsHelper['viewRegistries'] = new Map();
68
+ EntityViewsHelper['_viewRegistries'] = new Map();
66
69
  })
67
70
  .attachToRoot();
68
71
  //# sourceMappingURL=entity-views.helper.js.map
@@ -6,18 +6,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
+ const actions_lib_1 = require("actions-lib");
9
10
  const vitest_1 = require("vitest");
11
+ const hard_reset_1 = require("../hard-reset");
10
12
  const scene_1 = require("../scene/scene");
11
- const unit_test_helper_1 = require("../unit-test.helper");
12
13
  const entity_1 = require("./entity");
13
14
  const singleton_entity_1 = require("./singleton-entity");
14
15
  (0, vitest_1.describe)('SINGLETON ENTITY', () => {
15
16
  (0, vitest_1.beforeEach)(() => {
16
- unit_test_helper_1.UnitTestHelper.hardReset();
17
+ hard_reset_1.BardLegendsHardReset.hardReset();
17
18
  let SampleScene = class SampleScene extends scene_1.Scene {
18
- async init() { }
19
+ init() {
20
+ return actions_lib_1.SingleEvent.instant();
21
+ }
19
22
  update() { }
20
- async prepareToClose() { }
23
+ prepareToClose() {
24
+ return actions_lib_1.SingleEvent.instant();
25
+ }
21
26
  };
22
27
  SampleScene = __decorate([
23
28
  (0, scene_1.SceneDecorator)()
@@ -0,0 +1,5 @@
1
+ export declare class BardLegendsHardReset {
2
+ private static readonly _hardResetAction;
3
+ static readonly onHardReset: import("actions-lib").Notifier<void>;
4
+ static hardReset(): void;
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BardLegendsHardReset = void 0;
4
+ const actions_lib_1 = require("actions-lib");
5
+ class BardLegendsHardReset {
6
+ static { this._hardResetAction = new actions_lib_1.Action(); }
7
+ static { this.onHardReset = this._hardResetAction.notifier; }
8
+ static hardReset() {
9
+ actions_lib_1.ActionLib.hardReset();
10
+ this._hardResetAction.trigger();
11
+ }
12
+ }
13
+ exports.BardLegendsHardReset = BardLegendsHardReset;
14
+ //# sourceMappingURL=hard-reset.js.map
@@ -1,8 +1,8 @@
1
1
  export { ControllerDecorator, ControllerDecoratorMeta, ControllerLink } from './controller/controller';
2
2
  export { Entity, EntityDecorator } from './entity/entity';
3
3
  export { SingletonEntity } from './entity/singleton-entity';
4
+ export { BardLegendsHardReset } from './hard-reset';
4
5
  export { Scene, SceneDecorator } from './scene/scene';
5
6
  export { Service, ServiceDecorator } from './service/service';
6
- export { UnitTestHelper } from './unit-test.helper';
7
7
  export { UpdateCycle } from './update-cycle';
8
8
  export { View, ViewDecorator, ViewDecoratorMeta } from './view/view';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ViewDecorator = exports.View = exports.UpdateCycle = exports.UnitTestHelper = exports.ServiceDecorator = exports.Service = exports.SceneDecorator = exports.Scene = exports.SingletonEntity = exports.EntityDecorator = exports.Entity = exports.ControllerLink = exports.ControllerDecorator = void 0;
3
+ exports.ViewDecorator = exports.View = exports.UpdateCycle = exports.ServiceDecorator = exports.Service = exports.SceneDecorator = exports.Scene = exports.BardLegendsHardReset = exports.SingletonEntity = exports.EntityDecorator = exports.Entity = exports.ControllerLink = exports.ControllerDecorator = void 0;
4
4
  var controller_1 = require("./controller/controller");
5
5
  Object.defineProperty(exports, "ControllerDecorator", { enumerable: true, get: function () { return controller_1.ControllerDecorator; } });
6
6
  Object.defineProperty(exports, "ControllerLink", { enumerable: true, get: function () { return controller_1.ControllerLink; } });
@@ -9,14 +9,14 @@ Object.defineProperty(exports, "Entity", { enumerable: true, get: function () {
9
9
  Object.defineProperty(exports, "EntityDecorator", { enumerable: true, get: function () { return entity_1.EntityDecorator; } });
10
10
  var singleton_entity_1 = require("./entity/singleton-entity");
11
11
  Object.defineProperty(exports, "SingletonEntity", { enumerable: true, get: function () { return singleton_entity_1.SingletonEntity; } });
12
+ var hard_reset_1 = require("./hard-reset");
13
+ Object.defineProperty(exports, "BardLegendsHardReset", { enumerable: true, get: function () { return hard_reset_1.BardLegendsHardReset; } });
12
14
  var scene_1 = require("./scene/scene");
13
15
  Object.defineProperty(exports, "Scene", { enumerable: true, get: function () { return scene_1.Scene; } });
14
16
  Object.defineProperty(exports, "SceneDecorator", { enumerable: true, get: function () { return scene_1.SceneDecorator; } });
15
17
  var service_1 = require("./service/service");
16
18
  Object.defineProperty(exports, "Service", { enumerable: true, get: function () { return service_1.Service; } });
17
19
  Object.defineProperty(exports, "ServiceDecorator", { enumerable: true, get: function () { return service_1.ServiceDecorator; } });
18
- var unit_test_helper_1 = require("./unit-test.helper");
19
- Object.defineProperty(exports, "UnitTestHelper", { enumerable: true, get: function () { return unit_test_helper_1.UnitTestHelper; } });
20
20
  var update_cycle_1 = require("./update-cycle");
21
21
  Object.defineProperty(exports, "UpdateCycle", { enumerable: true, get: function () { return update_cycle_1.UpdateCycle; } });
22
22
  var view_1 = require("./view/view");
@@ -1,10 +1,9 @@
1
- import { Attachable } from 'actions-lib';
1
+ import { IDAttachable, SingleEvent } from 'actions-lib';
2
2
  export type SceneClassType = new (...services: unknown[]) => Scene<unknown, unknown>;
3
3
  type SceneInput<T> = T extends Scene<infer I, any> ? I : never;
4
- type SceneOutput<T> = T extends Scene<any, infer O> ? O : never;
5
4
  export declare function SceneDecorator(): (SceneClass: SceneClassType) => any;
6
- export declare abstract class Scene<InputType, OutputType> extends Attachable {
7
- private static sceneTransitioning;
5
+ export declare abstract class Scene<InputType, OutputType> extends IDAttachable {
6
+ private static _sceneTransitioning;
8
7
  private static readonly _activeScene;
9
8
  static readonly activeScene: import("actions-lib").Notifier<Scene<unknown, unknown> | undefined>;
10
9
  static getActiveScene(this: typeof Scene): Scene<unknown, unknown> | undefined;
@@ -12,16 +11,17 @@ export declare abstract class Scene<InputType, OutputType> extends Attachable {
12
11
  static isActive<T extends Scene<unknown, unknown>>(this: new (...args: unknown[]) => T): boolean;
13
12
  static getInstance<T extends Scene<unknown, unknown>>(this: new (...args: unknown[]) => T): T | undefined;
14
13
  static getInstanceOrFail<T extends Scene<unknown, unknown>>(this: new (...args: unknown[]) => T): T;
15
- static open<T extends Scene<any, any>>(this: new (...args: unknown[]) => T, ...args: T extends Scene<void, any> ? [] : [SceneInput<T>]): {
16
- readonly onOpen: Promise<void>;
17
- readonly onClose: Promise<SceneOutput<T>>;
18
- };
19
- private closePromise;
20
- private resolveClosePromise;
14
+ static open<T extends Scene<any, any>>(this: new (...args1: unknown[]) => T, ...args2: T extends Scene<void, any> ? [] : [SceneInput<T>]): SingleEvent<T>;
15
+ private readonly _onClose;
16
+ readonly onClose: import("actions-lib").Notifier<OutputType>;
21
17
  constructor();
22
- close(...args: OutputType extends void ? [] : [OutputType]): Promise<void>;
23
- protected abstract init(input: InputType): Promise<void>;
18
+ close(...args: OutputType extends void ? [] : [OutputType]): SingleEvent<OutputType>;
19
+ protected abstract init(input: InputType): SingleEvent;
24
20
  protected abstract update(time: number, delta: number): void;
25
- protected abstract prepareToClose(): Promise<void>;
21
+ protected abstract prepareToClose(): SingleEvent;
22
+ /**
23
+ * @deprecated
24
+ */
25
+ destroy(): void;
26
26
  }
27
27
  export {};
@@ -2,21 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Scene = exports.SceneDecorator = void 0;
4
4
  const actions_lib_1 = require("actions-lib");
5
+ const hard_reset_1 = require("../hard-reset");
5
6
  const service_1 = require("../service/service");
6
- const unit_test_helper_1 = require("../unit-test.helper");
7
7
  const update_cycle_1 = require("../update-cycle");
8
8
  function SceneDecorator() {
9
9
  return function (SceneClass) {
10
10
  SceneClass.$meta = {
11
- paramtypes: service_1.Service['getParametersMeta'](SceneClass),
11
+ paramtypes: service_1.Service._getParametersMeta(SceneClass),
12
12
  type: 'scene'
13
13
  };
14
14
  return SceneClass;
15
15
  };
16
16
  }
17
17
  exports.SceneDecorator = SceneDecorator;
18
- class Scene extends actions_lib_1.Attachable {
19
- static { this.sceneTransitioning = false; }
18
+ class Scene extends actions_lib_1.IDAttachable {
19
+ static { this._sceneTransitioning = false; }
20
20
  static { this._activeScene = new actions_lib_1.Variable(undefined); }
21
21
  static { this.activeScene = this._activeScene.notifier; }
22
22
  static getActiveScene() {
@@ -43,67 +43,62 @@ class Scene extends actions_lib_1.Attachable {
43
43
  }
44
44
  return Scene._activeScene.value;
45
45
  }
46
- static open(...args) {
47
- if (Scene.sceneTransitioning) {
46
+ static open(...args2) {
47
+ if (Scene._sceneTransitioning) {
48
48
  throw new Error('Scene: you cannot open a scene while a scene is transitioning!');
49
49
  }
50
50
  else if (Scene._activeScene.value) {
51
51
  throw new Error('Scene: you cannot open a scene while there is already another active scene!');
52
52
  }
53
- let input = args[0];
54
- let onOpenResolve;
55
- let onCloseResolve;
56
- let onOpen = new Promise(resolve => {
57
- onOpenResolve = resolve;
58
- });
59
- let onClose = new Promise(resolve => {
60
- onCloseResolve = resolve;
61
- });
62
- Scene.sceneTransitioning = true;
63
- let resolvedArgs = service_1.Service['resolveParameters']([], this.$meta.paramtypes);
53
+ let input = args2[0];
54
+ Scene._sceneTransitioning = true;
55
+ let resolvedArgs = service_1.Service._resolveParameters([], this.$meta.paramtypes);
64
56
  let scene = new this(...resolvedArgs).attachToRoot();
65
57
  Scene._activeScene.set(scene);
66
- scene.init(input).then(() => {
67
- Scene.sceneTransitioning = false;
68
- onOpenResolve();
69
- });
70
- scene.closePromise.then(output => onCloseResolve(output));
71
- return { onOpen, onClose };
58
+ return scene
59
+ .init(input)
60
+ .map(() => {
61
+ Scene._sceneTransitioning = false;
62
+ return scene;
63
+ })
64
+ .chainToRoot();
72
65
  }
73
66
  constructor() {
74
67
  super();
75
- update_cycle_1.UpdateCycle.sceneUpdateAction
76
- .subscribe(updateData => {
77
- if (!this.destroyed) {
78
- this.update(updateData.time, updateData.delta);
79
- }
80
- })
81
- .attach(this);
82
- this.closePromise = new Promise(resolve => (this.resolveClosePromise = resolve));
68
+ this._onClose = new actions_lib_1.Action();
69
+ this.onClose = this._onClose.notifier;
70
+ update_cycle_1.UpdateCycle.sceneUpdateAction.subscribe(updateData => this.update(updateData.time, updateData.delta)).attach(this);
83
71
  }
84
- async close(...args) {
85
- if (Scene.sceneTransitioning) {
86
- if (Scene._activeScene.value === this) {
87
- return;
72
+ close(...args) {
73
+ if (Scene._activeScene.value !== this) {
74
+ if (Scene._sceneTransitioning) {
75
+ throw new Error('Scene: you cannot close a scene while a scene is transitioning!');
88
76
  }
89
77
  else {
90
- throw new Error('Scene: you cannot close a scene while a scene is transitioning!');
78
+ throw new Error('Internal Error: Scene instance is accessed while it is not the active scene!');
91
79
  }
92
80
  }
93
- else if (Scene._activeScene.value !== this) {
94
- throw new Error('Internal Error: Scene instance is accessed while it is not the active scene!');
95
- }
96
81
  let output = args[0];
97
- Scene.sceneTransitioning = true;
98
- await this.prepareToClose();
99
- super.destroy();
100
- Scene._activeScene.set(undefined);
101
- this.resolveClosePromise(output);
102
- Scene.sceneTransitioning = false;
82
+ Scene._sceneTransitioning = true;
83
+ return this.prepareToClose()
84
+ .map(() => {
85
+ super.destroy();
86
+ Scene._activeScene.set(undefined);
87
+ Scene._sceneTransitioning = false;
88
+ this._onClose.trigger(output);
89
+ return output;
90
+ })
91
+ .chainToRoot();
92
+ }
93
+ /**
94
+ * @deprecated
95
+ */
96
+ destroy() {
97
+ throw new Error('To close a scene use the "close()" function');
103
98
  }
104
99
  }
105
100
  exports.Scene = Scene;
106
- unit_test_helper_1.UnitTestHelper.onHardReset
101
+ hard_reset_1.BardLegendsHardReset.onHardReset
107
102
  .subscribe(() => {
108
103
  Scene['_activeScene'].set(undefined);
109
104
  })
@@ -9,22 +9,27 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ const actions_lib_1 = require("actions-lib");
12
13
  const vitest_1 = require("vitest");
13
14
  const entity_1 = require("../entity/entity");
15
+ const hard_reset_1 = require("../hard-reset");
14
16
  const service_1 = require("../service/service");
15
- const unit_test_helper_1 = require("../unit-test.helper");
16
17
  const update_cycle_1 = require("../update-cycle");
17
18
  const view_1 = require("../view/view");
18
19
  const scene_1 = require("./scene");
19
20
  (0, vitest_1.describe)('SCENE', () => {
20
21
  (0, vitest_1.beforeEach)(() => {
21
- unit_test_helper_1.UnitTestHelper.hardReset();
22
+ hard_reset_1.BardLegendsHardReset.hardReset();
22
23
  });
23
24
  (0, vitest_1.test)('create scene', () => {
24
25
  let SampleScene = class SampleScene extends scene_1.Scene {
25
- async init() { }
26
+ init() {
27
+ return actions_lib_1.SingleEvent.instant();
28
+ }
26
29
  update() { }
27
- async prepareToClose() { }
30
+ prepareToClose() {
31
+ return actions_lib_1.SingleEvent.instant();
32
+ }
28
33
  };
29
34
  SampleScene = __decorate([
30
35
  (0, scene_1.SceneDecorator)()
@@ -35,12 +40,15 @@ const scene_1 = require("./scene");
35
40
  });
36
41
  (0, vitest_1.test)('arguments in open call should be passed to the init function', () => {
37
42
  let SampleScene = class SampleScene extends scene_1.Scene {
38
- async init(input) {
43
+ init(input) {
39
44
  (0, vitest_1.expect)(input.arg1).toEqual('test');
40
45
  (0, vitest_1.expect)(input.arg2).toEqual(1);
46
+ return actions_lib_1.SingleEvent.instant();
41
47
  }
42
48
  update() { }
43
- async prepareToClose() { }
49
+ prepareToClose() {
50
+ return actions_lib_1.SingleEvent.instant();
51
+ }
44
52
  };
45
53
  SampleScene = __decorate([
46
54
  (0, scene_1.SceneDecorator)()
@@ -57,15 +65,18 @@ const scene_1 = require("./scene");
57
65
  (0, service_1.ServiceDecorator)()
58
66
  ], SampleService);
59
67
  let SampleScene = class SampleScene extends scene_1.Scene {
60
- constructor(sampleService) {
68
+ constructor(_sampleService) {
61
69
  super();
62
- this.sampleService = sampleService;
70
+ this._sampleService = _sampleService;
63
71
  }
64
- async init() {
65
- (0, vitest_1.expect)(this.sampleService.value).toEqual('test');
72
+ init() {
73
+ (0, vitest_1.expect)(this._sampleService.value).toEqual('test');
74
+ return actions_lib_1.SingleEvent.instant();
66
75
  }
67
76
  update() { }
68
- async prepareToClose() { }
77
+ prepareToClose() {
78
+ return actions_lib_1.SingleEvent.instant();
79
+ }
69
80
  };
70
81
  SampleScene = __decorate([
71
82
  (0, scene_1.SceneDecorator)(),
@@ -75,9 +86,13 @@ const scene_1 = require("./scene");
75
86
  });
76
87
  (0, vitest_1.test)('get instance should return the scene with its type', () => {
77
88
  let SampleScene = class SampleScene extends scene_1.Scene {
78
- async init() { }
89
+ init() {
90
+ return actions_lib_1.SingleEvent.instant();
91
+ }
79
92
  update() { }
80
- async prepareToClose() { }
93
+ prepareToClose() {
94
+ return actions_lib_1.SingleEvent.instant();
95
+ }
81
96
  };
82
97
  SampleScene = __decorate([
83
98
  (0, scene_1.SceneDecorator)()
@@ -87,9 +102,13 @@ const scene_1 = require("./scene");
87
102
  });
88
103
  (0, vitest_1.test)('getInstance should throw error when there is no active scene', () => {
89
104
  let SampleScene = class SampleScene extends scene_1.Scene {
90
- async init() { }
105
+ init() {
106
+ return actions_lib_1.SingleEvent.instant();
107
+ }
91
108
  update() { }
92
- async prepareToClose() { }
109
+ prepareToClose() {
110
+ return actions_lib_1.SingleEvent.instant();
111
+ }
93
112
  };
94
113
  SampleScene = __decorate([
95
114
  (0, scene_1.SceneDecorator)()
@@ -98,17 +117,25 @@ const scene_1 = require("./scene");
98
117
  });
99
118
  (0, vitest_1.test)('getInstance should throw error when called while the open scene belongs to another class', () => {
100
119
  let SampleScene = class SampleScene extends scene_1.Scene {
101
- async init() { }
120
+ init() {
121
+ return actions_lib_1.SingleEvent.instant();
122
+ }
102
123
  update() { }
103
- async prepareToClose() { }
124
+ prepareToClose() {
125
+ return actions_lib_1.SingleEvent.instant();
126
+ }
104
127
  };
105
128
  SampleScene = __decorate([
106
129
  (0, scene_1.SceneDecorator)()
107
130
  ], SampleScene);
108
131
  let SampleScene2 = class SampleScene2 extends scene_1.Scene {
109
- async init() { }
132
+ init() {
133
+ return actions_lib_1.SingleEvent.instant();
134
+ }
110
135
  update() { }
111
- async prepareToClose() { }
136
+ prepareToClose() {
137
+ return actions_lib_1.SingleEvent.instant();
138
+ }
112
139
  };
113
140
  SampleScene2 = __decorate([
114
141
  (0, scene_1.SceneDecorator)()
@@ -116,12 +143,16 @@ const scene_1 = require("./scene");
116
143
  SampleScene.open();
117
144
  (0, vitest_1.expect)(() => SampleScene2.getInstanceOrFail()).toThrow();
118
145
  });
119
- (0, vitest_1.test)('destroyed scenes should destroy its entities and its views', async () => {
146
+ (0, vitest_1.test)('destroyed scenes should destroy its entities and its views', () => {
120
147
  var SampleEntity_1;
121
148
  let SampleScene = class SampleScene extends scene_1.Scene {
122
- async init() { }
149
+ init() {
150
+ return actions_lib_1.SingleEvent.instant();
151
+ }
123
152
  update() { }
124
- async prepareToClose() { }
153
+ prepareToClose() {
154
+ return actions_lib_1.SingleEvent.instant();
155
+ }
125
156
  };
126
157
  SampleScene = __decorate([
127
158
  (0, scene_1.SceneDecorator)()
@@ -153,22 +184,36 @@ const scene_1 = require("./scene");
153
184
  entity: SampleEntity
154
185
  })
155
186
  ], _SampleView);
156
- await SampleScene.open().onOpen;
157
- new SampleEntity().attach(scene_1.Scene.getActiveSceneOrFail());
158
- await SampleScene.getInstanceOrFail().close();
159
- (0, vitest_1.expect)(SampleEntity.entityDestroyCalled).toBeTruthy();
160
- (0, vitest_1.expect)(viewDestroyCalled).toBeTruthy();
187
+ let finalized = false;
188
+ SampleScene.open()
189
+ .asyncMap(() => {
190
+ new SampleEntity().attach(scene_1.Scene.getActiveSceneOrFail());
191
+ return SampleScene.getInstanceOrFail().close();
192
+ })
193
+ .tap(() => {
194
+ (0, vitest_1.expect)(SampleEntity.entityDestroyCalled).toBeTruthy();
195
+ (0, vitest_1.expect)(viewDestroyCalled).toBeTruthy();
196
+ })
197
+ .tap(() => {
198
+ finalized = true;
199
+ })
200
+ .attachToRoot();
201
+ (0, vitest_1.expect)(finalized).toBeTruthy();
161
202
  });
162
- (0, vitest_1.test)('entity should create the update cycle', async () => {
203
+ (0, vitest_1.test)('entity should create the update cycle', () => {
163
204
  var SampleScene_1;
164
205
  let SampleScene = class SampleScene extends scene_1.Scene {
165
206
  static { SampleScene_1 = this; }
166
207
  static { this.sceneUpdateCalled = false; }
167
- async init() { }
208
+ init() {
209
+ return actions_lib_1.SingleEvent.instant();
210
+ }
168
211
  update(time, delta) {
169
212
  SampleScene_1.sceneUpdateCalled = true;
170
213
  }
171
- async prepareToClose() { }
214
+ prepareToClose() {
215
+ return actions_lib_1.SingleEvent.instant();
216
+ }
172
217
  };
173
218
  SampleScene = SampleScene_1 = __decorate([
174
219
  (0, scene_1.SceneDecorator)()
@@ -199,19 +244,32 @@ const scene_1 = require("./scene");
199
244
  (0, vitest_1.expect)(SampleScene.sceneUpdateCalled).toBeTruthy();
200
245
  (0, vitest_1.expect)(viewUpdateCalled).toBeTruthy();
201
246
  });
202
- (0, vitest_1.test)('closing scene should destroy it', async () => {
247
+ (0, vitest_1.test)('closing scene should destroy it', () => {
203
248
  let SampleScene = class SampleScene extends scene_1.Scene {
204
- async init() { }
249
+ init() {
250
+ return actions_lib_1.SingleEvent.instant();
251
+ }
205
252
  update() { }
206
- async prepareToClose() { }
253
+ prepareToClose() {
254
+ return actions_lib_1.SingleEvent.instant();
255
+ }
207
256
  };
208
257
  SampleScene = __decorate([
209
258
  (0, scene_1.SceneDecorator)()
210
259
  ], SampleScene);
211
- await SampleScene.open().onOpen;
212
- let scene = SampleScene.getInstanceOrFail();
213
- await scene.close();
214
- (0, vitest_1.expect)(scene.destroyed).toBeTruthy();
260
+ let finalized = false;
261
+ SampleScene.open()
262
+ .asyncMap(scene => {
263
+ return scene.close().map(() => scene);
264
+ })
265
+ .tap(scene => {
266
+ (0, vitest_1.expect)(scene.destroyed).toBeTruthy();
267
+ })
268
+ .tap(() => {
269
+ finalized = true;
270
+ })
271
+ .attachToRoot();
272
+ (0, vitest_1.expect)(finalized).toBeTruthy();
215
273
  });
216
274
  });
217
275
  //# sourceMappingURL=scene.test.js.map
@@ -1,9 +1,6 @@
1
1
  import 'reflect-metadata';
2
2
  export declare function ServiceDecorator(): (ServiceClass: any) => any;
3
3
  export declare class Service {
4
- private static serviceInstances;
4
+ private static _serviceInstances;
5
5
  static get<T extends Service>(ServiceClass: new (...args: any[]) => T): T;
6
- private static getParametersMeta;
7
- private static resolveParameters;
8
- private static hardReset;
9
6
  }