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.
- package/dist/actions-performance.test.d.ts +1 -0
- package/dist/actions-performance.test.js +83 -0
- package/dist/game-entities/controller/controller.d.ts +2 -2
- package/dist/game-entities/controller/controller.js +8 -8
- package/dist/game-entities/controller/controller.test.js +2 -2
- package/dist/game-entities/entity/entity.d.ts +7 -7
- package/dist/game-entities/entity/entity.js +18 -12
- package/dist/game-entities/entity/entity.test.js +93 -30
- package/dist/game-entities/entity/helpers/entity-store.helper.d.ts +3 -3
- package/dist/game-entities/entity/helpers/entity-store.helper.js +12 -12
- package/dist/game-entities/entity/helpers/entity-store.helper.test.js +11 -11
- package/dist/game-entities/entity/helpers/entity-views.helper.d.ts +6 -6
- package/dist/game-entities/entity/helpers/entity-views.helper.js +25 -22
- package/dist/game-entities/entity/singleton-entity.test.js +9 -4
- package/dist/game-entities/hard-reset.d.ts +5 -0
- package/dist/game-entities/hard-reset.js +14 -0
- package/dist/game-entities/index.d.ts +1 -1
- package/dist/game-entities/index.js +3 -3
- package/dist/game-entities/scene/scene.d.ts +13 -13
- package/dist/game-entities/scene/scene.js +41 -46
- package/dist/game-entities/scene/scene.test.js +95 -37
- package/dist/game-entities/service/service.d.ts +1 -4
- package/dist/game-entities/service/service.js +12 -13
- package/dist/game-entities/service/service.test.js +33 -12
- package/dist/game-entities/unit-test.helper.js +1 -1
- package/dist/game-entities/update-cycle.d.ts +7 -17
- package/dist/game-entities/update-cycle.js +25 -19
- package/dist/game-entities/view/view.d.ts +6 -6
- package/dist/game-entities/view/view.js +15 -21
- package/dist/game-entities/view/view.test.js +40 -9
- package/dist/physics/entity-types/immovable-physics-entity.d.ts +1 -1
- package/dist/physics/entity-types/immovable-physics-entity.js +4 -4
- package/dist/physics/entity-types/movable-entity.d.ts +1 -1
- package/dist/physics/entity-types/movable-entity.js +2 -2
- package/dist/physics/entity-types/movable-physics-entity.d.ts +8 -8
- package/dist/physics/entity-types/movable-physics-entity.js +27 -27
- package/dist/physics/entity-types/physics-entity.d.ts +10 -14
- package/dist/physics/entity-types/physics-entity.js +27 -26
- package/dist/physics/interfaces.d.ts +6 -6
- package/dist/physics/interfaces.js +4 -4
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.d.ts +16 -16
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.js +22 -22
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.d.ts +19 -19
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js +30 -30
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +3 -3
- package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.d.ts +10 -10
- package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.js +16 -16
- package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.d.ts +10 -10
- package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.js +18 -18
- package/dist/physics/module//360/237/223/220services/collision/collisions.service.d.ts +5 -5
- package/dist/physics/module//360/237/223/220services/collision/collisions.service.js +17 -17
- package/dist/physics/module//360/237/223/220services/collision/hit-test.service.d.ts +4 -4
- package/dist/physics/module//360/237/223/220services/collision/hit-test.service.js +11 -11
- package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.d.ts +2 -2
- package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +4 -4
- package/dist/physics/module//360/237/223/220services/creation/border.service.d.ts +2 -2
- package/dist/physics/module//360/237/223/220services/creation/border.service.js +9 -9
- package/dist/physics/module//360/237/223/220services/creation/materials.service.d.ts +7 -7
- package/dist/physics/module//360/237/223/220services/creation/materials.service.js +17 -17
- package/dist/physics/module//360/237/223/220services/creation/physics-world.service.d.ts +11 -11
- package/dist/physics/module//360/237/223/220services/creation/physics-world.service.js +27 -26
- package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.d.ts +4 -4
- package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.js +13 -13
- package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.d.ts +9 -9
- package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +19 -19
- package/dist/physics/module//360/237/223/220services/impact/explosion.service.d.ts +9 -9
- package/dist/physics/module//360/237/223/220services/impact/explosion.service.js +20 -20
- package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.d.ts +1 -1
- package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.js +4 -4
- package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.d.ts +2 -2
- package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.js +3 -3
- package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.d.ts +5 -5
- package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.js +12 -12
- package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.d.ts +4 -4
- package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.js +12 -12
- package/dist/physics/module//360/237/223/220services/query/physics-query.service.d.ts +4 -4
- package/dist/physics/module//360/237/223/220services/query/physics-query.service.js +4 -4
- package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.d.ts +1 -4
- package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.js +7 -15
- package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.d.ts +9 -9
- package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +43 -42
- package/dist/physics/module//360/237/247/212entities/border.entity.d.ts +1 -1
- package/dist/physics/module//360/237/247/212entities/border.entity.js +3 -3
- package/dist/pixi/components/display-object-array.d.ts +5 -5
- package/dist/pixi/components/display-object-array.js +14 -14
- package/dist/pixi/components/helpers/smooth-scroller.d.ts +7 -7
- package/dist/pixi/components/helpers/smooth-scroller.js +23 -23
- package/dist/pixi/components/helpers/smooth-scroller.test.js +14 -14
- package/dist/pixi/components/menu/menu-entity.d.ts +14 -0
- package/dist/pixi/components/menu/menu-entity.js +48 -0
- package/dist/pixi/components/menu/menu.ui.d.ts +23 -0
- package/dist/pixi/components/menu/menu.ui.js +97 -0
- package/dist/pixi/components/mouse-wheel-listener.ui.d.ts +2 -2
- package/dist/pixi/components/mouse-wheel-listener.ui.js +11 -11
- package/dist/pixi/components/scroll-area.ui.d.ts +1 -1
- package/dist/pixi/components/scroll-area.ui.js +9 -9
- package/dist/pixi/components/scroll-mask.ui.d.ts +9 -8
- package/dist/pixi/components/scroll-mask.ui.js +25 -24
- package/dist/pixi/display-object/container-attributes.d.ts +24 -25
- package/dist/pixi/display-object/container-attributes.js +26 -26
- package/dist/pixi/display-object/container.d.ts +3 -3
- package/dist/pixi/display-object/container.js +2 -2
- package/dist/pixi/display-object/filters/base-filters/blur.filter.d.ts +9 -9
- package/dist/pixi/display-object/filters/base-filters/blur.filter.js +25 -25
- package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.d.ts +7 -7
- package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +17 -17
- package/dist/pixi/display-object/filters/composite-filters/glow-filter.d.ts +6 -6
- package/dist/pixi/display-object/filters/composite-filters/glow-filter.js +10 -11
- package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.d.ts +2 -2
- package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.js +5 -5
- package/dist/pixi/display-object/filters/templates/checking-neighbors.template.d.ts +5 -5
- package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +8 -8
- package/dist/pixi/display-object/filters/templates/plane.template.d.ts +5 -5
- package/dist/pixi/display-object/filters/templates/plane.template.js +7 -7
- package/dist/pixi/display-object/filters.d.ts +7 -7
- package/dist/pixi/display-object/filters.js +34 -34
- package/dist/pixi/display-object/index.d.ts +1 -1
- package/dist/pixi/display-object/objects/graphics/graphics.d.ts +9 -9
- package/dist/pixi/display-object/objects/graphics/graphics.js +25 -25
- package/dist/pixi/display-object/objects/placeholder.d.ts +1 -1
- package/dist/pixi/display-object/objects/placeholder.js +7 -7
- package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.d.ts +9 -9
- package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.js +26 -25
- package/dist/pixi/display-object/objects/sprite/sprite.d.ts +10 -9
- package/dist/pixi/display-object/objects/sprite/sprite.js +62 -53
- package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/pixi-text-style-converter.d.ts +4 -3
- package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.d.ts +6 -6
- package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +16 -16
- package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +28 -28
- package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.d.ts +1 -1
- package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.js +3 -3
- package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.d.ts +17 -17
- package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.js +62 -62
- package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.test.js +2 -2
- package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.d.ts +3 -3
- package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.js +6 -6
- package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.test.js +12 -12
- package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +2 -2
- package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.test.js +5 -5
- package/dist/pixi/display-object/objects/text/rich-text.d.ts +0 -1
- package/dist/pixi/display-object/objects/text/rich-text.js +0 -1
- package/dist/pixi/display-object/objects/text/text.d.ts +9 -10
- package/dist/pixi/display-object/objects/text/text.js +34 -35
- package/dist/pixi/game.d.ts +20 -15
- package/dist/pixi/game.js +40 -35
- package/dist/pixi/helpers/game-assets.d.ts +5 -5
- package/dist/pixi/helpers/game-assets.js +14 -11
- package/dist/pixi/helpers/position-conversion.helper.d.ts +4 -4
- package/dist/pixi/helpers/position-conversion.helper.js +3 -3
- package/dist/pixi/index.d.ts +3 -37
- package/dist/pixi/index.js +6 -22
- package/dist/pixi/modules/CAMERA/camera.d.ts +5 -4
- package/dist/pixi/modules/CAMERA/camera.js +9 -9
- package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.d.ts +3 -2
- package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.js +1 -1
- package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.d.ts +3 -2
- package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.js +5 -5
- package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.d.ts +3 -3
- package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.js +7 -7
- package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +8 -8
- package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.js +8 -8
- package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.d.ts +2 -2
- package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.js +12 -12
- package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.d.ts +17 -16
- package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.js +49 -48
- package/dist/pixi/pixi-definitions.d.ts +38 -0
- package/dist/pixi/pixi-definitions.js +37 -0
- package/dist/pixi/services/keyboard/keyboard.d.ts +2 -2
- package/dist/pixi/services/keyboard/keyboard.js +9 -9
- package/dist/pixi/services/mouse/mouse-target-focus.service.d.ts +10 -10
- package/dist/pixi/services/mouse/mouse-target-focus.service.js +28 -28
- package/dist/pixi/services/mouse/mouse.service.d.ts +1 -1
- package/dist/pixi/services/mouse/mouse.service.js +5 -5
- package/dist/utilities/animator/animating-content/fade-in-content.test.d.ts +1 -0
- package/dist/utilities/animator/animating-content/fade-in-content.test.js +10 -0
- package/dist/utilities/animator/animating-content/slide-in-content.test.d.ts +1 -0
- package/dist/utilities/animator/animating-content/slide-in-content.test.js +10 -0
- package/dist/utilities/animator/animations.d.ts +14 -6
- package/dist/utilities/animator/animations.js +15 -11
- package/dist/utilities/animator/animator/animator.d.ts +44 -0
- package/dist/utilities/animator/animator/animator.js +234 -0
- package/dist/utilities/animator/animator/animator.memory-leak.test.d.ts +1 -0
- package/dist/utilities/animator/animator/animator.memory-leak.test.js +73 -0
- package/dist/utilities/animator/animator/animator.performance.test.d.ts +1 -0
- package/dist/utilities/animator/animator/animator.performance.test.js +116 -0
- package/dist/utilities/animator/animator/animator.test.d.ts +1 -0
- package/dist/utilities/animator/animator/animator.test.js +1046 -0
- package/dist/utilities/animator/animator.d.ts +2 -3
- package/dist/utilities/animator/animator.js +66 -59
- package/dist/utilities/animator/animator.performance.test.d.ts +1 -0
- package/dist/utilities/animator/animator.performance.test.js +46 -0
- package/dist/utilities/animator/animator.test.js +89 -28
- package/dist/utilities/animator/animator2/animator.d.ts +42 -0
- package/dist/utilities/animator/animator2/animator.js +222 -0
- package/dist/utilities/animator/animator2/animator.memory-leak.test.d.ts +1 -0
- package/dist/utilities/animator/animator2/animator.memory-leak.test.js +73 -0
- package/dist/utilities/animator/animator2/animator.performance.test.d.ts +1 -0
- package/dist/utilities/animator/animator2/animator.performance.test.js +65 -0
- package/dist/utilities/animator/animator2/animator.test.d.ts +1 -0
- package/dist/utilities/animator/animator2/animator.test.js +1007 -0
- package/dist/utilities/animator/animator_old/animator.d.ts +60 -0
- package/dist/utilities/animator/animator_old/animator.js +337 -0
- package/dist/utilities/animator/animator_old/animator.performance.test.d.ts +1 -0
- package/dist/utilities/animator/animator_old/animator.performance.test.js +121 -0
- package/dist/utilities/animator/animator_old/animator.test.d.ts +1 -0
- package/dist/utilities/animator/animator_old/animator.test.js +996 -0
- package/dist/utilities/animator/content-animations/fade-in/fade-in-content.d.ts +18 -0
- package/dist/utilities/animator/content-animations/fade-in/fade-in-content.js +37 -0
- package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.d.ts +1 -0
- package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.js +10 -0
- package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.d.ts +38 -0
- package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.js +208 -0
- package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.d.ts +1 -0
- package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.js +439 -0
- package/dist/utilities/animator/content-animations/slide/slide-in-content.d.ts +41 -0
- package/dist/utilities/animator/content-animations/slide/slide-in-content.js +107 -0
- package/dist/utilities/animator/content-animations/slide/slide-in-content.test.d.ts +1 -0
- package/dist/utilities/animator/content-animations/slide/slide-in-content.test.js +10 -0
- package/dist/utilities/animator/content-animations/slide/slide-state-animation.d.ts +24 -0
- package/dist/utilities/animator/content-animations/slide/slide-state-animation.js +138 -0
- package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.d.ts +1 -0
- package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.js +307 -0
- package/dist/utilities/animator/content-animations/slide/state-animation.d.ts +37 -0
- package/dist/utilities/animator/content-animations/slide/state-animation.js +170 -0
- package/dist/utilities/animator/content-animations/slide/state-animation.test.d.ts +1 -0
- package/dist/utilities/animator/content-animations/slide/state-animation.test.js +340 -0
- package/dist/utilities/animator/index.d.ts +6 -6
- package/dist/utilities/animator/index.js +6 -6
- package/dist/utilities/animator/state-animation/fade-in/fade-in-content.d.ts +18 -0
- package/dist/utilities/animator/state-animation/fade-in/fade-in-content.js +37 -0
- package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.d.ts +1 -0
- package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.js +10 -0
- package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.d.ts +32 -0
- package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.js +168 -0
- package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.d.ts +1 -0
- package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.js +431 -0
- package/dist/utilities/animator/state-animation/slide/slide-in-content.d.ts +37 -0
- package/dist/utilities/animator/state-animation/slide/slide-in-content.js +100 -0
- package/dist/utilities/animator/state-animation/slide/slide-in-content.test.d.ts +1 -0
- package/dist/utilities/animator/state-animation/slide/slide-in-content.test.js +10 -0
- package/dist/utilities/animator/state-animation/slide/slide-state-animation.d.ts +24 -0
- package/dist/utilities/animator/state-animation/slide/slide-state-animation.js +130 -0
- package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.d.ts +1 -0
- package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.js +301 -0
- package/dist/utilities/animator/state-animation/slide-state-animation.test.js +30 -30
- package/dist/utilities/animator/state-animation/state-animation.js +7 -7
- package/dist/utilities/animator/state-animation/state-animation.test.js +24 -24
- package/dist/utilities/animator/state-animation/visit-disappear-state-animation.test.js +30 -30
- package/dist/utilities/data-structures/vector-set/vector-set.d.ts +1 -1
- package/dist/utilities/data-structures/vector-set/vector-set.js +5 -5
- package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.d.ts +1 -1
- package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.js +5 -5
- package/dist/utilities/grid-algorithms/path-finder/path-finder.js +21 -21
- package/dist/utilities/grid-algorithms/path-finder/path-finder.test.js +9 -9
- package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.d.ts +14 -14
- package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.js +43 -43
- package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.test.js +21 -21
- package/package.json +7 -5
|
@@ -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
|
|
@@ -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.
|
|
8
|
-
this.
|
|
7
|
+
this._controllers = [];
|
|
8
|
+
this._registeredFunctionNames = [];
|
|
9
9
|
}
|
|
10
10
|
trigger(functionName, ...args) {
|
|
11
|
-
let correspondingController = this.
|
|
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
|
}
|
|
@@ -22,25 +22,25 @@ class ControllerLink {
|
|
|
22
22
|
.filter(functionName => functionName !== 'constructor')
|
|
23
23
|
.map(functionName => functionName.toString())
|
|
24
24
|
.forEach(functionName => {
|
|
25
|
-
if (this.
|
|
25
|
+
if (this._registeredFunctionNames.includes(functionName)) {
|
|
26
26
|
throw new Error(`ServiceLink: the function is already registered, function name: "${functionName}"`);
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
29
|
-
this.
|
|
29
|
+
this._registeredFunctionNames.push(functionName);
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
this.
|
|
32
|
+
this._controllers.push(controller);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
exports.ControllerLink = ControllerLink;
|
|
36
36
|
function ControllerDecorator(meta) {
|
|
37
37
|
return function (ControllerClass) {
|
|
38
|
-
let paramtypes = service_1.Service.
|
|
38
|
+
let paramtypes = service_1.Service._getParametersMeta(ControllerClass);
|
|
39
39
|
if (paramtypes.some(type => !type)) {
|
|
40
40
|
console.error(`Circular dependency: ${ControllerClass.name}`);
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
|
-
let resolvedArgs = service_1.Service.
|
|
43
|
+
let resolvedArgs = service_1.Service._resolveParameters([], paramtypes);
|
|
44
44
|
let controller = new ControllerClass(...resolvedArgs);
|
|
45
45
|
meta.controllerLink.registerController(controller);
|
|
46
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 unit_test_helper_1 = require("../unit-test.helper");
|
|
12
12
|
const controller_1 = require("./controller");
|
|
13
13
|
(0, vitest_1.describe)('CONTROLLER', () => {
|
|
14
14
|
(0, vitest_1.beforeEach)(() => {
|
|
15
|
-
|
|
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,15 +1,15 @@
|
|
|
1
|
-
import { Attachable } from 'actions-lib';
|
|
1
|
+
import { Attachable, IDAttachable } from 'actions-lib';
|
|
2
2
|
export type EntityClassType<T extends Entity = Entity> = (new (...args: any[]) => T) & {
|
|
3
|
-
id:
|
|
3
|
+
id: number;
|
|
4
4
|
};
|
|
5
5
|
export declare function EntityDecorator(): <T extends Entity>(EntityClass: EntityClassType<T>) => any;
|
|
6
|
-
export declare abstract class Entity extends
|
|
7
|
-
static
|
|
8
|
-
static
|
|
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
9
|
static getEntities<T extends Entity>(this: EntityClassType<T>): T[];
|
|
10
|
-
private viewCreationHelper;
|
|
11
10
|
constructor();
|
|
12
11
|
destroy(): void;
|
|
13
|
-
attach(parent: Attachable
|
|
12
|
+
attach(parent: Attachable): this;
|
|
13
|
+
attachByID(id: number): this;
|
|
14
14
|
attachToRoot(): this;
|
|
15
15
|
}
|
|
@@ -14,16 +14,16 @@ function EntityDecorator() {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
exports.EntityDecorator = EntityDecorator;
|
|
17
|
-
class Entity extends actions_lib_1.
|
|
18
|
-
static
|
|
19
|
-
if (
|
|
20
|
-
return entity_store_helper_1.EntityStoreHelper.getEntity(this,
|
|
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
|
|
24
|
-
let entity = entity_store_helper_1.EntityStoreHelper.getEntity(this,
|
|
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: "${
|
|
26
|
+
throw new Error(`Entity: entity is not found! Name: "${this.name}", id: "${entityID}"`);
|
|
27
27
|
}
|
|
28
28
|
return entity;
|
|
29
29
|
}
|
|
@@ -32,32 +32,38 @@ class Entity extends actions_lib_1.Attachable {
|
|
|
32
32
|
}
|
|
33
33
|
constructor() {
|
|
34
34
|
super();
|
|
35
|
-
|
|
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.
|
|
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.
|
|
49
|
+
this._viewCreationHelper.destroyViews();
|
|
49
50
|
entity_store_helper_1.EntityStoreHelper.unregisterEntity(this.constructor, this.id);
|
|
50
51
|
super.destroy();
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
attach(parent) {
|
|
54
55
|
super.attach(parent);
|
|
55
|
-
this.
|
|
56
|
+
this._viewCreationHelper.createViews();
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
attachByID(id) {
|
|
60
|
+
super.attachByID(id);
|
|
61
|
+
this._viewCreationHelper.createViews();
|
|
56
62
|
return this;
|
|
57
63
|
}
|
|
58
64
|
attachToRoot() {
|
|
59
65
|
super.attachToRoot();
|
|
60
|
-
this.
|
|
66
|
+
this._viewCreationHelper.createViews();
|
|
61
67
|
return this;
|
|
62
68
|
}
|
|
63
69
|
/** @internal */
|
|
@@ -9,19 +9,24 @@ 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");
|
|
14
|
+
const hard_reset_1 = require("../hard-reset");
|
|
13
15
|
const scene_1 = require("../scene/scene");
|
|
14
|
-
const unit_test_helper_1 = require("../unit-test.helper");
|
|
15
16
|
const update_cycle_1 = require("../update-cycle");
|
|
16
17
|
const view_1 = require("../view/view");
|
|
17
18
|
const entity_1 = require("./entity");
|
|
18
19
|
(0, vitest_1.describe)('ENTITY', () => {
|
|
19
20
|
(0, vitest_1.beforeEach)(() => {
|
|
20
|
-
|
|
21
|
+
hard_reset_1.BardLegendsHardReset.hardReset();
|
|
21
22
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
22
|
-
|
|
23
|
+
init() {
|
|
24
|
+
return actions_lib_1.SingleEvent.instant();
|
|
25
|
+
}
|
|
23
26
|
update() { }
|
|
24
|
-
|
|
27
|
+
prepareToClose() {
|
|
28
|
+
return actions_lib_1.SingleEvent.instant();
|
|
29
|
+
}
|
|
25
30
|
};
|
|
26
31
|
SampleScene = __decorate([
|
|
27
32
|
(0, scene_1.SceneDecorator)()
|
|
@@ -35,7 +40,7 @@ const entity_1 = require("./entity");
|
|
|
35
40
|
(0, entity_1.EntityDecorator)()
|
|
36
41
|
], Sample);
|
|
37
42
|
let sample = new Sample().attach(scene_1.Scene.getActiveSceneOrFail());
|
|
38
|
-
(0, vitest_1.expect)(Sample.
|
|
43
|
+
(0, vitest_1.expect)(Sample.getInstanceByID(sample.id)).toEqual(sample);
|
|
39
44
|
});
|
|
40
45
|
(0, vitest_1.test)('get entity by id or fail should return error', () => {
|
|
41
46
|
let Sample1 = class Sample1 extends entity_1.Entity {
|
|
@@ -61,19 +66,19 @@ const entity_1 = require("./entity");
|
|
|
61
66
|
// Foo is added to see that there should not be type complaining about the constructor parameters
|
|
62
67
|
let sample1 = new Sample1('foo').attach(scene_1.Scene.getActiveSceneOrFail());
|
|
63
68
|
new Sample2('foo').attach(sample1);
|
|
64
|
-
(0, vitest_1.expect)(() => Sample2.
|
|
65
|
-
(0, vitest_1.expect)(() => Sample2.
|
|
69
|
+
(0, vitest_1.expect)(() => Sample2.getInstanceByIDOrFail(sample1.id)).toThrow();
|
|
70
|
+
(0, vitest_1.expect)(() => Sample2.getInstanceByIDOrFail(-1)).toThrow();
|
|
66
71
|
});
|
|
67
|
-
(0, vitest_1.test)('destroyed entities should not be reached by
|
|
72
|
+
(0, vitest_1.test)('destroyed entities should not be reached by getInstanceByID', () => {
|
|
68
73
|
let Sample = class Sample extends entity_1.Entity {
|
|
69
74
|
};
|
|
70
75
|
Sample = __decorate([
|
|
71
76
|
(0, entity_1.EntityDecorator)()
|
|
72
77
|
], Sample);
|
|
73
78
|
let sample = new Sample().attach(scene_1.Scene.getActiveSceneOrFail());
|
|
74
|
-
(0, vitest_1.expect)(Sample.
|
|
79
|
+
(0, vitest_1.expect)(Sample.getInstanceByID(sample.id)).toBeDefined();
|
|
75
80
|
sample.destroy();
|
|
76
|
-
(0, vitest_1.expect)(Sample.
|
|
81
|
+
(0, vitest_1.expect)(Sample.getInstanceByID(sample.id)).toBeUndefined();
|
|
77
82
|
});
|
|
78
83
|
(0, vitest_1.test)('select entities', () => {
|
|
79
84
|
let BaseEntity = class BaseEntity extends entity_1.Entity {
|
|
@@ -93,9 +98,9 @@ const entity_1 = require("./entity");
|
|
|
93
98
|
});
|
|
94
99
|
(0, vitest_1.test)('decorator should not complain aboutentity with constructor parameters', () => {
|
|
95
100
|
let _Sample = class _Sample extends entity_1.Entity {
|
|
96
|
-
constructor(
|
|
101
|
+
constructor(foo) {
|
|
97
102
|
super();
|
|
98
|
-
this.
|
|
103
|
+
this.foo = foo;
|
|
99
104
|
}
|
|
100
105
|
};
|
|
101
106
|
_Sample = __decorate([
|
|
@@ -103,23 +108,65 @@ const entity_1 = require("./entity");
|
|
|
103
108
|
__metadata("design:paramtypes", [String])
|
|
104
109
|
], _Sample);
|
|
105
110
|
});
|
|
106
|
-
(0, vitest_1.test)('
|
|
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', () => {
|
|
107
149
|
scene_1.Scene['_activeScene'].set(undefined);
|
|
108
150
|
let callStack = [];
|
|
109
151
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
110
152
|
constructor() {
|
|
111
153
|
super();
|
|
112
154
|
callStack.push('scene constructor');
|
|
113
|
-
this.onDestroy(
|
|
155
|
+
this.onDestroy()
|
|
156
|
+
.tap(() => {
|
|
114
157
|
callStack.push('scene destroy');
|
|
115
|
-
})
|
|
158
|
+
})
|
|
159
|
+
.attachToRoot();
|
|
160
|
+
}
|
|
161
|
+
init() {
|
|
162
|
+
return actions_lib_1.SingleEvent.instant();
|
|
116
163
|
}
|
|
117
|
-
async init() { }
|
|
118
164
|
update() {
|
|
119
165
|
callStack.push('scene update');
|
|
120
166
|
}
|
|
121
|
-
|
|
167
|
+
prepareToClose() {
|
|
122
168
|
callStack.push('scene prepare to close');
|
|
169
|
+
return actions_lib_1.SingleEvent.instant();
|
|
123
170
|
}
|
|
124
171
|
};
|
|
125
172
|
SampleScene = __decorate([
|
|
@@ -127,9 +174,13 @@ const entity_1 = require("./entity");
|
|
|
127
174
|
__metadata("design:paramtypes", [])
|
|
128
175
|
], SampleScene);
|
|
129
176
|
let OtherScene = class OtherScene extends scene_1.Scene {
|
|
130
|
-
|
|
177
|
+
init() {
|
|
178
|
+
return actions_lib_1.SingleEvent.instant();
|
|
179
|
+
}
|
|
131
180
|
update() { }
|
|
132
|
-
|
|
181
|
+
prepareToClose() {
|
|
182
|
+
return actions_lib_1.SingleEvent.instant();
|
|
183
|
+
}
|
|
133
184
|
};
|
|
134
185
|
OtherScene = __decorate([
|
|
135
186
|
(0, scene_1.SceneDecorator)()
|
|
@@ -138,9 +189,11 @@ const entity_1 = require("./entity");
|
|
|
138
189
|
constructor() {
|
|
139
190
|
super();
|
|
140
191
|
callStack.push('entity constructor');
|
|
141
|
-
this.onDestroy(
|
|
192
|
+
this.onDestroy()
|
|
193
|
+
.tap(() => {
|
|
142
194
|
callStack.push('entity destroy');
|
|
143
|
-
})
|
|
195
|
+
})
|
|
196
|
+
.attachToRoot();
|
|
144
197
|
}
|
|
145
198
|
update() {
|
|
146
199
|
callStack.push('entity update');
|
|
@@ -151,12 +204,14 @@ const entity_1 = require("./entity");
|
|
|
151
204
|
__metadata("design:paramtypes", [])
|
|
152
205
|
], Sample);
|
|
153
206
|
let _SampleView = class _SampleView extends view_1.View {
|
|
154
|
-
constructor(
|
|
207
|
+
constructor(_) {
|
|
155
208
|
super();
|
|
156
209
|
callStack.push('view constructor');
|
|
157
|
-
this.onDestroy(
|
|
210
|
+
this.onDestroy()
|
|
211
|
+
.tap(() => {
|
|
158
212
|
callStack.push('view destroy');
|
|
159
|
-
})
|
|
213
|
+
})
|
|
214
|
+
.attachToRoot();
|
|
160
215
|
}
|
|
161
216
|
update() {
|
|
162
217
|
callStack.push('view update');
|
|
@@ -166,12 +221,19 @@ const entity_1 = require("./entity");
|
|
|
166
221
|
(0, view_1.ViewDecorator)({ entity: Sample }),
|
|
167
222
|
__metadata("design:paramtypes", [Sample])
|
|
168
223
|
], _SampleView);
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
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();
|
|
175
237
|
(0, vitest_1.expect)(callStack).toEqual([
|
|
176
238
|
'scene constructor',
|
|
177
239
|
'scene update',
|
|
@@ -185,6 +247,7 @@ const entity_1 = require("./entity");
|
|
|
185
247
|
'entity destroy',
|
|
186
248
|
'scene destroy'
|
|
187
249
|
]);
|
|
250
|
+
(0, vitest_1.expect)(finalized).toBeTruthy();
|
|
188
251
|
});
|
|
189
252
|
});
|
|
190
253
|
//# sourceMappingURL=entity.test.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Entity, EntityClassType } from '../entity';
|
|
2
2
|
export declare class EntityStoreHelper {
|
|
3
|
-
private static
|
|
3
|
+
private static _classIDToEntityIDToEntity;
|
|
4
4
|
static registerEntityClass(entityClass: EntityClassType): void;
|
|
5
5
|
static registerEntity(entity: Entity): void;
|
|
6
|
-
static unregisterEntity(Class: EntityClassType,
|
|
7
|
-
static getEntity<T extends Entity>(Class: EntityClassType<T>,
|
|
6
|
+
static unregisterEntity(Class: EntityClassType, entityID: number): void;
|
|
7
|
+
static getEntity<T extends Entity>(Class: EntityClassType<T>, entityID: number): T | undefined;
|
|
8
8
|
static getSingleton<T extends Entity>(EntityClass: EntityClassType<T>): T | undefined;
|
|
9
9
|
static getSingletonOrFail<T extends Entity>(EntityClass: EntityClassType<T>): T;
|
|
10
10
|
static getEntities<T extends Entity>(EntityClass: EntityClassType<T>): T[];
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EntityStoreHelper = void 0;
|
|
4
|
-
const
|
|
4
|
+
const hard_reset_1 = require("../../hard-reset");
|
|
5
5
|
class EntityStoreHelper {
|
|
6
|
-
static { this.
|
|
6
|
+
static { this._classIDToEntityIDToEntity = new Map(); }
|
|
7
7
|
static registerEntityClass(entityClass) {
|
|
8
|
-
this.
|
|
8
|
+
this._classIDToEntityIDToEntity.set(entityClass.id, new Map());
|
|
9
9
|
}
|
|
10
10
|
static registerEntity(entity) {
|
|
11
|
-
let idToEntityMap = this.
|
|
11
|
+
let idToEntityMap = this._classIDToEntityIDToEntity.get(entity.classID);
|
|
12
12
|
idToEntityMap.set(entity.id, entity);
|
|
13
13
|
}
|
|
14
|
-
static unregisterEntity(Class,
|
|
15
|
-
let
|
|
16
|
-
this.
|
|
14
|
+
static unregisterEntity(Class, entityID) {
|
|
15
|
+
let classID = Class.id;
|
|
16
|
+
this._classIDToEntityIDToEntity.get(classID)?.delete(entityID);
|
|
17
17
|
}
|
|
18
|
-
static getEntity(Class,
|
|
19
|
-
return this.
|
|
18
|
+
static getEntity(Class, entityID) {
|
|
19
|
+
return this._classIDToEntityIDToEntity.get(Class.id)?.get(entityID);
|
|
20
20
|
}
|
|
21
21
|
static getSingleton(EntityClass) {
|
|
22
22
|
let entities = EntityStoreHelper.getEntities(EntityClass);
|
|
@@ -33,14 +33,14 @@ class EntityStoreHelper {
|
|
|
33
33
|
return entity;
|
|
34
34
|
}
|
|
35
35
|
static getEntities(EntityClass) {
|
|
36
|
-
let idToEntityMap = this.
|
|
36
|
+
let idToEntityMap = this._classIDToEntityIDToEntity.get(EntityClass.id);
|
|
37
37
|
return Array.from(idToEntityMap.values());
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
exports.EntityStoreHelper = EntityStoreHelper;
|
|
41
|
-
|
|
41
|
+
hard_reset_1.BardLegendsHardReset.onHardReset
|
|
42
42
|
.subscribe(() => {
|
|
43
|
-
EntityStoreHelper['
|
|
43
|
+
EntityStoreHelper['_classIDToEntityIDToEntity'].clear();
|
|
44
44
|
})
|
|
45
45
|
.attachToRoot();
|
|
46
46
|
//# sourceMappingURL=entity-store.helper.js.map
|
|
@@ -7,13 +7,13 @@ 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
|
|
10
|
+
const hard_reset_1 = require("../../hard-reset");
|
|
11
11
|
const entity_1 = require("../entity");
|
|
12
12
|
const singleton_entity_1 = require("../singleton-entity");
|
|
13
13
|
const entity_store_helper_1 = require("./entity-store.helper");
|
|
14
14
|
(0, vitest_1.describe)('EntityStoreHelper', () => {
|
|
15
15
|
(0, vitest_1.beforeEach)(() => {
|
|
16
|
-
|
|
16
|
+
hard_reset_1.BardLegendsHardReset.hardReset();
|
|
17
17
|
});
|
|
18
18
|
(0, vitest_1.describe)('registering entity class', () => {
|
|
19
19
|
(0, vitest_1.test)('should register entity class', () => {
|
|
@@ -23,10 +23,10 @@ const entity_store_helper_1 = require("./entity-store.helper");
|
|
|
23
23
|
(0, entity_1.EntityDecorator)()
|
|
24
24
|
], Sample);
|
|
25
25
|
entity_store_helper_1.EntityStoreHelper.registerEntityClass(Sample);
|
|
26
|
-
let
|
|
27
|
-
(0, vitest_1.expect)(
|
|
28
|
-
if (
|
|
29
|
-
(0, vitest_1.expect)(entity_store_helper_1.EntityStoreHelper['
|
|
26
|
+
let classID = Sample.id;
|
|
27
|
+
(0, vitest_1.expect)(classID).toBeDefined();
|
|
28
|
+
if (classID) {
|
|
29
|
+
(0, vitest_1.expect)(entity_store_helper_1.EntityStoreHelper['_classIDToEntityIDToEntity'].get(classID)).toBeDefined();
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
(0, vitest_1.test)('should register entity class with different class ids', () => {
|
|
@@ -42,11 +42,11 @@ const entity_store_helper_1 = require("./entity-store.helper");
|
|
|
42
42
|
], Sample2);
|
|
43
43
|
entity_store_helper_1.EntityStoreHelper.registerEntityClass(Sample1);
|
|
44
44
|
entity_store_helper_1.EntityStoreHelper.registerEntityClass(Sample2);
|
|
45
|
-
let
|
|
46
|
-
let
|
|
47
|
-
(0, vitest_1.expect)(
|
|
48
|
-
(0, vitest_1.expect)(
|
|
49
|
-
(0, vitest_1.expect)(
|
|
45
|
+
let classID1 = entity_store_helper_1.EntityStoreHelper['_classIDToEntityIDToEntity'].get(Sample1.id);
|
|
46
|
+
let classID2 = entity_store_helper_1.EntityStoreHelper['_classIDToEntityIDToEntity'].get(Sample2.id);
|
|
47
|
+
(0, vitest_1.expect)(classID1).toBeDefined();
|
|
48
|
+
(0, vitest_1.expect)(classID2).toBeDefined();
|
|
49
|
+
(0, vitest_1.expect)(classID1).not.toBe(classID2);
|
|
50
50
|
});
|
|
51
51
|
});
|
|
52
52
|
(0, vitest_1.describe)('crud operations on entity', () => {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ViewClassType } from '../../view/view';
|
|
2
2
|
import { Entity, EntityClassType } from '../entity';
|
|
3
3
|
export declare class EntityViewsHelper {
|
|
4
|
-
private
|
|
5
|
-
private static
|
|
6
|
-
static
|
|
4
|
+
private _entity;
|
|
5
|
+
private static _viewRegistries;
|
|
6
|
+
static entityID: number;
|
|
7
7
|
static registerView<T extends Entity>(ViewClass: ViewClassType<T>, EntityClass: EntityClassType<T>): void;
|
|
8
|
-
private static
|
|
9
|
-
private
|
|
10
|
-
constructor(
|
|
8
|
+
private static _createView;
|
|
9
|
+
private _views;
|
|
10
|
+
constructor(_entity: Entity);
|
|
11
11
|
createViews(): void;
|
|
12
12
|
updateViews(time: number, delta: number): void;
|
|
13
13
|
destroyViews(): void;
|