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
|
@@ -1,68 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EntityViewsHelper = void 0;
|
|
4
|
+
const hard_reset_1 = require("../../hard-reset");
|
|
4
5
|
const service_1 = require("../../service/service");
|
|
5
|
-
const unit_test_helper_1 = require("../../unit-test.helper");
|
|
6
6
|
const entity_store_helper_1 = require("./entity-store.helper");
|
|
7
7
|
class EntityViewsHelper {
|
|
8
|
-
static { this.
|
|
8
|
+
static { this._viewRegistries = new Map(); }
|
|
9
9
|
static registerView(ViewClass, EntityClass) {
|
|
10
|
-
if (!EntityViewsHelper.
|
|
11
|
-
EntityViewsHelper.
|
|
10
|
+
if (!EntityViewsHelper._viewRegistries.has(EntityClass)) {
|
|
11
|
+
EntityViewsHelper._viewRegistries.set(EntityClass, []);
|
|
12
12
|
}
|
|
13
|
-
let relatedRegistries = EntityViewsHelper.
|
|
13
|
+
let relatedRegistries = EntityViewsHelper._viewRegistries.get(EntityClass);
|
|
14
14
|
relatedRegistries && relatedRegistries.push(ViewClass);
|
|
15
15
|
let alreadyCreatedEntities = entity_store_helper_1.EntityStoreHelper.getEntities(EntityClass);
|
|
16
16
|
alreadyCreatedEntities.forEach(entity => {
|
|
17
|
-
this.
|
|
17
|
+
this._createView(entity, ViewClass);
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
static
|
|
20
|
+
static _createView(entity, ViewClass) {
|
|
21
21
|
try {
|
|
22
|
-
let resolvedViewArgs = service_1.Service.
|
|
23
|
-
EntityViewsHelper.
|
|
22
|
+
let resolvedViewArgs = service_1.Service._resolveParameters([this], ViewClass.$meta.paramtypes);
|
|
23
|
+
EntityViewsHelper.entityID = entity.id;
|
|
24
24
|
let view = new ViewClass(entity, ...resolvedViewArgs.slice(1));
|
|
25
25
|
if (entity.destroyed) {
|
|
26
26
|
// Created view might destroy its entity in constructor, which should also destroy the view
|
|
27
27
|
view.destroy();
|
|
28
28
|
}
|
|
29
29
|
else {
|
|
30
|
-
entity
|
|
30
|
+
entity._viewCreationHelper._views.push(view);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
catch (e) {
|
|
34
34
|
console.error(e);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
constructor(
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
37
|
+
constructor(_entity) {
|
|
38
|
+
this._entity = _entity;
|
|
39
|
+
this._views = [];
|
|
40
40
|
}
|
|
41
41
|
createViews() {
|
|
42
|
-
if (!this.
|
|
43
|
-
let registeredViewClasses = EntityViewsHelper.
|
|
42
|
+
if (!this._entity.destroyed) {
|
|
43
|
+
let registeredViewClasses = EntityViewsHelper._viewRegistries.get(this._entity.constructor);
|
|
44
44
|
if (registeredViewClasses) {
|
|
45
45
|
registeredViewClasses.forEach(ViewClass => {
|
|
46
|
-
EntityViewsHelper.
|
|
46
|
+
EntityViewsHelper._createView(this._entity, ViewClass);
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
updateViews(time, delta) {
|
|
52
|
-
this.
|
|
53
|
-
view.
|
|
54
|
-
|
|
52
|
+
for (let i = 0; i < this._views.length; i++) {
|
|
53
|
+
let view = this._views[i];
|
|
54
|
+
if (!view.destroyed) {
|
|
55
|
+
view.update(time, delta);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
55
58
|
}
|
|
56
59
|
destroyViews() {
|
|
57
|
-
this.
|
|
60
|
+
this._views.forEach(view => {
|
|
58
61
|
view.destroy();
|
|
59
62
|
});
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
exports.EntityViewsHelper = EntityViewsHelper;
|
|
63
|
-
|
|
66
|
+
hard_reset_1.BardLegendsHardReset.onHardReset
|
|
64
67
|
.subscribe(() => {
|
|
65
|
-
EntityViewsHelper['
|
|
68
|
+
EntityViewsHelper['_viewRegistries'] = new Map();
|
|
66
69
|
})
|
|
67
70
|
.attachToRoot();
|
|
68
71
|
//# sourceMappingURL=entity-views.helper.js.map
|
|
@@ -6,18 +6,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const actions_lib_1 = require("actions-lib");
|
|
9
10
|
const vitest_1 = require("vitest");
|
|
11
|
+
const hard_reset_1 = require("../hard-reset");
|
|
10
12
|
const scene_1 = require("../scene/scene");
|
|
11
|
-
const unit_test_helper_1 = require("../unit-test.helper");
|
|
12
13
|
const entity_1 = require("./entity");
|
|
13
14
|
const singleton_entity_1 = require("./singleton-entity");
|
|
14
15
|
(0, vitest_1.describe)('SINGLETON ENTITY', () => {
|
|
15
16
|
(0, vitest_1.beforeEach)(() => {
|
|
16
|
-
|
|
17
|
+
hard_reset_1.BardLegendsHardReset.hardReset();
|
|
17
18
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
18
|
-
|
|
19
|
+
init() {
|
|
20
|
+
return actions_lib_1.SingleEvent.instant();
|
|
21
|
+
}
|
|
19
22
|
update() { }
|
|
20
|
-
|
|
23
|
+
prepareToClose() {
|
|
24
|
+
return actions_lib_1.SingleEvent.instant();
|
|
25
|
+
}
|
|
21
26
|
};
|
|
22
27
|
SampleScene = __decorate([
|
|
23
28
|
(0, scene_1.SceneDecorator)()
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BardLegendsHardReset = void 0;
|
|
4
|
+
const actions_lib_1 = require("actions-lib");
|
|
5
|
+
class BardLegendsHardReset {
|
|
6
|
+
static { this._hardResetAction = new actions_lib_1.Action(); }
|
|
7
|
+
static { this.onHardReset = this._hardResetAction.notifier; }
|
|
8
|
+
static hardReset() {
|
|
9
|
+
actions_lib_1.ActionLib.hardReset();
|
|
10
|
+
this._hardResetAction.trigger();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.BardLegendsHardReset = BardLegendsHardReset;
|
|
14
|
+
//# sourceMappingURL=hard-reset.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { ControllerDecorator, ControllerDecoratorMeta, ControllerLink } from './controller/controller';
|
|
2
2
|
export { Entity, EntityDecorator } from './entity/entity';
|
|
3
3
|
export { SingletonEntity } from './entity/singleton-entity';
|
|
4
|
+
export { BardLegendsHardReset } from './hard-reset';
|
|
4
5
|
export { Scene, SceneDecorator } from './scene/scene';
|
|
5
6
|
export { Service, ServiceDecorator } from './service/service';
|
|
6
|
-
export { UnitTestHelper } from './unit-test.helper';
|
|
7
7
|
export { UpdateCycle } from './update-cycle';
|
|
8
8
|
export { View, ViewDecorator, ViewDecoratorMeta } from './view/view';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ViewDecorator = exports.View = exports.UpdateCycle = exports.
|
|
3
|
+
exports.ViewDecorator = exports.View = exports.UpdateCycle = exports.ServiceDecorator = exports.Service = exports.SceneDecorator = exports.Scene = exports.BardLegendsHardReset = exports.SingletonEntity = exports.EntityDecorator = exports.Entity = exports.ControllerLink = exports.ControllerDecorator = void 0;
|
|
4
4
|
var controller_1 = require("./controller/controller");
|
|
5
5
|
Object.defineProperty(exports, "ControllerDecorator", { enumerable: true, get: function () { return controller_1.ControllerDecorator; } });
|
|
6
6
|
Object.defineProperty(exports, "ControllerLink", { enumerable: true, get: function () { return controller_1.ControllerLink; } });
|
|
@@ -9,14 +9,14 @@ Object.defineProperty(exports, "Entity", { enumerable: true, get: function () {
|
|
|
9
9
|
Object.defineProperty(exports, "EntityDecorator", { enumerable: true, get: function () { return entity_1.EntityDecorator; } });
|
|
10
10
|
var singleton_entity_1 = require("./entity/singleton-entity");
|
|
11
11
|
Object.defineProperty(exports, "SingletonEntity", { enumerable: true, get: function () { return singleton_entity_1.SingletonEntity; } });
|
|
12
|
+
var hard_reset_1 = require("./hard-reset");
|
|
13
|
+
Object.defineProperty(exports, "BardLegendsHardReset", { enumerable: true, get: function () { return hard_reset_1.BardLegendsHardReset; } });
|
|
12
14
|
var scene_1 = require("./scene/scene");
|
|
13
15
|
Object.defineProperty(exports, "Scene", { enumerable: true, get: function () { return scene_1.Scene; } });
|
|
14
16
|
Object.defineProperty(exports, "SceneDecorator", { enumerable: true, get: function () { return scene_1.SceneDecorator; } });
|
|
15
17
|
var service_1 = require("./service/service");
|
|
16
18
|
Object.defineProperty(exports, "Service", { enumerable: true, get: function () { return service_1.Service; } });
|
|
17
19
|
Object.defineProperty(exports, "ServiceDecorator", { enumerable: true, get: function () { return service_1.ServiceDecorator; } });
|
|
18
|
-
var unit_test_helper_1 = require("./unit-test.helper");
|
|
19
|
-
Object.defineProperty(exports, "UnitTestHelper", { enumerable: true, get: function () { return unit_test_helper_1.UnitTestHelper; } });
|
|
20
20
|
var update_cycle_1 = require("./update-cycle");
|
|
21
21
|
Object.defineProperty(exports, "UpdateCycle", { enumerable: true, get: function () { return update_cycle_1.UpdateCycle; } });
|
|
22
22
|
var view_1 = require("./view/view");
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IDAttachable, SingleEvent } from 'actions-lib';
|
|
2
2
|
export type SceneClassType = new (...services: unknown[]) => Scene<unknown, unknown>;
|
|
3
3
|
type SceneInput<T> = T extends Scene<infer I, any> ? I : never;
|
|
4
|
-
type SceneOutput<T> = T extends Scene<any, infer O> ? O : never;
|
|
5
4
|
export declare function SceneDecorator(): (SceneClass: SceneClassType) => any;
|
|
6
|
-
export declare abstract class Scene<InputType, OutputType> extends
|
|
7
|
-
private static
|
|
5
|
+
export declare abstract class Scene<InputType, OutputType> extends IDAttachable {
|
|
6
|
+
private static _sceneTransitioning;
|
|
8
7
|
private static readonly _activeScene;
|
|
9
8
|
static readonly activeScene: import("actions-lib").Notifier<Scene<unknown, unknown> | undefined>;
|
|
10
9
|
static getActiveScene(this: typeof Scene): Scene<unknown, unknown> | undefined;
|
|
@@ -12,16 +11,17 @@ export declare abstract class Scene<InputType, OutputType> extends Attachable {
|
|
|
12
11
|
static isActive<T extends Scene<unknown, unknown>>(this: new (...args: unknown[]) => T): boolean;
|
|
13
12
|
static getInstance<T extends Scene<unknown, unknown>>(this: new (...args: unknown[]) => T): T | undefined;
|
|
14
13
|
static getInstanceOrFail<T extends Scene<unknown, unknown>>(this: new (...args: unknown[]) => T): T;
|
|
15
|
-
static open<T extends Scene<any, any>>(this: new (...
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
private closePromise;
|
|
20
|
-
private resolveClosePromise;
|
|
14
|
+
static open<T extends Scene<any, any>>(this: new (...args1: unknown[]) => T, ...args2: T extends Scene<void, any> ? [] : [SceneInput<T>]): SingleEvent<T>;
|
|
15
|
+
private readonly _onClose;
|
|
16
|
+
readonly onClose: import("actions-lib").Notifier<OutputType>;
|
|
21
17
|
constructor();
|
|
22
|
-
close(...args: OutputType extends void ? [] : [OutputType]):
|
|
23
|
-
protected abstract init(input: InputType):
|
|
18
|
+
close(...args: OutputType extends void ? [] : [OutputType]): SingleEvent<OutputType>;
|
|
19
|
+
protected abstract init(input: InputType): SingleEvent;
|
|
24
20
|
protected abstract update(time: number, delta: number): void;
|
|
25
|
-
protected abstract prepareToClose():
|
|
21
|
+
protected abstract prepareToClose(): SingleEvent;
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated
|
|
24
|
+
*/
|
|
25
|
+
destroy(): void;
|
|
26
26
|
}
|
|
27
27
|
export {};
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Scene = exports.SceneDecorator = void 0;
|
|
4
4
|
const actions_lib_1 = require("actions-lib");
|
|
5
|
+
const hard_reset_1 = require("../hard-reset");
|
|
5
6
|
const service_1 = require("../service/service");
|
|
6
|
-
const unit_test_helper_1 = require("../unit-test.helper");
|
|
7
7
|
const update_cycle_1 = require("../update-cycle");
|
|
8
8
|
function SceneDecorator() {
|
|
9
9
|
return function (SceneClass) {
|
|
10
10
|
SceneClass.$meta = {
|
|
11
|
-
paramtypes: service_1.Service
|
|
11
|
+
paramtypes: service_1.Service._getParametersMeta(SceneClass),
|
|
12
12
|
type: 'scene'
|
|
13
13
|
};
|
|
14
14
|
return SceneClass;
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
exports.SceneDecorator = SceneDecorator;
|
|
18
|
-
class Scene extends actions_lib_1.
|
|
19
|
-
static { this.
|
|
18
|
+
class Scene extends actions_lib_1.IDAttachable {
|
|
19
|
+
static { this._sceneTransitioning = false; }
|
|
20
20
|
static { this._activeScene = new actions_lib_1.Variable(undefined); }
|
|
21
21
|
static { this.activeScene = this._activeScene.notifier; }
|
|
22
22
|
static getActiveScene() {
|
|
@@ -43,67 +43,62 @@ class Scene extends actions_lib_1.Attachable {
|
|
|
43
43
|
}
|
|
44
44
|
return Scene._activeScene.value;
|
|
45
45
|
}
|
|
46
|
-
static open(...
|
|
47
|
-
if (Scene.
|
|
46
|
+
static open(...args2) {
|
|
47
|
+
if (Scene._sceneTransitioning) {
|
|
48
48
|
throw new Error('Scene: you cannot open a scene while a scene is transitioning!');
|
|
49
49
|
}
|
|
50
50
|
else if (Scene._activeScene.value) {
|
|
51
51
|
throw new Error('Scene: you cannot open a scene while there is already another active scene!');
|
|
52
52
|
}
|
|
53
|
-
let input =
|
|
54
|
-
|
|
55
|
-
let
|
|
56
|
-
let onOpen = new Promise(resolve => {
|
|
57
|
-
onOpenResolve = resolve;
|
|
58
|
-
});
|
|
59
|
-
let onClose = new Promise(resolve => {
|
|
60
|
-
onCloseResolve = resolve;
|
|
61
|
-
});
|
|
62
|
-
Scene.sceneTransitioning = true;
|
|
63
|
-
let resolvedArgs = service_1.Service['resolveParameters']([], this.$meta.paramtypes);
|
|
53
|
+
let input = args2[0];
|
|
54
|
+
Scene._sceneTransitioning = true;
|
|
55
|
+
let resolvedArgs = service_1.Service._resolveParameters([], this.$meta.paramtypes);
|
|
64
56
|
let scene = new this(...resolvedArgs).attachToRoot();
|
|
65
57
|
Scene._activeScene.set(scene);
|
|
66
|
-
scene
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
58
|
+
return scene
|
|
59
|
+
.init(input)
|
|
60
|
+
.map(() => {
|
|
61
|
+
Scene._sceneTransitioning = false;
|
|
62
|
+
return scene;
|
|
63
|
+
})
|
|
64
|
+
.chainToRoot();
|
|
72
65
|
}
|
|
73
66
|
constructor() {
|
|
74
67
|
super();
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.update(updateData.time, updateData.delta);
|
|
79
|
-
}
|
|
80
|
-
})
|
|
81
|
-
.attach(this);
|
|
82
|
-
this.closePromise = new Promise(resolve => (this.resolveClosePromise = resolve));
|
|
68
|
+
this._onClose = new actions_lib_1.Action();
|
|
69
|
+
this.onClose = this._onClose.notifier;
|
|
70
|
+
update_cycle_1.UpdateCycle.sceneUpdateAction.subscribe(updateData => this.update(updateData.time, updateData.delta)).attach(this);
|
|
83
71
|
}
|
|
84
|
-
|
|
85
|
-
if (Scene.
|
|
86
|
-
if (Scene.
|
|
87
|
-
|
|
72
|
+
close(...args) {
|
|
73
|
+
if (Scene._activeScene.value !== this) {
|
|
74
|
+
if (Scene._sceneTransitioning) {
|
|
75
|
+
throw new Error('Scene: you cannot close a scene while a scene is transitioning!');
|
|
88
76
|
}
|
|
89
77
|
else {
|
|
90
|
-
throw new Error('
|
|
78
|
+
throw new Error('Internal Error: Scene instance is accessed while it is not the active scene!');
|
|
91
79
|
}
|
|
92
80
|
}
|
|
93
|
-
else if (Scene._activeScene.value !== this) {
|
|
94
|
-
throw new Error('Internal Error: Scene instance is accessed while it is not the active scene!');
|
|
95
|
-
}
|
|
96
81
|
let output = args[0];
|
|
97
|
-
Scene.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
82
|
+
Scene._sceneTransitioning = true;
|
|
83
|
+
return this.prepareToClose()
|
|
84
|
+
.map(() => {
|
|
85
|
+
super.destroy();
|
|
86
|
+
Scene._activeScene.set(undefined);
|
|
87
|
+
Scene._sceneTransitioning = false;
|
|
88
|
+
this._onClose.trigger(output);
|
|
89
|
+
return output;
|
|
90
|
+
})
|
|
91
|
+
.chainToRoot();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @deprecated
|
|
95
|
+
*/
|
|
96
|
+
destroy() {
|
|
97
|
+
throw new Error('To close a scene use the "close()" function');
|
|
103
98
|
}
|
|
104
99
|
}
|
|
105
100
|
exports.Scene = Scene;
|
|
106
|
-
|
|
101
|
+
hard_reset_1.BardLegendsHardReset.onHardReset
|
|
107
102
|
.subscribe(() => {
|
|
108
103
|
Scene['_activeScene'].set(undefined);
|
|
109
104
|
})
|
|
@@ -9,22 +9,27 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const actions_lib_1 = require("actions-lib");
|
|
12
13
|
const vitest_1 = require("vitest");
|
|
13
14
|
const entity_1 = require("../entity/entity");
|
|
15
|
+
const hard_reset_1 = require("../hard-reset");
|
|
14
16
|
const service_1 = require("../service/service");
|
|
15
|
-
const unit_test_helper_1 = require("../unit-test.helper");
|
|
16
17
|
const update_cycle_1 = require("../update-cycle");
|
|
17
18
|
const view_1 = require("../view/view");
|
|
18
19
|
const scene_1 = require("./scene");
|
|
19
20
|
(0, vitest_1.describe)('SCENE', () => {
|
|
20
21
|
(0, vitest_1.beforeEach)(() => {
|
|
21
|
-
|
|
22
|
+
hard_reset_1.BardLegendsHardReset.hardReset();
|
|
22
23
|
});
|
|
23
24
|
(0, vitest_1.test)('create scene', () => {
|
|
24
25
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
25
|
-
|
|
26
|
+
init() {
|
|
27
|
+
return actions_lib_1.SingleEvent.instant();
|
|
28
|
+
}
|
|
26
29
|
update() { }
|
|
27
|
-
|
|
30
|
+
prepareToClose() {
|
|
31
|
+
return actions_lib_1.SingleEvent.instant();
|
|
32
|
+
}
|
|
28
33
|
};
|
|
29
34
|
SampleScene = __decorate([
|
|
30
35
|
(0, scene_1.SceneDecorator)()
|
|
@@ -35,12 +40,15 @@ const scene_1 = require("./scene");
|
|
|
35
40
|
});
|
|
36
41
|
(0, vitest_1.test)('arguments in open call should be passed to the init function', () => {
|
|
37
42
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
38
|
-
|
|
43
|
+
init(input) {
|
|
39
44
|
(0, vitest_1.expect)(input.arg1).toEqual('test');
|
|
40
45
|
(0, vitest_1.expect)(input.arg2).toEqual(1);
|
|
46
|
+
return actions_lib_1.SingleEvent.instant();
|
|
41
47
|
}
|
|
42
48
|
update() { }
|
|
43
|
-
|
|
49
|
+
prepareToClose() {
|
|
50
|
+
return actions_lib_1.SingleEvent.instant();
|
|
51
|
+
}
|
|
44
52
|
};
|
|
45
53
|
SampleScene = __decorate([
|
|
46
54
|
(0, scene_1.SceneDecorator)()
|
|
@@ -57,15 +65,18 @@ const scene_1 = require("./scene");
|
|
|
57
65
|
(0, service_1.ServiceDecorator)()
|
|
58
66
|
], SampleService);
|
|
59
67
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
60
|
-
constructor(
|
|
68
|
+
constructor(_sampleService) {
|
|
61
69
|
super();
|
|
62
|
-
this.
|
|
70
|
+
this._sampleService = _sampleService;
|
|
63
71
|
}
|
|
64
|
-
|
|
65
|
-
(0, vitest_1.expect)(this.
|
|
72
|
+
init() {
|
|
73
|
+
(0, vitest_1.expect)(this._sampleService.value).toEqual('test');
|
|
74
|
+
return actions_lib_1.SingleEvent.instant();
|
|
66
75
|
}
|
|
67
76
|
update() { }
|
|
68
|
-
|
|
77
|
+
prepareToClose() {
|
|
78
|
+
return actions_lib_1.SingleEvent.instant();
|
|
79
|
+
}
|
|
69
80
|
};
|
|
70
81
|
SampleScene = __decorate([
|
|
71
82
|
(0, scene_1.SceneDecorator)(),
|
|
@@ -75,9 +86,13 @@ const scene_1 = require("./scene");
|
|
|
75
86
|
});
|
|
76
87
|
(0, vitest_1.test)('get instance should return the scene with its type', () => {
|
|
77
88
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
78
|
-
|
|
89
|
+
init() {
|
|
90
|
+
return actions_lib_1.SingleEvent.instant();
|
|
91
|
+
}
|
|
79
92
|
update() { }
|
|
80
|
-
|
|
93
|
+
prepareToClose() {
|
|
94
|
+
return actions_lib_1.SingleEvent.instant();
|
|
95
|
+
}
|
|
81
96
|
};
|
|
82
97
|
SampleScene = __decorate([
|
|
83
98
|
(0, scene_1.SceneDecorator)()
|
|
@@ -87,9 +102,13 @@ const scene_1 = require("./scene");
|
|
|
87
102
|
});
|
|
88
103
|
(0, vitest_1.test)('getInstance should throw error when there is no active scene', () => {
|
|
89
104
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
90
|
-
|
|
105
|
+
init() {
|
|
106
|
+
return actions_lib_1.SingleEvent.instant();
|
|
107
|
+
}
|
|
91
108
|
update() { }
|
|
92
|
-
|
|
109
|
+
prepareToClose() {
|
|
110
|
+
return actions_lib_1.SingleEvent.instant();
|
|
111
|
+
}
|
|
93
112
|
};
|
|
94
113
|
SampleScene = __decorate([
|
|
95
114
|
(0, scene_1.SceneDecorator)()
|
|
@@ -98,17 +117,25 @@ const scene_1 = require("./scene");
|
|
|
98
117
|
});
|
|
99
118
|
(0, vitest_1.test)('getInstance should throw error when called while the open scene belongs to another class', () => {
|
|
100
119
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
101
|
-
|
|
120
|
+
init() {
|
|
121
|
+
return actions_lib_1.SingleEvent.instant();
|
|
122
|
+
}
|
|
102
123
|
update() { }
|
|
103
|
-
|
|
124
|
+
prepareToClose() {
|
|
125
|
+
return actions_lib_1.SingleEvent.instant();
|
|
126
|
+
}
|
|
104
127
|
};
|
|
105
128
|
SampleScene = __decorate([
|
|
106
129
|
(0, scene_1.SceneDecorator)()
|
|
107
130
|
], SampleScene);
|
|
108
131
|
let SampleScene2 = class SampleScene2 extends scene_1.Scene {
|
|
109
|
-
|
|
132
|
+
init() {
|
|
133
|
+
return actions_lib_1.SingleEvent.instant();
|
|
134
|
+
}
|
|
110
135
|
update() { }
|
|
111
|
-
|
|
136
|
+
prepareToClose() {
|
|
137
|
+
return actions_lib_1.SingleEvent.instant();
|
|
138
|
+
}
|
|
112
139
|
};
|
|
113
140
|
SampleScene2 = __decorate([
|
|
114
141
|
(0, scene_1.SceneDecorator)()
|
|
@@ -116,12 +143,16 @@ const scene_1 = require("./scene");
|
|
|
116
143
|
SampleScene.open();
|
|
117
144
|
(0, vitest_1.expect)(() => SampleScene2.getInstanceOrFail()).toThrow();
|
|
118
145
|
});
|
|
119
|
-
(0, vitest_1.test)('destroyed scenes should destroy its entities and its views',
|
|
146
|
+
(0, vitest_1.test)('destroyed scenes should destroy its entities and its views', () => {
|
|
120
147
|
var SampleEntity_1;
|
|
121
148
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
122
|
-
|
|
149
|
+
init() {
|
|
150
|
+
return actions_lib_1.SingleEvent.instant();
|
|
151
|
+
}
|
|
123
152
|
update() { }
|
|
124
|
-
|
|
153
|
+
prepareToClose() {
|
|
154
|
+
return actions_lib_1.SingleEvent.instant();
|
|
155
|
+
}
|
|
125
156
|
};
|
|
126
157
|
SampleScene = __decorate([
|
|
127
158
|
(0, scene_1.SceneDecorator)()
|
|
@@ -153,22 +184,36 @@ const scene_1 = require("./scene");
|
|
|
153
184
|
entity: SampleEntity
|
|
154
185
|
})
|
|
155
186
|
], _SampleView);
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
187
|
+
let finalized = false;
|
|
188
|
+
SampleScene.open()
|
|
189
|
+
.asyncMap(() => {
|
|
190
|
+
new SampleEntity().attach(scene_1.Scene.getActiveSceneOrFail());
|
|
191
|
+
return SampleScene.getInstanceOrFail().close();
|
|
192
|
+
})
|
|
193
|
+
.tap(() => {
|
|
194
|
+
(0, vitest_1.expect)(SampleEntity.entityDestroyCalled).toBeTruthy();
|
|
195
|
+
(0, vitest_1.expect)(viewDestroyCalled).toBeTruthy();
|
|
196
|
+
})
|
|
197
|
+
.tap(() => {
|
|
198
|
+
finalized = true;
|
|
199
|
+
})
|
|
200
|
+
.attachToRoot();
|
|
201
|
+
(0, vitest_1.expect)(finalized).toBeTruthy();
|
|
161
202
|
});
|
|
162
|
-
(0, vitest_1.test)('entity should create the update cycle',
|
|
203
|
+
(0, vitest_1.test)('entity should create the update cycle', () => {
|
|
163
204
|
var SampleScene_1;
|
|
164
205
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
165
206
|
static { SampleScene_1 = this; }
|
|
166
207
|
static { this.sceneUpdateCalled = false; }
|
|
167
|
-
|
|
208
|
+
init() {
|
|
209
|
+
return actions_lib_1.SingleEvent.instant();
|
|
210
|
+
}
|
|
168
211
|
update(time, delta) {
|
|
169
212
|
SampleScene_1.sceneUpdateCalled = true;
|
|
170
213
|
}
|
|
171
|
-
|
|
214
|
+
prepareToClose() {
|
|
215
|
+
return actions_lib_1.SingleEvent.instant();
|
|
216
|
+
}
|
|
172
217
|
};
|
|
173
218
|
SampleScene = SampleScene_1 = __decorate([
|
|
174
219
|
(0, scene_1.SceneDecorator)()
|
|
@@ -199,19 +244,32 @@ const scene_1 = require("./scene");
|
|
|
199
244
|
(0, vitest_1.expect)(SampleScene.sceneUpdateCalled).toBeTruthy();
|
|
200
245
|
(0, vitest_1.expect)(viewUpdateCalled).toBeTruthy();
|
|
201
246
|
});
|
|
202
|
-
(0, vitest_1.test)('closing scene should destroy it',
|
|
247
|
+
(0, vitest_1.test)('closing scene should destroy it', () => {
|
|
203
248
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
204
|
-
|
|
249
|
+
init() {
|
|
250
|
+
return actions_lib_1.SingleEvent.instant();
|
|
251
|
+
}
|
|
205
252
|
update() { }
|
|
206
|
-
|
|
253
|
+
prepareToClose() {
|
|
254
|
+
return actions_lib_1.SingleEvent.instant();
|
|
255
|
+
}
|
|
207
256
|
};
|
|
208
257
|
SampleScene = __decorate([
|
|
209
258
|
(0, scene_1.SceneDecorator)()
|
|
210
259
|
], SampleScene);
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
260
|
+
let finalized = false;
|
|
261
|
+
SampleScene.open()
|
|
262
|
+
.asyncMap(scene => {
|
|
263
|
+
return scene.close().map(() => scene);
|
|
264
|
+
})
|
|
265
|
+
.tap(scene => {
|
|
266
|
+
(0, vitest_1.expect)(scene.destroyed).toBeTruthy();
|
|
267
|
+
})
|
|
268
|
+
.tap(() => {
|
|
269
|
+
finalized = true;
|
|
270
|
+
})
|
|
271
|
+
.attachToRoot();
|
|
272
|
+
(0, vitest_1.expect)(finalized).toBeTruthy();
|
|
215
273
|
});
|
|
216
274
|
});
|
|
217
275
|
//# sourceMappingURL=scene.test.js.map
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
export declare function ServiceDecorator(): (ServiceClass: any) => any;
|
|
3
3
|
export declare class Service {
|
|
4
|
-
private static
|
|
4
|
+
private static _serviceInstances;
|
|
5
5
|
static get<T extends Service>(ServiceClass: new (...args: any[]) => T): T;
|
|
6
|
-
private static getParametersMeta;
|
|
7
|
-
private static resolveParameters;
|
|
8
|
-
private static hardReset;
|
|
9
6
|
}
|