bard-legends-framework 0.10.9 → 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 (288) 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 -3
  4. package/dist/game-entities/controller/controller.js +9 -8
  5. package/dist/game-entities/controller/controller.test.js +2 -2
  6. package/dist/game-entities/entity/entity.d.ts +11 -9
  7. package/dist/game-entities/entity/entity.js +20 -16
  8. package/dist/game-entities/entity/entity.test.js +116 -147
  9. package/dist/game-entities/entity/helpers/entity-store.helper.d.ts +6 -9
  10. package/dist/game-entities/entity/helpers/entity-store.helper.js +22 -57
  11. package/dist/game-entities/entity/helpers/entity-store.helper.test.d.ts +1 -0
  12. package/dist/game-entities/entity/helpers/entity-store.helper.test.js +136 -0
  13. package/dist/game-entities/entity/helpers/entity-views.helper.d.ts +7 -7
  14. package/dist/game-entities/entity/helpers/entity-views.helper.js +28 -23
  15. package/dist/game-entities/entity/singleton-entity.d.ts +3 -3
  16. package/dist/game-entities/entity/singleton-entity.js +1 -1
  17. package/dist/game-entities/entity/singleton-entity.test.js +9 -31
  18. package/dist/game-entities/hard-reset.d.ts +5 -0
  19. package/dist/game-entities/hard-reset.js +14 -0
  20. package/dist/game-entities/index.d.ts +1 -3
  21. package/dist/game-entities/index.js +3 -7
  22. package/dist/game-entities/scene/scene.d.ts +15 -15
  23. package/dist/game-entities/scene/scene.js +61 -60
  24. package/dist/game-entities/scene/scene.test.js +97 -67
  25. package/dist/game-entities/service/service.d.ts +1 -4
  26. package/dist/game-entities/service/service.js +15 -14
  27. package/dist/game-entities/service/service.test.js +33 -38
  28. package/dist/game-entities/unit-test.helper.d.ts +5 -0
  29. package/dist/game-entities/unit-test.helper.js +14 -0
  30. package/dist/game-entities/update-cycle.d.ts +10 -9
  31. package/dist/game-entities/update-cycle.js +34 -23
  32. package/dist/game-entities/view/view.d.ts +10 -11
  33. package/dist/game-entities/view/view.js +17 -35
  34. package/dist/game-entities/view/view.test.js +73 -250
  35. package/dist/physics/entity-types/immovable-physics-entity.d.ts +2 -4
  36. package/dist/physics/entity-types/immovable-physics-entity.js +4 -6
  37. package/dist/physics/entity-types/movable-entity.d.ts +1 -1
  38. package/dist/physics/entity-types/movable-entity.js +6 -6
  39. package/dist/physics/entity-types/movable-physics-entity.d.ts +10 -11
  40. package/dist/physics/entity-types/movable-physics-entity.js +31 -32
  41. package/dist/physics/entity-types/physics-entity.d.ts +12 -15
  42. package/dist/physics/entity-types/physics-entity.js +30 -28
  43. package/dist/physics/interfaces.d.ts +6 -6
  44. package/dist/physics/interfaces.js +4 -4
  45. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.d.ts +16 -16
  46. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.js +22 -22
  47. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.d.ts +20 -20
  48. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js +30 -30
  49. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +3 -3
  50. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.d.ts +10 -10
  51. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.js +16 -16
  52. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.d.ts +11 -11
  53. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.js +18 -18
  54. package/dist/physics/module//360/237/223/220services/collision/collisions.service.d.ts +5 -5
  55. package/dist/physics/module//360/237/223/220services/collision/collisions.service.js +17 -17
  56. package/dist/physics/module//360/237/223/220services/collision/hit-test.service.d.ts +4 -4
  57. package/dist/physics/module//360/237/223/220services/collision/hit-test.service.js +11 -11
  58. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.d.ts +2 -2
  59. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +4 -4
  60. package/dist/physics/module//360/237/223/220services/creation/border.service.d.ts +2 -2
  61. package/dist/physics/module//360/237/223/220services/creation/border.service.js +9 -9
  62. package/dist/physics/module//360/237/223/220services/creation/materials.service.d.ts +7 -7
  63. package/dist/physics/module//360/237/223/220services/creation/materials.service.js +17 -17
  64. package/dist/physics/module//360/237/223/220services/creation/physics-world.service.d.ts +11 -11
  65. package/dist/physics/module//360/237/223/220services/creation/physics-world.service.js +28 -27
  66. package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.d.ts +4 -4
  67. package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.js +13 -13
  68. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.d.ts +9 -9
  69. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +19 -19
  70. package/dist/physics/module//360/237/223/220services/impact/explosion.service.d.ts +9 -9
  71. package/dist/physics/module//360/237/223/220services/impact/explosion.service.js +20 -20
  72. package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.d.ts +1 -1
  73. package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.js +4 -4
  74. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.d.ts +2 -2
  75. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.js +3 -3
  76. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.d.ts +5 -5
  77. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.js +13 -13
  78. package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.d.ts +4 -4
  79. package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.js +13 -13
  80. package/dist/physics/module//360/237/223/220services/query/physics-query.service.d.ts +4 -4
  81. package/dist/physics/module//360/237/223/220services/query/physics-query.service.js +4 -4
  82. package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.d.ts +1 -4
  83. package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.js +7 -15
  84. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.d.ts +9 -9
  85. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +60 -49
  86. package/dist/physics/module//360/237/247/212entities/border.entity.d.ts +1 -1
  87. package/dist/physics/module//360/237/247/212entities/border.entity.js +3 -3
  88. package/dist/physics/module//360/237/247/212entities/physics-world.entity.js +2 -2
  89. package/dist/pixi/components/display-object-array.d.ts +5 -5
  90. package/dist/pixi/components/display-object-array.js +14 -14
  91. package/dist/pixi/components/helpers/smooth-scroller.d.ts +7 -7
  92. package/dist/pixi/components/helpers/smooth-scroller.js +23 -23
  93. package/dist/pixi/components/helpers/smooth-scroller.test.js +14 -14
  94. package/dist/pixi/components/menu/menu-entity.d.ts +14 -0
  95. package/dist/pixi/components/menu/menu-entity.js +48 -0
  96. package/dist/pixi/components/menu/menu.ui.d.ts +23 -0
  97. package/dist/pixi/components/menu/menu.ui.js +97 -0
  98. package/dist/pixi/components/mouse-wheel-listener.ui.d.ts +4 -3
  99. package/dist/pixi/components/mouse-wheel-listener.ui.js +15 -14
  100. package/dist/pixi/components/scroll-area.ui.d.ts +1 -1
  101. package/dist/pixi/components/scroll-area.ui.js +9 -9
  102. package/dist/pixi/components/scroll-mask.ui.d.ts +9 -8
  103. package/dist/pixi/components/scroll-mask.ui.js +25 -24
  104. package/dist/pixi/display-object/container-attributes.d.ts +24 -26
  105. package/dist/pixi/display-object/container-attributes.js +27 -28
  106. package/dist/pixi/display-object/container.d.ts +3 -6
  107. package/dist/pixi/display-object/container.js +2 -12
  108. package/dist/pixi/display-object/filters/base-filters/blur.filter.d.ts +9 -9
  109. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +25 -25
  110. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.d.ts +7 -7
  111. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +17 -17
  112. package/dist/pixi/display-object/filters/composite-filters/glow-filter.d.ts +6 -6
  113. package/dist/pixi/display-object/filters/composite-filters/glow-filter.js +10 -11
  114. package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.d.ts +2 -2
  115. package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.js +5 -5
  116. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.d.ts +5 -5
  117. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +8 -8
  118. package/dist/pixi/display-object/filters/templates/plane.template.d.ts +5 -5
  119. package/dist/pixi/display-object/filters/templates/plane.template.js +7 -7
  120. package/dist/pixi/display-object/filters.d.ts +7 -7
  121. package/dist/pixi/display-object/filters.js +34 -34
  122. package/dist/pixi/display-object/index.d.ts +1 -1
  123. package/dist/pixi/display-object/objects/graphics/graphics.d.ts +9 -9
  124. package/dist/pixi/display-object/objects/graphics/graphics.js +25 -25
  125. package/dist/pixi/display-object/objects/placeholder.d.ts +1 -1
  126. package/dist/pixi/display-object/objects/placeholder.js +7 -7
  127. package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.d.ts +9 -9
  128. package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.js +29 -26
  129. package/dist/pixi/display-object/objects/sprite/sprite.d.ts +10 -9
  130. package/dist/pixi/display-object/objects/sprite/sprite.js +62 -53
  131. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/pixi-text-style-converter.d.ts +4 -3
  132. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.d.ts +6 -6
  133. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +16 -16
  134. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +28 -28
  135. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.d.ts +1 -1
  136. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.js +3 -3
  137. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.d.ts +17 -17
  138. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.js +62 -62
  139. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.test.js +2 -2
  140. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.d.ts +3 -3
  141. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.js +6 -6
  142. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.test.js +12 -12
  143. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +2 -2
  144. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.test.js +5 -5
  145. package/dist/pixi/display-object/objects/text/rich-text.d.ts +0 -1
  146. package/dist/pixi/display-object/objects/text/rich-text.js +0 -1
  147. package/dist/pixi/display-object/objects/text/text.d.ts +9 -10
  148. package/dist/pixi/display-object/objects/text/text.js +34 -35
  149. package/dist/pixi/game.d.ts +26 -17
  150. package/dist/pixi/game.js +53 -39
  151. package/dist/pixi/helpers/game-assets.d.ts +5 -5
  152. package/dist/pixi/helpers/game-assets.js +14 -11
  153. package/dist/pixi/helpers/position-conversion.helper.d.ts +4 -4
  154. package/dist/pixi/helpers/position-conversion.helper.js +3 -3
  155. package/dist/pixi/index.d.ts +3 -37
  156. package/dist/pixi/index.js +6 -22
  157. package/dist/pixi/modules/CAMERA/camera.d.ts +5 -4
  158. package/dist/pixi/modules/CAMERA/camera.js +9 -9
  159. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.d.ts +3 -2
  160. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.js +1 -1
  161. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.d.ts +3 -2
  162. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.js +5 -5
  163. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.d.ts +3 -3
  164. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.js +7 -7
  165. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +8 -8
  166. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.js +8 -8
  167. package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.d.ts +2 -2
  168. package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.js +12 -12
  169. package/dist/pixi/modules/CAMERA//360/237/247/212entities/camera.entity.js +4 -4
  170. package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.d.ts +17 -16
  171. package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.js +50 -49
  172. package/dist/pixi/pixi-definitions.d.ts +38 -0
  173. package/dist/pixi/pixi-definitions.js +37 -0
  174. package/dist/pixi/services/keyboard/keyboard.d.ts +6 -4
  175. package/dist/pixi/services/keyboard/keyboard.js +15 -13
  176. package/dist/pixi/services/mouse/mouse-target-focus.service.d.ts +12 -11
  177. package/dist/pixi/services/mouse/mouse-target-focus.service.js +31 -30
  178. package/dist/pixi/services/mouse/mouse.service.d.ts +16 -6
  179. package/dist/pixi/services/mouse/mouse.service.js +42 -22
  180. package/dist/utilities/animator/animating-content/fade-in-content.d.ts +18 -0
  181. package/dist/utilities/animator/animating-content/fade-in-content.js +37 -0
  182. package/dist/utilities/animator/animating-content/fade-in-content.test.d.ts +1 -0
  183. package/dist/utilities/animator/animating-content/fade-in-content.test.js +10 -0
  184. package/dist/utilities/animator/animating-content/slide-in-content.d.ts +37 -0
  185. package/dist/utilities/animator/animating-content/slide-in-content.js +99 -0
  186. package/dist/utilities/animator/animating-content/slide-in-content.test.d.ts +1 -0
  187. package/dist/utilities/animator/animating-content/slide-in-content.test.js +10 -0
  188. package/dist/utilities/animator/animations.d.ts +45 -0
  189. package/dist/utilities/animator/animations.js +92 -0
  190. package/dist/utilities/animator/animator/animator.d.ts +44 -0
  191. package/dist/utilities/animator/animator/animator.js +234 -0
  192. package/dist/utilities/animator/animator/animator.memory-leak.test.d.ts +1 -0
  193. package/dist/utilities/animator/animator/animator.memory-leak.test.js +73 -0
  194. package/dist/utilities/animator/animator/animator.performance.test.d.ts +1 -0
  195. package/dist/utilities/animator/animator/animator.performance.test.js +116 -0
  196. package/dist/utilities/animator/animator/animator.test.d.ts +1 -0
  197. package/dist/utilities/animator/animator/animator.test.js +1046 -0
  198. package/dist/utilities/animator/animator.d.ts +60 -0
  199. package/dist/utilities/animator/animator.js +322 -0
  200. package/dist/utilities/animator/animator.performance.test.d.ts +1 -0
  201. package/dist/utilities/animator/animator.performance.test.js +46 -0
  202. package/dist/utilities/animator/animator.test.d.ts +1 -0
  203. package/dist/utilities/animator/animator.test.js +928 -0
  204. package/dist/utilities/animator/animator2/animator.d.ts +42 -0
  205. package/dist/utilities/animator/animator2/animator.js +222 -0
  206. package/dist/utilities/animator/animator2/animator.memory-leak.test.d.ts +1 -0
  207. package/dist/utilities/animator/animator2/animator.memory-leak.test.js +73 -0
  208. package/dist/utilities/animator/animator2/animator.performance.test.d.ts +1 -0
  209. package/dist/utilities/animator/animator2/animator.performance.test.js +65 -0
  210. package/dist/utilities/animator/animator2/animator.test.d.ts +1 -0
  211. package/dist/utilities/animator/animator2/animator.test.js +1007 -0
  212. package/dist/utilities/animator/animator_old/animator.d.ts +60 -0
  213. package/dist/utilities/animator/animator_old/animator.js +337 -0
  214. package/dist/utilities/animator/animator_old/animator.performance.test.d.ts +1 -0
  215. package/dist/utilities/animator/animator_old/animator.performance.test.js +121 -0
  216. package/dist/utilities/animator/animator_old/animator.test.d.ts +1 -0
  217. package/dist/utilities/animator/animator_old/animator.test.js +996 -0
  218. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.d.ts +18 -0
  219. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.js +37 -0
  220. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.d.ts +1 -0
  221. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.js +10 -0
  222. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.d.ts +38 -0
  223. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.js +208 -0
  224. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.d.ts +1 -0
  225. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.js +439 -0
  226. package/dist/utilities/animator/content-animations/slide/slide-in-content.d.ts +41 -0
  227. package/dist/utilities/animator/content-animations/slide/slide-in-content.js +107 -0
  228. package/dist/utilities/animator/content-animations/slide/slide-in-content.test.d.ts +1 -0
  229. package/dist/utilities/animator/content-animations/slide/slide-in-content.test.js +10 -0
  230. package/dist/utilities/animator/content-animations/slide/slide-state-animation.d.ts +24 -0
  231. package/dist/utilities/animator/content-animations/slide/slide-state-animation.js +138 -0
  232. package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.d.ts +1 -0
  233. package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.js +307 -0
  234. package/dist/utilities/animator/content-animations/slide/state-animation.d.ts +37 -0
  235. package/dist/utilities/animator/content-animations/slide/state-animation.js +170 -0
  236. package/dist/utilities/animator/content-animations/slide/state-animation.test.d.ts +1 -0
  237. package/dist/utilities/animator/content-animations/slide/state-animation.test.js +340 -0
  238. package/dist/utilities/animator/index.d.ts +7 -0
  239. package/dist/utilities/animator/index.js +24 -0
  240. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.d.ts +18 -0
  241. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.js +37 -0
  242. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.d.ts +1 -0
  243. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.js +10 -0
  244. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.d.ts +32 -0
  245. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.js +168 -0
  246. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.d.ts +1 -0
  247. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.js +431 -0
  248. package/dist/utilities/animator/state-animation/slide/slide-in-content.d.ts +37 -0
  249. package/dist/utilities/animator/state-animation/slide/slide-in-content.js +100 -0
  250. package/dist/utilities/animator/state-animation/slide/slide-in-content.test.d.ts +1 -0
  251. package/dist/utilities/animator/state-animation/slide/slide-in-content.test.js +10 -0
  252. package/dist/utilities/animator/state-animation/slide/slide-state-animation.d.ts +24 -0
  253. package/dist/utilities/animator/state-animation/slide/slide-state-animation.js +130 -0
  254. package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.d.ts +1 -0
  255. package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.js +301 -0
  256. package/dist/utilities/animator/state-animation/slide-state-animation.d.ts +24 -0
  257. package/dist/utilities/animator/state-animation/slide-state-animation.js +130 -0
  258. package/dist/utilities/animator/state-animation/slide-state-animation.test.d.ts +1 -0
  259. package/dist/utilities/animator/state-animation/slide-state-animation.test.js +301 -0
  260. package/dist/utilities/animator/state-animation/state-animation.d.ts +33 -0
  261. package/dist/utilities/animator/state-animation/state-animation.js +146 -0
  262. package/dist/utilities/animator/state-animation/state-animation.test.d.ts +1 -0
  263. package/dist/utilities/animator/state-animation/state-animation.test.js +335 -0
  264. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.d.ts +32 -0
  265. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.js +168 -0
  266. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.test.d.ts +1 -0
  267. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.test.js +431 -0
  268. package/dist/utilities/data-structures/vector-set/vector-set.d.ts +7 -0
  269. package/dist/utilities/data-structures/vector-set/vector-set.js +26 -0
  270. package/dist/utilities/delta-time/delta-time.d.ts +3 -0
  271. package/dist/utilities/delta-time/delta-time.js +10 -0
  272. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.d.ts +6 -0
  273. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.js +55 -0
  274. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.test.d.ts +1 -0
  275. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.test.js +100 -0
  276. package/dist/utilities/grid-algorithms/path-finder/path-finder.d.ts +8 -0
  277. package/dist/utilities/grid-algorithms/path-finder/path-finder.js +98 -0
  278. package/dist/utilities/grid-algorithms/path-finder/path-finder.test.d.ts +1 -0
  279. package/dist/utilities/grid-algorithms/path-finder/path-finder.test.js +155 -0
  280. package/dist/utilities/grid-algorithms/position-to-grid-position-converter.d.ts +6 -0
  281. package/dist/utilities/grid-algorithms/position-to-grid-position-converter.js +17 -0
  282. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.d.ts +18 -0
  283. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.js +129 -0
  284. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.test.d.ts +1 -0
  285. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.test.js +254 -0
  286. package/dist/utilities/index.d.ts +6 -6
  287. package/dist/utilities/index.js +6 -6
  288. package/package.json +8 -6
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const actions_lib_1 = require("actions-lib");
4
+ const helpers_lib_1 = require("helpers-lib");
5
+ const vitest_1 = require("vitest");
6
+ vitest_1.describe.skipIf(!process.env.MANUAL)('Performance Tests', () => {
7
+ (0, vitest_1.test)('lib test', async () => {
8
+ let sequence = actions_lib_1.SingleEvent.instant()
9
+ .read(() => { })
10
+ .attachToRoot();
11
+ sequence.destroy();
12
+ }, 60000);
13
+ (0, vitest_1.test)('instant single event', async () => {
14
+ await helpers_lib_1.UnitTestHelper.testPerformance(() => {
15
+ let sequence = actions_lib_1.SingleEvent.instant()
16
+ .read(() => { })
17
+ .attachToRoot();
18
+ sequence.destroy();
19
+ });
20
+ // sequence: 1.2411999702453613
21
+ }, 60000);
22
+ (0, vitest_1.test)('sequence instant', async () => {
23
+ await helpers_lib_1.UnitTestHelper.testPerformance(() => {
24
+ let sequence = actions_lib_1.Sequence.instant()
25
+ .read(() => { })
26
+ .attachToRoot();
27
+ sequence.destroy();
28
+ });
29
+ // 1.1551003456115723
30
+ }, 60000);
31
+ (0, vitest_1.test)('sequence 10x map and resolve', async () => {
32
+ await helpers_lib_1.UnitTestHelper.testPerformance(() => {
33
+ let resolve;
34
+ let sequence = actions_lib_1.Sequence.create(r => {
35
+ resolve = r;
36
+ });
37
+ sequence
38
+ .map(() => { })
39
+ .map(() => { })
40
+ .map(() => { })
41
+ .map(() => { })
42
+ .map(() => { })
43
+ .map(() => { })
44
+ .map(() => { })
45
+ .map(() => { })
46
+ .map(() => { })
47
+ .map(() => { })
48
+ .attachToRoot();
49
+ resolve();
50
+ resolve();
51
+ resolve();
52
+ resolve();
53
+ resolve();
54
+ resolve();
55
+ resolve();
56
+ resolve();
57
+ resolve();
58
+ resolve();
59
+ resolve();
60
+ sequence.destroy();
61
+ });
62
+ // 17.77519989013672
63
+ }, 60000);
64
+ (0, vitest_1.test)('sequence 10x map', async () => {
65
+ await helpers_lib_1.UnitTestHelper.testPerformance(() => {
66
+ let sequence = actions_lib_1.SingleEvent.create(resolve => resolve())
67
+ .map(() => { })
68
+ .map(() => { })
69
+ .map(() => { })
70
+ .map(() => { })
71
+ .map(() => { })
72
+ .map(() => { })
73
+ .map(() => { })
74
+ .map(() => { })
75
+ .map(() => { })
76
+ .map(() => { })
77
+ .attachToRoot();
78
+ sequence.destroy();
79
+ });
80
+ // 3.063300132751465
81
+ }, 60000);
82
+ });
83
+ //# sourceMappingURL=actions-performance.test.js.map
@@ -1,8 +1,7 @@
1
1
  export declare class ControllerLink {
2
- private controllers;
3
- private registeredFunctionNames;
2
+ private _controllers;
3
+ private _registeredFunctionNames;
4
4
  trigger<T>(functionName: string, ...args: any[]): T;
5
- private registerController;
6
5
  }
7
6
  export interface ControllerDecoratorMeta {
8
7
  controllerLink: ControllerLink;
@@ -4,11 +4,11 @@ exports.ControllerDecorator = exports.ControllerLink = void 0;
4
4
  const service_1 = require("../service/service");
5
5
  class ControllerLink {
6
6
  constructor() {
7
- this.controllers = [];
8
- this.registeredFunctionNames = [];
7
+ this._controllers = [];
8
+ this._registeredFunctionNames = [];
9
9
  }
10
10
  trigger(functionName, ...args) {
11
- let correspondingController = this.controllers.find(controller => !!controller[functionName]);
11
+ let correspondingController = this._controllers.find(controller => !!controller[functionName]);
12
12
  if (!correspondingController) {
13
13
  throw new Error(`ServiceLink: no defined function with the name: "${functionName}", found in the linked controllers!`);
14
14
  }
@@ -16,30 +16,31 @@ class ControllerLink {
16
16
  return correspondingController[functionName](...args);
17
17
  }
18
18
  }
19
+ /** @internal */
19
20
  registerController(controller) {
20
21
  Reflect.ownKeys(controller.constructor.prototype)
21
22
  .filter(functionName => functionName !== 'constructor')
22
23
  .map(functionName => functionName.toString())
23
24
  .forEach(functionName => {
24
- if (this.registeredFunctionNames.includes(functionName)) {
25
+ if (this._registeredFunctionNames.includes(functionName)) {
25
26
  throw new Error(`ServiceLink: the function is already registered, function name: "${functionName}"`);
26
27
  }
27
28
  else {
28
- this.registeredFunctionNames.push(functionName);
29
+ this._registeredFunctionNames.push(functionName);
29
30
  }
30
31
  });
31
- this.controllers.push(controller);
32
+ this._controllers.push(controller);
32
33
  }
33
34
  }
34
35
  exports.ControllerLink = ControllerLink;
35
36
  function ControllerDecorator(meta) {
36
37
  return function (ControllerClass) {
37
- let paramtypes = service_1.Service.getParametersMeta(ControllerClass);
38
+ let paramtypes = service_1.Service._getParametersMeta(ControllerClass);
38
39
  if (paramtypes.some(type => !type)) {
39
40
  console.error(`Circular dependency: ${ControllerClass.name}`);
40
41
  }
41
42
  else {
42
- let resolvedArgs = service_1.Service.resolveParameters([], paramtypes);
43
+ let resolvedArgs = service_1.Service._resolveParameters([], paramtypes);
43
44
  let controller = new ControllerClass(...resolvedArgs);
44
45
  meta.controllerLink.registerController(controller);
45
46
  }
@@ -7,12 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  const vitest_1 = require("vitest");
10
+ const hard_reset_1 = require("../hard-reset");
10
11
  const service_1 = require("../service/service");
11
- const update_cycle_1 = require("../update-cycle");
12
12
  const controller_1 = require("./controller");
13
13
  (0, vitest_1.describe)('CONTROLLER', () => {
14
14
  (0, vitest_1.beforeEach)(() => {
15
- update_cycle_1.UpdateCycle.hardResetAction.trigger();
15
+ hard_reset_1.BardLegendsHardReset.hardReset();
16
16
  });
17
17
  (0, vitest_1.test)('when gateway triggers service link, it should trigger the controller function', () => {
18
18
  let sampleLink = new controller_1.ControllerLink();
@@ -1,13 +1,15 @@
1
- import { Attachable } from '../base/attachable';
2
- export type EntityClassType = new (...args: any[]) => Entity;
3
- export declare function EntityDecorator(): (EntityClass: EntityClassType) => any;
4
- export declare abstract class Entity extends Attachable {
5
- static getInstanceById<T extends Entity>(this: new (...args: any[]) => T, entityId: string | undefined): T | undefined;
6
- static getInstanceByIdOrFail<T extends Entity>(this: new (...args: any[]) => T, entityId: string): T;
7
- static getEntities<T extends Entity>(this: new (...args: any[]) => T): T[];
8
- private viewCreationHelper;
1
+ import { Attachable, IDAttachable } from 'actions-lib';
2
+ export type EntityClassType<T extends Entity = Entity> = (new (...args: any[]) => T) & {
3
+ id: number;
4
+ };
5
+ export declare function EntityDecorator(): <T extends Entity>(EntityClass: EntityClassType<T>) => any;
6
+ export declare abstract class Entity extends IDAttachable {
7
+ static getInstanceByID<T extends Entity>(this: EntityClassType<T>, entityID: number | undefined): T | undefined;
8
+ static getInstanceByIDOrFail<T extends Entity>(this: EntityClassType<T>, entityID: number): T;
9
+ static getEntities<T extends Entity>(this: EntityClassType<T>): T[];
9
10
  constructor();
10
11
  destroy(): void;
11
- attach(parent: Attachable | string): this;
12
+ attach(parent: Attachable): this;
13
+ attachByID(id: number): this;
12
14
  attachToRoot(): this;
13
15
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Entity = exports.EntityDecorator = void 0;
4
- const attachable_1 = require("../base/attachable");
4
+ const actions_lib_1 = require("actions-lib");
5
5
  const update_cycle_1 = require("../update-cycle");
6
6
  const entity_store_helper_1 = require("./helpers/entity-store.helper");
7
7
  const entity_views_helper_1 = require("./helpers/entity-views.helper");
@@ -14,16 +14,16 @@ function EntityDecorator() {
14
14
  };
15
15
  }
16
16
  exports.EntityDecorator = EntityDecorator;
17
- class Entity extends attachable_1.Attachable {
18
- static getInstanceById(entityId) {
19
- if (entityId) {
20
- return entity_store_helper_1.EntityStoreHelper.getIdToEntityMap(this).get(entityId);
17
+ class Entity extends actions_lib_1.IDAttachable {
18
+ static getInstanceByID(entityID) {
19
+ if (entityID) {
20
+ return entity_store_helper_1.EntityStoreHelper.getEntity(this, entityID);
21
21
  }
22
22
  }
23
- static getInstanceByIdOrFail(entityId) {
24
- let entity = entity_store_helper_1.EntityStoreHelper.getIdToEntityMap(this).get(entityId);
23
+ static getInstanceByIDOrFail(entityID) {
24
+ let entity = entity_store_helper_1.EntityStoreHelper.getEntity(this, entityID);
25
25
  if (!entity) {
26
- throw new Error(`Entity: entity is not found! Name: "${this.name}", id: "${entityId}"`);
26
+ throw new Error(`Entity: entity is not found! Name: "${this.name}", id: "${entityID}"`);
27
27
  }
28
28
  return entity;
29
29
  }
@@ -32,34 +32,38 @@ class Entity extends attachable_1.Attachable {
32
32
  }
33
33
  constructor() {
34
34
  super();
35
- this.viewCreationHelper = new entity_views_helper_1.EntityViewsHelper(this);
35
+ /** @internal */
36
+ this._viewCreationHelper = new entity_views_helper_1.EntityViewsHelper(this);
36
37
  entity_store_helper_1.EntityStoreHelper.registerEntity(this);
37
38
  update_cycle_1.UpdateCycle.sceneUpdateAction
38
39
  .subscribe(updateData => {
39
40
  if (!this.destroyed) {
40
41
  this.update(updateData.time, updateData.delta);
41
- this.viewCreationHelper.updateViews(updateData.time, updateData.delta);
42
+ this._viewCreationHelper.updateViews(updateData.time, updateData.delta);
42
43
  }
43
44
  })
44
45
  .attach(this);
45
46
  }
46
47
  destroy() {
47
48
  if (!this.destroyed) {
48
- this.viewCreationHelper.destroyViews();
49
- entity_store_helper_1.EntityStoreHelper.unregisterEntity(this.constructor.name, this.id);
49
+ this._viewCreationHelper.destroyViews();
50
+ entity_store_helper_1.EntityStoreHelper.unregisterEntity(this.constructor, this.id);
50
51
  super.destroy();
51
52
  }
52
53
  }
53
- // make the destroy function non-internal
54
54
  attach(parent) {
55
55
  super.attach(parent);
56
- this.viewCreationHelper.createViews();
56
+ this._viewCreationHelper.createViews();
57
+ return this;
58
+ }
59
+ attachByID(id) {
60
+ super.attachByID(id);
61
+ this._viewCreationHelper.createViews();
57
62
  return this;
58
63
  }
59
- // make the destroy function non-internal
60
64
  attachToRoot() {
61
65
  super.attachToRoot();
62
- this.viewCreationHelper.createViews();
66
+ this._viewCreationHelper.createViews();
63
67
  return this;
64
68
  }
65
69
  /** @internal */
@@ -1,137 +1,38 @@
1
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
2
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
7
  };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
31
8
  var __metadata = (this && this.__metadata) || function (k, v) {
32
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
10
  };
34
11
  Object.defineProperty(exports, "__esModule", { value: true });
35
- const ActionsLib = __importStar(require("actions-lib"));
36
- const helpers_lib_1 = require("helpers-lib");
12
+ const actions_lib_1 = require("actions-lib");
37
13
  const vitest_1 = require("vitest");
38
- const decorate_actions_lib_1 = require("../base/helpers/decorate-actions-lib");
14
+ const hard_reset_1 = require("../hard-reset");
39
15
  const scene_1 = require("../scene/scene");
40
16
  const update_cycle_1 = require("../update-cycle");
41
17
  const view_1 = require("../view/view");
42
18
  const entity_1 = require("./entity");
43
- decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
44
19
  (0, vitest_1.describe)('ENTITY', () => {
45
20
  (0, vitest_1.beforeEach)(() => {
46
- update_cycle_1.UpdateCycle.hardResetAction.trigger();
21
+ hard_reset_1.BardLegendsHardReset.hardReset();
47
22
  let SampleScene = class SampleScene extends scene_1.Scene {
48
- async init() { }
23
+ init() {
24
+ return actions_lib_1.SingleEvent.instant();
25
+ }
49
26
  update() { }
50
- async prepareToClose() { }
27
+ prepareToClose() {
28
+ return actions_lib_1.SingleEvent.instant();
29
+ }
51
30
  };
52
31
  SampleScene = __decorate([
53
32
  (0, scene_1.SceneDecorator)()
54
33
  ], SampleScene);
55
34
  SampleScene.open();
56
35
  });
57
- (0, vitest_1.test)('entities should have ids', () => {
58
- let Sample = class Sample extends entity_1.Entity {
59
- };
60
- Sample = __decorate([
61
- (0, entity_1.EntityDecorator)()
62
- ], Sample);
63
- let sample = new Sample().attach(scene_1.Scene.getActiveSceneOrFail());
64
- (0, vitest_1.expect)(sample.id).toBeDefined();
65
- });
66
- (0, vitest_1.test)('entities ids should be unique', () => {
67
- let BaseEntity = class BaseEntity extends entity_1.Entity {
68
- };
69
- BaseEntity = __decorate([
70
- (0, entity_1.EntityDecorator)()
71
- ], BaseEntity);
72
- let baseEntity = new BaseEntity().attach(scene_1.Scene.getActiveSceneOrFail());
73
- let Sample = class Sample extends entity_1.Entity {
74
- };
75
- Sample = __decorate([
76
- (0, entity_1.EntityDecorator)()
77
- ], Sample);
78
- let sample1 = new Sample().attach(baseEntity);
79
- let sample2 = new Sample().attach(baseEntity);
80
- (0, vitest_1.expect)(sample1.id !== sample2.id).toBeTruthy();
81
- });
82
- (0, vitest_1.test)('class names should be unique', () => {
83
- (0, vitest_1.expect)(() => {
84
- {
85
- let _Sample = class _Sample extends entity_1.Entity {
86
- };
87
- _Sample = __decorate([
88
- (0, entity_1.EntityDecorator)()
89
- ], _Sample);
90
- }
91
- {
92
- let _Sample = class _Sample extends entity_1.Entity {
93
- };
94
- _Sample = __decorate([
95
- (0, entity_1.EntityDecorator)()
96
- ], _Sample);
97
- }
98
- }).toThrow();
99
- });
100
- (0, vitest_1.test)('attach', async () => {
101
- var Child_1;
102
- let Parent = class Parent extends entity_1.Entity {
103
- };
104
- Parent = __decorate([
105
- (0, entity_1.EntityDecorator)()
106
- ], Parent);
107
- let Child = class Child extends entity_1.Entity {
108
- static { Child_1 = this; }
109
- static { this.destroyCalled = false; }
110
- destroy() {
111
- if (!this.destroyed) {
112
- Child_1.destroyCalled = true;
113
- super.destroy();
114
- }
115
- }
116
- };
117
- Child = Child_1 = __decorate([
118
- (0, entity_1.EntityDecorator)()
119
- ], Child);
120
- let parent = new Parent().attach(scene_1.Scene.getActiveSceneOrFail());
121
- new Child().attach(parent);
122
- parent.destroy();
123
- await update_cycle_1.UpdateCycle.triggerUpdateTick(1); // Update cycle should take place to destroy functions to be called
124
- (0, vitest_1.expect)(Child.destroyCalled).toBeTruthy();
125
- });
126
- (0, vitest_1.test)('decorator should not effect static variables', () => {
127
- let Sample = class Sample extends entity_1.Entity {
128
- static { this.test = 'test'; }
129
- };
130
- Sample = __decorate([
131
- (0, entity_1.EntityDecorator)()
132
- ], Sample);
133
- (0, vitest_1.expect)(Sample.test).toEqual('test');
134
- });
135
36
  (0, vitest_1.test)('get entity by id basic sample', () => {
136
37
  let Sample = class Sample extends entity_1.Entity {
137
38
  };
@@ -139,35 +40,45 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
139
40
  (0, entity_1.EntityDecorator)()
140
41
  ], Sample);
141
42
  let sample = new Sample().attach(scene_1.Scene.getActiveSceneOrFail());
142
- (0, vitest_1.expect)(Sample.getInstanceById(sample.id)).toEqual(sample);
43
+ (0, vitest_1.expect)(Sample.getInstanceByID(sample.id)).toEqual(sample);
143
44
  });
144
45
  (0, vitest_1.test)('get entity by id or fail should return error', () => {
145
46
  let Sample1 = class Sample1 extends entity_1.Entity {
47
+ constructor(foo) {
48
+ super();
49
+ this.foo = foo;
50
+ }
146
51
  };
147
52
  Sample1 = __decorate([
148
- (0, entity_1.EntityDecorator)()
53
+ (0, entity_1.EntityDecorator)(),
54
+ __metadata("design:paramtypes", [String])
149
55
  ], Sample1);
150
56
  let Sample2 = class Sample2 extends entity_1.Entity {
57
+ constructor(foo) {
58
+ super();
59
+ this.foo = foo;
60
+ }
151
61
  };
152
62
  Sample2 = __decorate([
153
- (0, entity_1.EntityDecorator)()
63
+ (0, entity_1.EntityDecorator)(),
64
+ __metadata("design:paramtypes", [String])
154
65
  ], Sample2);
155
- let sample1 = new Sample1().attach(scene_1.Scene.getActiveSceneOrFail());
156
- new Sample2().attach(sample1);
157
- (0, vitest_1.expect)(() => Sample2.getInstanceByIdOrFail(sample1.id)).toThrow();
158
- (0, vitest_1.expect)(() => Sample2.getInstanceByIdOrFail('notValidId')).toThrow();
66
+ // Foo is added to see that there should not be type complaining about the constructor parameters
67
+ let sample1 = new Sample1('foo').attach(scene_1.Scene.getActiveSceneOrFail());
68
+ new Sample2('foo').attach(sample1);
69
+ (0, vitest_1.expect)(() => Sample2.getInstanceByIDOrFail(sample1.id)).toThrow();
70
+ (0, vitest_1.expect)(() => Sample2.getInstanceByIDOrFail(-1)).toThrow();
159
71
  });
160
- (0, vitest_1.test)('destroyed entities should not be reached by getInstanceById', async () => {
72
+ (0, vitest_1.test)('destroyed entities should not be reached by getInstanceByID', () => {
161
73
  let Sample = class Sample extends entity_1.Entity {
162
74
  };
163
75
  Sample = __decorate([
164
76
  (0, entity_1.EntityDecorator)()
165
77
  ], Sample);
166
78
  let sample = new Sample().attach(scene_1.Scene.getActiveSceneOrFail());
167
- (0, vitest_1.expect)(Sample.getInstanceById(sample.id)).toBeDefined();
79
+ (0, vitest_1.expect)(Sample.getInstanceByID(sample.id)).toBeDefined();
168
80
  sample.destroy();
169
- await update_cycle_1.UpdateCycle.triggerUpdateTick(1); // Update cycle should take place to destroy functions to be called
170
- (0, vitest_1.expect)(Sample.getInstanceById(sample.id)).toBeUndefined();
81
+ (0, vitest_1.expect)(Sample.getInstanceByID(sample.id)).toBeUndefined();
171
82
  });
172
83
  (0, vitest_1.test)('select entities', () => {
173
84
  let BaseEntity = class BaseEntity extends entity_1.Entity {
@@ -185,25 +96,77 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
185
96
  let sample2 = new Sample().attach(baseEntity);
186
97
  (0, vitest_1.expect)(Sample.getEntities()).toEqual([sample1, sample2]);
187
98
  });
188
- (0, vitest_1.test)('lifecycle events', async () => {
189
- scene_1.Scene.activeScene.set(undefined);
99
+ (0, vitest_1.test)('decorator should not complain aboutentity with constructor parameters', () => {
100
+ let _Sample = class _Sample extends entity_1.Entity {
101
+ constructor(foo) {
102
+ super();
103
+ this.foo = foo;
104
+ }
105
+ };
106
+ _Sample = __decorate([
107
+ (0, entity_1.EntityDecorator)(),
108
+ __metadata("design:paramtypes", [String])
109
+ ], _Sample);
110
+ });
111
+ (0, vitest_1.test)('if entity get destroyed, the update should not be called', () => {
112
+ scene_1.Scene['_activeScene'].set(undefined);
113
+ let updateCount = 0;
114
+ let entity;
115
+ let _SampleScene = class _SampleScene extends scene_1.Scene {
116
+ init() {
117
+ return actions_lib_1.SingleEvent.instant();
118
+ }
119
+ update() {
120
+ if (entity) {
121
+ entity.destroy();
122
+ entity = undefined;
123
+ }
124
+ }
125
+ prepareToClose() {
126
+ return actions_lib_1.SingleEvent.instant();
127
+ }
128
+ };
129
+ _SampleScene = __decorate([
130
+ (0, scene_1.SceneDecorator)()
131
+ ], _SampleScene);
132
+ let Sample = class Sample extends entity_1.Entity {
133
+ update() {
134
+ updateCount++;
135
+ }
136
+ };
137
+ Sample = __decorate([
138
+ (0, entity_1.EntityDecorator)()
139
+ ], Sample);
140
+ _SampleScene.open();
141
+ (0, vitest_1.expect)(scene_1.Scene.getActiveScene()).toEqual(_SampleScene.getInstance());
142
+ (0, vitest_1.expect)(scene_1.Scene.getActiveScene()).toBeDefined();
143
+ entity = new Sample().attach(scene_1.Scene.getActiveSceneOrFail());
144
+ (0, vitest_1.expect)(updateCount).toEqual(0);
145
+ update_cycle_1.UpdateCycle.triggerUpdateTick(1);
146
+ (0, vitest_1.expect)(updateCount).toEqual(0);
147
+ });
148
+ (0, vitest_1.test)('lifecycle events', () => {
149
+ scene_1.Scene['_activeScene'].set(undefined);
190
150
  let callStack = [];
191
151
  let SampleScene = class SampleScene extends scene_1.Scene {
192
152
  constructor() {
193
153
  super();
194
154
  callStack.push('scene constructor');
195
- this.onDestroy
196
- .subscribe(() => {
155
+ this.onDestroy()
156
+ .tap(() => {
197
157
  callStack.push('scene destroy');
198
158
  })
199
- .attach(this);
159
+ .attachToRoot();
160
+ }
161
+ init() {
162
+ return actions_lib_1.SingleEvent.instant();
200
163
  }
201
- async init() { }
202
164
  update() {
203
165
  callStack.push('scene update');
204
166
  }
205
- async prepareToClose() {
167
+ prepareToClose() {
206
168
  callStack.push('scene prepare to close');
169
+ return actions_lib_1.SingleEvent.instant();
207
170
  }
208
171
  };
209
172
  SampleScene = __decorate([
@@ -211,9 +174,13 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
211
174
  __metadata("design:paramtypes", [])
212
175
  ], SampleScene);
213
176
  let OtherScene = class OtherScene extends scene_1.Scene {
214
- async init() { }
177
+ init() {
178
+ return actions_lib_1.SingleEvent.instant();
179
+ }
215
180
  update() { }
216
- async prepareToClose() { }
181
+ prepareToClose() {
182
+ return actions_lib_1.SingleEvent.instant();
183
+ }
217
184
  };
218
185
  OtherScene = __decorate([
219
186
  (0, scene_1.SceneDecorator)()
@@ -222,12 +189,11 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
222
189
  constructor() {
223
190
  super();
224
191
  callStack.push('entity constructor');
225
- this.onDestroy
226
- .subscribe(() => {
227
- console.log('entity destroy');
192
+ this.onDestroy()
193
+ .tap(() => {
228
194
  callStack.push('entity destroy');
229
195
  })
230
- .attach(this);
196
+ .attachToRoot();
231
197
  }
232
198
  update() {
233
199
  callStack.push('entity update');
@@ -238,14 +204,14 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
238
204
  __metadata("design:paramtypes", [])
239
205
  ], Sample);
240
206
  let _SampleView = class _SampleView extends view_1.View {
241
- constructor(entity) {
207
+ constructor(_) {
242
208
  super();
243
209
  callStack.push('view constructor');
244
- this.onDestroy
245
- .subscribe(() => {
210
+ this.onDestroy()
211
+ .tap(() => {
246
212
  callStack.push('view destroy');
247
213
  })
248
- .attach(this);
214
+ .attachToRoot();
249
215
  }
250
216
  update() {
251
217
  callStack.push('view update');
@@ -255,17 +221,19 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
255
221
  (0, view_1.ViewDecorator)({ entity: Sample }),
256
222
  __metadata("design:paramtypes", [Sample])
257
223
  ], _SampleView);
258
- SampleScene.open();
259
- await (0, helpers_lib_1.Wait)(); // Wait for the async scene open to be done
260
- await update_cycle_1.UpdateCycle.triggerUpdateTick(1);
261
- new Sample().attach(SampleScene.getInstanceOrFail());
262
- await (0, helpers_lib_1.Wait)(); // Wait for the async view init to expect the update call
263
- await update_cycle_1.UpdateCycle.triggerUpdateTick(1);
264
- SampleScene.getInstanceOrFail().close();
265
- await (0, helpers_lib_1.Wait)(); // Wait for the async scene close to be done
266
- OtherScene.open();
267
- await (0, helpers_lib_1.Wait)(); // Wait for the async scene open to be done
268
- await update_cycle_1.UpdateCycle.triggerUpdateTick(1); // Update cycle should take place to destroy functions to be called
224
+ let finalized = false;
225
+ SampleScene.open()
226
+ .asyncMap(() => {
227
+ update_cycle_1.UpdateCycle.triggerUpdateTick(1);
228
+ new Sample().attach(SampleScene.getInstanceOrFail());
229
+ update_cycle_1.UpdateCycle.triggerUpdateTick(1);
230
+ return SampleScene.getInstanceOrFail().close();
231
+ })
232
+ .asyncMap(() => OtherScene.open())
233
+ .tap(() => {
234
+ finalized = true;
235
+ })
236
+ .attachToRoot();
269
237
  (0, vitest_1.expect)(callStack).toEqual([
270
238
  'scene constructor',
271
239
  'scene update',
@@ -279,6 +247,7 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
279
247
  'entity destroy',
280
248
  'scene destroy'
281
249
  ]);
250
+ (0, vitest_1.expect)(finalized).toBeTruthy();
282
251
  });
283
252
  });
284
253
  //# sourceMappingURL=entity.test.js.map