bard-legends-framework 0.9.6 → 0.10.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 (241) hide show
  1. package/dist/_interfaces/index.d.ts +2 -2
  2. package/dist/_interfaces/index.js +2 -3
  3. package/dist/game-entities/attachable/attachable.d.ts +6 -6
  4. package/dist/game-entities/attachable/attachable.js +28 -30
  5. package/dist/game-entities/attachable/attachable.spec.js +129 -128
  6. package/dist/game-entities/attachable/attachable.store.d.ts +5 -5
  7. package/dist/game-entities/attachable/attachable.store.js +34 -32
  8. package/dist/game-entities/attachable/attachable.test.js +132 -131
  9. package/dist/game-entities/attachable/destroyable.d.ts +13 -13
  10. package/dist/game-entities/attachable/destroyable.js +64 -69
  11. package/dist/game-entities/attachable/helpers/decorate-actions-lib.d.ts +15 -15
  12. package/dist/game-entities/attachable/helpers/decorate-actions-lib.js +125 -116
  13. package/dist/game-entities/attachable/helpers/referance-variable.d.ts +15 -15
  14. package/dist/game-entities/attachable/helpers/referance-variable.js +47 -48
  15. package/dist/game-entities/attachable/interfaces.d.ts +6 -6
  16. package/dist/game-entities/attachable/interfaces.js +2 -3
  17. package/dist/game-entities/base/helpers/decorate-actions-lib.js +0 -1
  18. package/dist/game-entities/controller/controller.js +0 -1
  19. package/dist/game-entities/controller/controller.spec.js +128 -125
  20. package/dist/game-entities/entity/entity.d.ts +4 -1
  21. package/dist/game-entities/entity/entity.js +5 -5
  22. package/dist/game-entities/entity/entity.spec.js +263 -293
  23. package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +7 -7
  24. package/dist/game-entities/entity/helpers/view-creation.helper.js +48 -48
  25. package/dist/game-entities/scene/scene.spec.js +219 -223
  26. package/dist/game-entities/service/service.js +0 -4
  27. package/dist/game-entities/service/service.spec.js +265 -237
  28. package/dist/game-entities/service/service.test.js +4 -2
  29. package/dist/game-entities/update-loop.d.ts +18 -18
  30. package/dist/game-entities/update-loop.js +46 -28
  31. package/dist/game-entities/view/view.spec.js +490 -506
  32. package/dist/game-entities/view/view.test.js +1 -1
  33. package/dist/lib/animator/animations.d.ts +13 -13
  34. package/dist/lib/animator/animations.js +43 -40
  35. package/dist/lib/animator/animator.d.ts +41 -41
  36. package/dist/lib/animator/animator.js +194 -197
  37. package/dist/lib/animator/animator.spec.js +699 -612
  38. package/dist/lib/animator/index.js +24 -19
  39. package/dist/lib/libraries/animator/animations.d.ts +13 -13
  40. package/dist/lib/libraries/animator/animations.js +43 -40
  41. package/dist/lib/libraries/animator/animator.d.ts +41 -41
  42. package/dist/lib/libraries/animator/animator.js +194 -197
  43. package/dist/lib/libraries/animator/animator.spec.js +699 -612
  44. package/dist/lib/libraries/animator/index.js +24 -19
  45. package/dist/lib/libraries/path-finder/path-finder.d.ts +2 -2
  46. package/dist/lib/libraries/path-finder/path-finder.js +19 -20
  47. package/dist/lib/path-finder/path-finder.d.ts +2 -2
  48. package/dist/lib/path-finder/path-finder.js +19 -20
  49. package/dist/lib/services/keyboard/keyboard.d.ts +4 -4
  50. package/dist/lib/services/keyboard/keyboard.js +39 -31
  51. package/dist/lib/services/mouse/mouse.service.d.ts +8 -8
  52. package/dist/lib/services/mouse/mouse.service.js +65 -53
  53. package/dist/lib/services/mouse/mouser-target-focus.service.d.ts +11 -11
  54. package/dist/lib/services/mouse/mouser-target-focus.service.js +83 -81
  55. package/dist/lib/update-loop.d.ts +10 -10
  56. package/dist/lib/update-loop.js +35 -27
  57. package/dist/physics/entitity-types/immovable-physics-entity.d.ts +6 -6
  58. package/dist/physics/entitity-types/immovable-physics-entity.js +23 -24
  59. package/dist/physics/entitity-types/movable-entity.d.ts +6 -6
  60. package/dist/physics/entitity-types/movable-entity.js +21 -22
  61. package/dist/physics/entitity-types/movable-physics-entity.d.ts +14 -14
  62. package/dist/physics/entitity-types/movable-physics-entity.js +83 -88
  63. package/dist/physics/entitity-types/physics-entity.d.ts +23 -23
  64. package/dist/physics/entitity-types/physics-entity.js +97 -88
  65. package/dist/physics/helpers/closest-available-space.helper.d.ts +16 -16
  66. package/dist/physics/helpers/closest-available-space.helper.js +98 -96
  67. package/dist/physics/helpers/closest-available-space.helper.spec.js +115 -68
  68. package/dist/physics/helpers/p2js.helper.d.ts +3 -3
  69. package/dist/physics/helpers/p2js.helper.js +21 -22
  70. package/dist/physics/helpers/shape-factory.d.ts +9 -4
  71. package/dist/physics/helpers/shape-factory.js +99 -75
  72. package/dist/physics/libs/p2js.helper.js +1 -1
  73. package/dist/physics/libs/position-to-grid-position-converter.d.ts +3 -3
  74. package/dist/physics/libs/position-to-grid-position-converter.js +15 -13
  75. package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +10 -5
  76. package/dist/physics/module//360/237/223/220services/availability-grid.service.js +77 -57
  77. package/dist/physics/module//360/237/223/220services/border.service.d.ts +2 -2
  78. package/dist/physics/module//360/237/223/220services/border.service.js +57 -37
  79. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +1 -1
  80. package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +7 -7
  81. package/dist/physics/module//360/237/223/220services/collisions.service.js +110 -98
  82. package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +28 -6
  83. package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +121 -89
  84. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +15 -7
  85. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +117 -93
  86. package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -7
  87. package/dist/physics/module//360/237/223/220services/explosion.service.js +102 -77
  88. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.d.ts +15 -7
  89. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.js +117 -93
  90. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.d.ts +14 -7
  91. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.js +102 -77
  92. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.d.ts +3 -3
  93. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.js +71 -67
  94. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +3 -3
  95. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -67
  96. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +1 -1
  97. package/dist/physics/module//360/237/223/220services/materials.service.d.ts +16 -11
  98. package/dist/physics/module//360/237/223/220services/materials.service.js +118 -108
  99. package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +19 -8
  100. package/dist/physics/module//360/237/223/220services/path-finder.service.js +121 -82
  101. package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +30 -15
  102. package/dist/physics/module//360/237/223/220services/physics-world.service.js +122 -100
  103. package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +3 -3
  104. package/dist/physics/module//360/237/223/220services/ray-casting.service.js +87 -86
  105. package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -4
  106. package/dist/physics/module//360/237/223/220services/shape-creation.service.js +113 -84
  107. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +2 -1
  108. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +8 -8
  109. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +32 -33
  110. package/dist/physics/physics-world.d.ts +50 -34
  111. package/dist/physics/physics-world.js +142 -133
  112. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.d.ts +3 -3
  113. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js +15 -13
  114. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.d.ts +9 -9
  115. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js +82 -77
  116. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.d.ts +18 -14
  117. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js +91 -79
  118. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.d.ts +11 -11
  119. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.js +84 -76
  120. package/dist/physics/sub-elements/collisions/physics-collision.d.ts +7 -7
  121. package/dist/physics/sub-elements/collisions/physics-collision.js +43 -44
  122. package/dist/physics/sub-elements/elements/physics-body-groups.d.ts +11 -11
  123. package/dist/physics/sub-elements/elements/physics-body-groups.js +54 -54
  124. package/dist/physics/sub-elements/elements/physics-materials.d.ts +15 -10
  125. package/dist/physics/sub-elements/elements/physics-materials.js +101 -100
  126. package/dist/physics/sub-elements/elements/physics-world-borders.d.ts +3 -3
  127. package/dist/physics/sub-elements/elements/physics-world-borders.js +69 -45
  128. package/dist/physics/sub-elements/physics-body-groups.d.ts +8 -8
  129. package/dist/physics/sub-elements/physics-body-groups.js +41 -42
  130. package/dist/physics/sub-elements/physics-collision.d.ts +16 -16
  131. package/dist/physics/sub-elements/physics-collision.js +141 -121
  132. package/dist/physics/sub-elements/physics-materials.d.ts +15 -10
  133. package/dist/physics/sub-elements/physics-materials.js +101 -100
  134. package/dist/physics/sub-elements/physics-world-borders.d.ts +2 -2
  135. package/dist/physics/sub-elements/physics-world-borders.js +25 -26
  136. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.d.ts +15 -11
  137. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.js +59 -59
  138. package/dist/physics/sub-elements/raycasting/physics-explosion.d.ts +13 -6
  139. package/dist/physics/sub-elements/raycasting/physics-explosion.js +108 -73
  140. package/dist/physics/sub-elements/raycasting/ray-cast.d.ts +19 -19
  141. package/dist/physics/sub-elements/raycasting/ray-cast.js +93 -98
  142. package/dist/pixi/display-object/components/filters.d.ts +18 -18
  143. package/dist/pixi/display-object/components/filters.js +106 -81
  144. package/dist/pixi/display-object/components/glow-effect.d.ts +8 -8
  145. package/dist/pixi/display-object/components/glow-effect.js +33 -36
  146. package/dist/pixi/display-object/components/glow-filter.d.ts +8 -8
  147. package/dist/pixi/display-object/components/glow-filter.js +33 -36
  148. package/dist/pixi/display-object/container-attributes.js +1 -1
  149. package/dist/pixi/display-object/display-object-attributes.d.ts +41 -41
  150. package/dist/pixi/display-object/display-object-attributes.js +148 -150
  151. package/dist/pixi/display-object/display-object.d.ts +17 -17
  152. package/dist/pixi/display-object/display-object.js +79 -75
  153. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.d.ts +9 -4
  154. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.js +89 -77
  155. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +30 -30
  156. package/dist/pixi/display-object/filters/base-filters/contrast-filter.d.ts +9 -4
  157. package/dist/pixi/display-object/filters/base-filters/contrast-filter.js +62 -53
  158. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.d.ts +10 -5
  159. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.js +93 -81
  160. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.d.ts +12 -7
  161. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.js +120 -109
  162. package/dist/pixi/display-object/filters/base-filters/expand-with-color.d.ts +10 -5
  163. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +32 -32
  164. package/dist/pixi/display-object/filters/base-filters/expand-with-color.js +92 -85
  165. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +28 -28
  166. package/dist/pixi/display-object/filters/templates/plane.template.js +20 -20
  167. package/dist/pixi/display-object/filters.js +20 -4
  168. package/dist/pixi/display-object/objects/components/filters.d.ts +18 -18
  169. package/dist/pixi/display-object/objects/components/filters.js +106 -81
  170. package/dist/pixi/display-object/objects/container.d.ts +2 -2
  171. package/dist/pixi/display-object/objects/container.js +39 -30
  172. package/dist/pixi/display-object/objects/graphics.d.ts +28 -28
  173. package/dist/pixi/display-object/objects/graphics.js +218 -202
  174. package/dist/pixi/display-object/objects/helpers/filters.d.ts +25 -25
  175. package/dist/pixi/display-object/objects/helpers/filters.js +150 -124
  176. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.d.ts +7 -7
  177. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.js +114 -95
  178. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.d.ts +5 -5
  179. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.js +81 -57
  180. package/dist/pixi/display-object/objects/sprite.d.ts +43 -43
  181. package/dist/pixi/display-object/objects/sprite.js +248 -233
  182. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +1 -1
  183. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +9 -9
  184. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +1 -1
  185. package/dist/pixi/display-object/objects/text.d.ts +25 -25
  186. package/dist/pixi/display-object/objects/text.js +111 -102
  187. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.d.ts +13 -9
  188. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.js +96 -67
  189. package/dist/pixi/game.d.ts +1 -1
  190. package/dist/pixi/game.js +2 -2
  191. package/dist/pixi/helpers/glow-sprite-generator.d.ts +6 -6
  192. package/dist/pixi/helpers/glow-sprite-generator.js +99 -84
  193. package/dist/pixi/helpers/pixi-container.helper.d.ts +1 -1
  194. package/dist/pixi/helpers/pixi-container.helper.js +10 -8
  195. package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +1 -1
  196. package/dist/pixi/helpers/screen-position-to-stage.helper.js +12 -12
  197. package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +174 -79
  198. package/dist/pixi/modules/CAMERA/index.d.ts +1 -1
  199. package/dist/pixi/modules/CAMERA/index.js +3 -3
  200. package/dist/pixi/modules/CAMERA//360/237/247/212entities/camera.entity.js +1 -1
  201. package/dist/services/keyboard/keyboard.d.ts +4 -4
  202. package/dist/services/keyboard/keyboard.js +39 -31
  203. package/dist/services/mouse/mouse.service.d.ts +8 -8
  204. package/dist/services/mouse/mouse.service.js +65 -53
  205. package/dist/services/mouse/mouser-target-focus.service.d.ts +11 -11
  206. package/dist/services/mouse/mouser-target-focus.service.js +83 -81
  207. package/dist/utilities/libraries/animator/animating-content/state-animation.d.ts +29 -26
  208. package/dist/utilities/libraries/animator/animating-content/state-animation.js +159 -165
  209. package/dist/utilities/libraries/animator/animating-content/state-animation.test.js +386 -375
  210. package/dist/utilities/libraries/animator/animator.spec.js +765 -656
  211. package/dist/utilities/libraries/binary-heap/binary-heap.d.ts +11 -11
  212. package/dist/utilities/libraries/binary-heap/binary-heap.js +79 -81
  213. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.d.ts +11 -11
  214. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.js +79 -81
  215. package/dist/utilities/libraries/data-structures/grid/grid.d.ts +35 -31
  216. package/dist/utilities/libraries/data-structures/grid/grid.js +128 -117
  217. package/dist/utilities/libraries/data-structures/grid/grid.spec.js +176 -138
  218. package/dist/utilities/libraries/data-structures/grid/grid.test.js +218 -141
  219. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.d.ts +3 -3
  220. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.js +15 -13
  221. package/dist/utilities/libraries/data-structures/queue/queue.d.ts +21 -21
  222. package/dist/utilities/libraries/data-structures/queue/queue.js +63 -66
  223. package/dist/utilities/libraries/data-structures/queue/queue.test.js +54 -55
  224. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.spec.js +122 -68
  225. package/dist/utilities/libraries/grid-algorithms/path-finder/path-finder.spec.js +140 -135
  226. package/dist/utilities/libraries/grid-algorithms/vector-field-path-finder/vector-field-path-finder.spec.js +293 -229
  227. package/dist/utilities/libraries/path-finder/path-finder.d.ts +7 -7
  228. package/dist/utilities/libraries/path-finder/path-finder.js +113 -109
  229. package/dist/utilities/libraries/path-finder/path-finder.spec.js +131 -106
  230. package/dist/utilities/services/keyboard/keyboard.d.ts +4 -4
  231. package/dist/utilities/services/keyboard/keyboard.js +42 -34
  232. package/dist/utilities/services/mouse/helpers/mouse-position.helper.d.ts +1 -1
  233. package/dist/utilities/services/mouse/helpers/mouse-position.helper.js +12 -12
  234. package/dist/utilities/services/mouse/helpers/mouse-position.helper.test.js +168 -73
  235. package/dist/utilities/services/mouse/mouse-target-focus.service.d.ts +15 -15
  236. package/dist/utilities/services/mouse/mouse-target-focus.service.js +79 -76
  237. package/dist/utilities/services/mouse/mouse.service.d.ts +9 -9
  238. package/dist/utilities/services/mouse/mouse.service.js +86 -72
  239. package/dist/utilities/services/mouse/mouser-target-focus.service.d.ts +11 -11
  240. package/dist/utilities/services/mouse/mouser-target-focus.service.js +83 -81
  241. package/package.json +8 -13
@@ -1,128 +1,131 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
1
+ var __decorate =
2
+ (this && this.__decorate) ||
3
+ ((decorators, target, key, desc) => {
4
+ var c = arguments.length,
5
+ r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc,
6
+ d;
7
+ if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
8
+ r = Reflect.decorate(decorators, target, key, desc);
9
+ else
10
+ for (var i = decorators.length - 1; i >= 0; i--)
11
+ if ((d = decorators[i])) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
12
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const vitest_1 = require("vitest");
10
- const update_loop_1 = require("../update-loop");
11
- const controller_1 = require("./controller");
12
- const service_1 = require("../service/service");
13
+ });
14
+ Object.defineProperty(exports, '__esModule', { value: true });
15
+ const vitest_1 = require('vitest');
16
+ const update_loop_1 = require('../update-loop');
17
+ const controller_1 = require('./controller');
18
+ const service_1 = require('../service/service');
13
19
  (0, vitest_1.describe)('CONTROLLER', () => {
14
- (0, vitest_1.beforeEach)(() => {
15
- update_loop_1.UpdateCycle.hardResetAction.trigger();
16
- });
17
- (0, vitest_1.test)('when gateway triggers service link, it should trigger the controller function', () => {
18
- let SampleLink = new controller_1.ControllerLink();
19
- let Gateway = class Gateway {
20
- test(data) {
21
- SampleLink.trigger('testFunction', data);
22
- }
23
- };
24
- Gateway = __decorate([
25
- (0, service_1.ServiceDecorator)()
26
- ], Gateway);
27
- let triggeredData;
28
- let Controller = class Controller {
29
- testFunction(data) {
30
- triggeredData = data;
31
- }
32
- };
33
- Controller = __decorate([
34
- (0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })
35
- ], Controller);
36
- let gateway = new Gateway();
37
- let sampleData = 'sampleData';
38
- gateway.test(sampleData);
39
- (0, vitest_1.expect)(triggeredData).toEqual(sampleData);
40
- });
41
- (0, vitest_1.test)('there can be multiple controllers linked to one gateway', () => {
42
- var Controller1_1, Controller2_1;
43
- let SampleLink = new controller_1.ControllerLink();
44
- let Gateway = class Gateway {
45
- test1(data) {
46
- SampleLink.trigger('testFunction1', data);
47
- }
48
- test2(data) {
49
- SampleLink.trigger('testFunction2', data);
50
- }
51
- };
52
- Gateway = __decorate([
53
- (0, service_1.ServiceDecorator)()
54
- ], Gateway);
55
- let Controller1 = class Controller1 {
56
- static { Controller1_1 = this; }
57
- testFunction1(data) {
58
- Controller1_1.data = data;
59
- }
60
- };
61
- Controller1 = Controller1_1 = __decorate([
62
- (0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })
63
- ], Controller1);
64
- let Controller2 = class Controller2 {
65
- static { Controller2_1 = this; }
66
- testFunction2(data) {
67
- Controller2_1.data = data;
68
- }
69
- };
70
- Controller2 = Controller2_1 = __decorate([
71
- (0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })
72
- ], Controller2);
73
- let gateway = new Gateway();
74
- let sampleData1 = 'sampleData1';
75
- let sampleData2 = 'sampleData2';
76
- gateway.test1(sampleData1);
77
- gateway.test2(sampleData2);
78
- (0, vitest_1.expect)(Controller1.data).toEqual(sampleData1);
79
- (0, vitest_1.expect)(Controller2.data).toEqual(sampleData2);
80
- });
81
- (0, vitest_1.test)('it should complain when there are two functions with the same name', () => {
82
- let SampleLink = new controller_1.ControllerLink();
83
- let Gateway = class Gateway {
84
- test() {
85
- SampleLink.trigger('testFunction');
86
- }
87
- };
88
- Gateway = __decorate([
89
- (0, service_1.ServiceDecorator)()
90
- ], Gateway);
91
- let Controller1 = class Controller1 {
92
- testFunction() { }
93
- };
94
- Controller1 = __decorate([
95
- (0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })
96
- ], Controller1);
97
- (0, vitest_1.expect)(() => {
98
- let Controller2 = class Controller2 {
99
- testFunction() { }
100
- };
101
- Controller2 = __decorate([
102
- (0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })
103
- ], Controller2);
104
- }).toThrow();
105
- });
106
- (0, vitest_1.test)('it should complain when there is no corresponding function', () => {
107
- let SampleLink = new controller_1.ControllerLink();
108
- let Gateway = class Gateway {
109
- test() {
110
- SampleLink.trigger('falseFunction');
111
- }
112
- };
113
- Gateway = __decorate([
114
- (0, service_1.ServiceDecorator)()
115
- ], Gateway);
116
- let Controller = class Controller {
117
- testFunction() { }
118
- };
119
- Controller = __decorate([
120
- (0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })
121
- ], Controller);
122
- let gateway = new Gateway();
123
- (0, vitest_1.expect)(() => {
124
- gateway.test();
125
- }).toThrow('ServiceLink: no defined function with the name: "falseFunction", found in the linked controllers!');
126
- });
20
+ (0, vitest_1.beforeEach)(() => {
21
+ update_loop_1.UpdateCycle.hardResetAction.trigger();
22
+ });
23
+ (0, vitest_1.test)('when gateway triggers service link, it should trigger the controller function', () => {
24
+ const SampleLink = new controller_1.ControllerLink();
25
+ let Gateway = class Gateway {
26
+ test(data) {
27
+ SampleLink.trigger('testFunction', data);
28
+ }
29
+ };
30
+ Gateway = __decorate([(0, service_1.ServiceDecorator)()], Gateway);
31
+ let triggeredData;
32
+ let Controller = class Controller {
33
+ testFunction(data) {
34
+ triggeredData = data;
35
+ }
36
+ };
37
+ Controller = __decorate([(0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })], Controller);
38
+ const gateway = new Gateway();
39
+ const sampleData = 'sampleData';
40
+ gateway.test(sampleData);
41
+ (0, vitest_1.expect)(triggeredData).toEqual(sampleData);
42
+ });
43
+ (0, vitest_1.test)('there can be multiple controllers linked to one gateway', () => {
44
+ var Controller1_1, Controller2_1;
45
+ const SampleLink = new controller_1.ControllerLink();
46
+ let Gateway = class Gateway {
47
+ test1(data) {
48
+ SampleLink.trigger('testFunction1', data);
49
+ }
50
+ test2(data) {
51
+ SampleLink.trigger('testFunction2', data);
52
+ }
53
+ };
54
+ Gateway = __decorate([(0, service_1.ServiceDecorator)()], Gateway);
55
+ let Controller1 = class Controller1 {
56
+ static {
57
+ Controller1_1 = Controller1;
58
+ }
59
+ testFunction1(data) {
60
+ Controller1_1.data = data;
61
+ }
62
+ };
63
+ Controller1 = Controller1_1 = __decorate(
64
+ [(0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })],
65
+ Controller1
66
+ );
67
+ let Controller2 = class Controller2 {
68
+ static {
69
+ Controller2_1 = Controller2;
70
+ }
71
+ testFunction2(data) {
72
+ Controller2_1.data = data;
73
+ }
74
+ };
75
+ Controller2 = Controller2_1 = __decorate(
76
+ [(0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })],
77
+ Controller2
78
+ );
79
+ const gateway = new Gateway();
80
+ const sampleData1 = 'sampleData1';
81
+ const sampleData2 = 'sampleData2';
82
+ gateway.test1(sampleData1);
83
+ gateway.test2(sampleData2);
84
+ (0, vitest_1.expect)(Controller1.data).toEqual(sampleData1);
85
+ (0, vitest_1.expect)(Controller2.data).toEqual(sampleData2);
86
+ });
87
+ (0, vitest_1.test)('it should complain when there are two functions with the same name', () => {
88
+ const SampleLink = new controller_1.ControllerLink();
89
+ let Gateway = class Gateway {
90
+ test() {
91
+ SampleLink.trigger('testFunction');
92
+ }
93
+ };
94
+ Gateway = __decorate([(0, service_1.ServiceDecorator)()], Gateway);
95
+ let Controller1 = class Controller1 {
96
+ testFunction() {}
97
+ };
98
+ Controller1 = __decorate([(0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })], Controller1);
99
+ (0, vitest_1.expect)(() => {
100
+ let Controller2 = class Controller2 {
101
+ testFunction() {}
102
+ };
103
+ Controller2 = __decorate(
104
+ [
105
+ (0, controller_1.ControllerDecorator)({
106
+ controllerLink: SampleLink
107
+ })
108
+ ],
109
+ Controller2
110
+ );
111
+ }).toThrow();
112
+ });
113
+ (0, vitest_1.test)('it should complain when there is no corresponding function', () => {
114
+ const SampleLink = new controller_1.ControllerLink();
115
+ let Gateway = class Gateway {
116
+ test() {
117
+ SampleLink.trigger('falseFunction');
118
+ }
119
+ };
120
+ Gateway = __decorate([(0, service_1.ServiceDecorator)()], Gateway);
121
+ let Controller = class Controller {
122
+ testFunction() {}
123
+ };
124
+ Controller = __decorate([(0, controller_1.ControllerDecorator)({ controllerLink: SampleLink })], Controller);
125
+ const gateway = new Gateway();
126
+ (0, vitest_1.expect)(() => {
127
+ gateway.test();
128
+ }).toThrow('ServiceLink: no defined function with the name: "falseFunction", found in the linked controllers!');
129
+ });
127
130
  });
128
- //# sourceMappingURL=controller.spec.js.map
131
+ //# sourceMappingURL=controller.spec.js.map
@@ -1,7 +1,10 @@
1
1
  import { Attachable } from '../base/attachable';
2
2
  export type EntityClassType = new (...args: any[]) => Entity;
3
+ /**
4
+ * @param destroyOnSceneClose - Default: true. If true, the entity will be destroyed when the scene is closed.
5
+ */
3
6
  export interface EntityDecoratorMeta {
4
- global: boolean;
7
+ destroyOnSceneClose: boolean;
5
8
  }
6
9
  export declare function EntityDecorator(meta?: EntityDecoratorMeta): (EntityClass: EntityClassType) => any;
7
10
  export declare abstract class Entity extends Attachable {
@@ -9,7 +9,7 @@ function EntityDecorator(meta) {
9
9
  return function (EntityClass) {
10
10
  EntityClass.$meta = {
11
11
  type: 'entity',
12
- global: meta?.global ?? false
12
+ destroyOnSceneClose: meta?.destroyOnSceneClose ?? true
13
13
  };
14
14
  entity_store_helper_1.EntityStoreHelper.registerEntityClass(EntityClass);
15
15
  };
@@ -34,8 +34,8 @@ class Entity extends attachable_1.Attachable {
34
34
  constructor() {
35
35
  super();
36
36
  this.viewCreationHelper = new entity_views_helper_1.EntityViewsHelper(this);
37
- let globalEntity = this.constructor.$meta.global;
38
- if (!globalEntity) {
37
+ let destroyOnSceneClose = this.constructor.$meta.destroyOnSceneClose;
38
+ if (destroyOnSceneClose) {
39
39
  scene_1.Scene['registerEntity'](this);
40
40
  }
41
41
  entity_store_helper_1.EntityStoreHelper.registerEntity(this);
@@ -43,8 +43,8 @@ class Entity extends attachable_1.Attachable {
43
43
  destroySelf() {
44
44
  super.destroySelf();
45
45
  this.viewCreationHelper.destroyViews();
46
- let globalEntity = this.constructor.$meta.global;
47
- if (!globalEntity) {
46
+ let destroyOnSceneClose = this.constructor.$meta.destroyOnSceneClose;
47
+ if (destroyOnSceneClose) {
48
48
  scene_1.Scene['unregisterEntity'](this);
49
49
  }
50
50
  entity_store_helper_1.EntityStoreHelper.unregisterEntity(this.constructor.name, this.id);