bard-legends-framework 0.10.8 → 0.11.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/game-entities/base/attachable.d.ts +10 -3
- package/dist/game-entities/base/attachable.js +50 -18
- package/dist/game-entities/base/attachable.test.js +81 -95
- package/dist/game-entities/base/helpers/attachable.store.d.ts +2 -8
- package/dist/game-entities/base/helpers/attachable.store.js +46 -17
- package/dist/game-entities/base/helpers/attachable.store.test.d.ts +1 -0
- package/dist/game-entities/base/helpers/attachable.store.test.js +234 -0
- package/dist/game-entities/base/helpers/decorate-actions-lib.d.ts +3 -3
- package/dist/game-entities/base/helpers/decorate-actions-lib.js +5 -5
- package/dist/game-entities/base/helpers/referance-variable.d.ts +2 -2
- package/dist/game-entities/base/helpers/referance-variable.js +2 -2
- package/dist/game-entities/controller/controller.d.ts +0 -1
- package/dist/game-entities/controller/controller.js +1 -0
- package/dist/game-entities/controller/controller.test.js +2 -2
- package/dist/game-entities/entity/entity.d.ts +10 -9
- package/dist/game-entities/entity/entity.js +9 -13
- package/dist/game-entities/entity/entity.test.js +47 -139
- package/dist/game-entities/entity/helpers/entity-store.helper.d.ts +6 -9
- package/dist/game-entities/entity/helpers/entity-store.helper.js +22 -57
- package/dist/game-entities/entity/helpers/entity-store.helper.test.d.ts +1 -0
- package/dist/game-entities/entity/helpers/entity-store.helper.test.js +136 -0
- package/dist/game-entities/entity/helpers/entity-views.helper.d.ts +1 -1
- package/dist/game-entities/entity/helpers/entity-views.helper.js +5 -3
- package/dist/game-entities/entity/singleton-entity.d.ts +3 -3
- package/dist/game-entities/entity/singleton-entity.js +1 -1
- package/dist/game-entities/entity/singleton-entity.test.js +2 -29
- package/dist/game-entities/index.d.ts +1 -5
- package/dist/game-entities/index.js +3 -24
- package/dist/game-entities/scene/scene.d.ts +4 -4
- package/dist/game-entities/scene/scene.js +31 -25
- package/dist/game-entities/scene/scene.test.js +14 -36
- package/dist/game-entities/service/service.js +5 -3
- package/dist/game-entities/service/service.test.js +2 -28
- package/dist/game-entities/unit-test.helper.d.ts +5 -0
- package/dist/game-entities/unit-test.helper.js +14 -0
- package/dist/game-entities/update-cycle.d.ts +15 -4
- package/dist/game-entities/update-cycle.js +14 -9
- package/dist/game-entities/view/view.d.ts +7 -8
- package/dist/game-entities/view/view.js +12 -21
- package/dist/game-entities/view/view.test.js +54 -244
- package/dist/physics/entity-types/immovable-physics-entity.d.ts +1 -3
- package/dist/physics/entity-types/immovable-physics-entity.js +1 -3
- package/dist/physics/entity-types/movable-entity.js +4 -4
- package/dist/physics/entity-types/movable-physics-entity.d.ts +2 -3
- package/dist/physics/entity-types/movable-physics-entity.js +5 -6
- package/dist/physics/entity-types/physics-entity.d.ts +3 -2
- package/dist/physics/entity-types/physics-entity.js +10 -7
- package/dist/physics/interfaces.d.ts +1 -1
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.d.ts +3 -3
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.d.ts +1 -1
- package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.d.ts +3 -3
- package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.d.ts +1 -1
- package/dist/physics/module//360/237/223/220services/creation/physics-world.service.js +2 -2
- package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.js +1 -1
- package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.js +1 -1
- package/dist/physics/module//360/237/223/220services/query/physics-query.service.d.ts +3 -3
- package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +17 -7
- package/dist/physics/module//360/237/247/212entities/physics-world.entity.js +2 -2
- package/dist/pixi/components/helpers/smooth-scroller.d.ts +1 -2
- package/dist/pixi/components/helpers/smooth-scroller.js +1 -3
- package/dist/pixi/components/helpers/smooth-scroller.test.js +5 -5
- package/dist/pixi/components/mouse-wheel-listener.ui.d.ts +3 -2
- package/dist/pixi/components/mouse-wheel-listener.ui.js +10 -7
- package/dist/pixi/components/scroll-area.ui.d.ts +0 -1
- package/dist/pixi/components/scroll-area.ui.js +1 -4
- package/dist/pixi/display-object/container-attributes.d.ts +3 -4
- package/dist/pixi/display-object/container-attributes.js +2 -3
- package/dist/pixi/display-object/container.d.ts +0 -4
- package/dist/pixi/display-object/container.js +5 -17
- package/dist/pixi/display-object/objects/graphics/graphics.d.ts +1 -1
- package/dist/pixi/display-object/objects/graphics/graphics.js +5 -3
- package/dist/pixi/display-object/objects/placeholder.d.ts +1 -1
- package/dist/pixi/display-object/objects/placeholder.js +5 -3
- package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.js +5 -3
- package/dist/pixi/display-object/objects/sprite/sprite.d.ts +1 -1
- package/dist/pixi/display-object/objects/sprite/sprite.js +12 -10
- package/dist/pixi/display-object/objects/text/text.d.ts +1 -1
- package/dist/pixi/display-object/objects/text/text.js +5 -3
- package/dist/pixi/game.d.ts +6 -2
- package/dist/pixi/game.js +14 -5
- package/dist/pixi/modules/CAMERA//360/237/247/212entities/camera.entity.js +4 -4
- package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.d.ts +1 -1
- package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.js +6 -4
- package/dist/pixi/services/keyboard/keyboard.d.ts +4 -2
- package/dist/pixi/services/keyboard/keyboard.js +6 -4
- package/dist/pixi/services/mouse/mouse-target-focus.service.d.ts +2 -1
- package/dist/pixi/services/mouse/mouse-target-focus.service.js +6 -5
- package/dist/pixi/services/mouse/mouse.service.d.ts +15 -5
- package/dist/pixi/services/mouse/mouse.service.js +38 -18
- package/dist/utilities/animator/animating-content/fade-in-content.d.ts +18 -0
- package/dist/utilities/animator/animating-content/fade-in-content.js +37 -0
- package/dist/utilities/animator/animating-content/slide-in-content.d.ts +37 -0
- package/dist/utilities/animator/animating-content/slide-in-content.js +99 -0
- package/dist/utilities/animator/animations.d.ts +37 -0
- package/dist/utilities/animator/animations.js +88 -0
- package/dist/utilities/animator/animator.d.ts +61 -0
- package/dist/utilities/animator/animator.js +315 -0
- package/dist/utilities/animator/animator.test.d.ts +1 -0
- package/dist/utilities/animator/animator.test.js +867 -0
- package/dist/utilities/animator/index.d.ts +7 -0
- package/dist/utilities/animator/index.js +24 -0
- package/dist/utilities/animator/state-animation/slide-state-animation.d.ts +24 -0
- package/dist/utilities/animator/state-animation/slide-state-animation.js +130 -0
- package/dist/utilities/animator/state-animation/slide-state-animation.test.d.ts +1 -0
- package/dist/utilities/animator/state-animation/slide-state-animation.test.js +301 -0
- package/dist/utilities/animator/state-animation/state-animation.d.ts +33 -0
- package/dist/utilities/animator/state-animation/state-animation.js +146 -0
- package/dist/utilities/animator/state-animation/state-animation.test.d.ts +1 -0
- package/dist/utilities/animator/state-animation/state-animation.test.js +335 -0
- package/dist/utilities/animator/state-animation/visit-disappear-state-animation.d.ts +32 -0
- package/dist/utilities/animator/state-animation/visit-disappear-state-animation.js +168 -0
- package/dist/utilities/animator/state-animation/visit-disappear-state-animation.test.d.ts +1 -0
- package/dist/utilities/animator/state-animation/visit-disappear-state-animation.test.js +431 -0
- package/dist/utilities/data-structures/vector-set/vector-set.d.ts +7 -0
- package/dist/utilities/data-structures/vector-set/vector-set.js +26 -0
- package/dist/utilities/delta-time/delta-time.d.ts +3 -0
- package/dist/utilities/delta-time/delta-time.js +10 -0
- package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.d.ts +6 -0
- package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.js +55 -0
- package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.test.d.ts +1 -0
- package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.test.js +100 -0
- package/dist/utilities/grid-algorithms/path-finder/path-finder.d.ts +8 -0
- package/dist/utilities/grid-algorithms/path-finder/path-finder.js +98 -0
- package/dist/utilities/grid-algorithms/path-finder/path-finder.test.d.ts +1 -0
- package/dist/utilities/grid-algorithms/path-finder/path-finder.test.js +155 -0
- package/dist/utilities/grid-algorithms/position-to-grid-position-converter.d.ts +6 -0
- package/dist/utilities/grid-algorithms/position-to-grid-position-converter.js +17 -0
- package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.d.ts +18 -0
- package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.js +129 -0
- package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.test.d.ts +1 -0
- package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.test.js +254 -0
- package/dist/utilities/index.d.ts +6 -6
- package/dist/utilities/index.js +6 -6
- package/dist/utilities/libraries/animator/animator.d.ts +3 -5
- package/dist/utilities/libraries/animator/animator.js +17 -19
- package/dist/utilities/libraries/animator/state-animation/slide-state-animation.d.ts +2 -2
- package/dist/utilities/libraries/animator/state-animation/slide-state-animation.js +1 -1
- package/dist/utilities/libraries/animator/state-animation/state-animation.d.ts +2 -2
- package/dist/utilities/libraries/animator/state-animation/state-animation.js +1 -1
- package/dist/utilities/libraries/animator/state-animation/visit-disappear-state-animation.d.ts +2 -2
- package/dist/utilities/libraries/animator/state-animation/visit-disappear-state-animation.js +1 -1
- package/package.json +6 -6
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
export { Attachable } from './base/attachable';
|
|
2
|
-
export { AttachmentTarget } from './base/attachment-target';
|
|
3
|
-
export { ActionsLibDecorator } from './base/helpers/decorate-actions-lib';
|
|
4
|
-
export { ReferanceVariable } from './base/helpers/referance-variable';
|
|
5
|
-
export * from './base/interfaces';
|
|
6
1
|
export { ControllerDecorator, ControllerDecoratorMeta, ControllerLink } from './controller/controller';
|
|
7
2
|
export { Entity, EntityDecorator } from './entity/entity';
|
|
8
3
|
export { SingletonEntity } from './entity/singleton-entity';
|
|
9
4
|
export { Scene, SceneDecorator } from './scene/scene';
|
|
10
5
|
export { Service, ServiceDecorator } from './service/service';
|
|
6
|
+
export { UnitTestHelper } from './unit-test.helper';
|
|
11
7
|
export { UpdateCycle } from './update-cycle';
|
|
12
8
|
export { View, ViewDecorator, ViewDecoratorMeta } from './view/view';
|
|
@@ -1,29 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ViewDecorator = exports.View = exports.UpdateCycle = exports.ServiceDecorator = exports.Service = exports.SceneDecorator = exports.Scene = exports.SingletonEntity = exports.EntityDecorator = exports.Entity = exports.ControllerLink = exports.ControllerDecorator =
|
|
18
|
-
var attachable_1 = require("./base/attachable");
|
|
19
|
-
Object.defineProperty(exports, "Attachable", { enumerable: true, get: function () { return attachable_1.Attachable; } });
|
|
20
|
-
var attachment_target_1 = require("./base/attachment-target");
|
|
21
|
-
Object.defineProperty(exports, "AttachmentTarget", { enumerable: true, get: function () { return attachment_target_1.AttachmentTarget; } });
|
|
22
|
-
var decorate_actions_lib_1 = require("./base/helpers/decorate-actions-lib");
|
|
23
|
-
Object.defineProperty(exports, "ActionsLibDecorator", { enumerable: true, get: function () { return decorate_actions_lib_1.ActionsLibDecorator; } });
|
|
24
|
-
var referance_variable_1 = require("./base/helpers/referance-variable");
|
|
25
|
-
Object.defineProperty(exports, "ReferanceVariable", { enumerable: true, get: function () { return referance_variable_1.ReferanceVariable; } });
|
|
26
|
-
__exportStar(require("./base/interfaces"), exports);
|
|
3
|
+
exports.ViewDecorator = exports.View = exports.UpdateCycle = exports.UnitTestHelper = exports.ServiceDecorator = exports.Service = exports.SceneDecorator = exports.Scene = exports.SingletonEntity = exports.EntityDecorator = exports.Entity = exports.ControllerLink = exports.ControllerDecorator = void 0;
|
|
27
4
|
var controller_1 = require("./controller/controller");
|
|
28
5
|
Object.defineProperty(exports, "ControllerDecorator", { enumerable: true, get: function () { return controller_1.ControllerDecorator; } });
|
|
29
6
|
Object.defineProperty(exports, "ControllerLink", { enumerable: true, get: function () { return controller_1.ControllerLink; } });
|
|
@@ -38,6 +15,8 @@ Object.defineProperty(exports, "SceneDecorator", { enumerable: true, get: functi
|
|
|
38
15
|
var service_1 = require("./service/service");
|
|
39
16
|
Object.defineProperty(exports, "Service", { enumerable: true, get: function () { return service_1.Service; } });
|
|
40
17
|
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; } });
|
|
41
20
|
var update_cycle_1 = require("./update-cycle");
|
|
42
21
|
Object.defineProperty(exports, "UpdateCycle", { enumerable: true, get: function () { return update_cycle_1.UpdateCycle; } });
|
|
43
22
|
var view_1 = require("./view/view");
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AttachmentTarget } from '../base/attachment-target';
|
|
1
|
+
import { Attachable } from 'actions-lib';
|
|
3
2
|
export type SceneClassType = new (...services: unknown[]) => Scene<unknown, unknown>;
|
|
4
3
|
type SceneInput<T> = T extends Scene<infer I, any> ? I : never;
|
|
5
4
|
type SceneOutput<T> = T extends Scene<any, infer O> ? O : never;
|
|
6
5
|
export declare function SceneDecorator(): (SceneClass: SceneClassType) => any;
|
|
7
|
-
export declare abstract class Scene<InputType, OutputType> extends
|
|
6
|
+
export declare abstract class Scene<InputType, OutputType> extends Attachable {
|
|
8
7
|
private static sceneTransitioning;
|
|
9
|
-
static
|
|
8
|
+
private static readonly _activeScene;
|
|
9
|
+
static readonly activeScene: import("actions-lib").Notifier<Scene<unknown, unknown> | undefined>;
|
|
10
10
|
static getActiveScene(this: typeof Scene): Scene<unknown, unknown> | undefined;
|
|
11
11
|
static getActiveSceneOrFail(this: typeof Scene): Scene<unknown, unknown>;
|
|
12
12
|
static isActive<T extends Scene<unknown, unknown>>(this: new (...args: unknown[]) => T): boolean;
|
|
@@ -2,8 +2,8 @@
|
|
|
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 attachment_target_1 = require("../base/attachment-target");
|
|
6
5
|
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) {
|
|
@@ -15,60 +15,59 @@ function SceneDecorator() {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
exports.SceneDecorator = SceneDecorator;
|
|
18
|
-
class Scene extends
|
|
18
|
+
class Scene extends actions_lib_1.Attachable {
|
|
19
19
|
static { this.sceneTransitioning = false; }
|
|
20
|
-
static { this.
|
|
20
|
+
static { this._activeScene = new actions_lib_1.Variable(undefined); }
|
|
21
|
+
static { this.activeScene = this._activeScene.notifier; }
|
|
21
22
|
static getActiveScene() {
|
|
22
|
-
return Scene.
|
|
23
|
+
return Scene._activeScene.value;
|
|
23
24
|
}
|
|
24
25
|
static getActiveSceneOrFail() {
|
|
25
|
-
if (!Scene.
|
|
26
|
+
if (!Scene._activeScene.value) {
|
|
26
27
|
throw new Error(`Scene: getActiveSceneOrFail is called when there is no active scene!`);
|
|
27
28
|
}
|
|
28
|
-
return Scene.
|
|
29
|
+
return Scene._activeScene.value;
|
|
29
30
|
}
|
|
30
31
|
static isActive() {
|
|
31
|
-
return Scene.
|
|
32
|
+
return Scene._activeScene.value instanceof this;
|
|
32
33
|
}
|
|
33
34
|
static getInstance() {
|
|
34
|
-
return Scene.
|
|
35
|
+
return Scene._activeScene.value instanceof this ? Scene._activeScene.value : undefined;
|
|
35
36
|
}
|
|
36
37
|
static getInstanceOrFail() {
|
|
37
|
-
if (!Scene.
|
|
38
|
+
if (!Scene._activeScene.value) {
|
|
38
39
|
throw new Error(`Scene: getInstance is called when there is no active scene!`);
|
|
39
40
|
}
|
|
40
|
-
if (!(Scene.
|
|
41
|
-
throw new Error(`Scene: getInstance is called while "${this.name}" was not the active scene. Current scene is: "${Scene.
|
|
41
|
+
if (!(Scene._activeScene.value instanceof this)) {
|
|
42
|
+
throw new Error(`Scene: getInstance is called while "${this.name}" was not the active scene. Current scene is: "${Scene._activeScene.value}"!`);
|
|
42
43
|
}
|
|
43
|
-
return Scene.
|
|
44
|
+
return Scene._activeScene.value;
|
|
44
45
|
}
|
|
45
46
|
static open(...args) {
|
|
46
47
|
if (Scene.sceneTransitioning) {
|
|
47
48
|
throw new Error('Scene: you cannot open a scene while a scene is transitioning!');
|
|
48
49
|
}
|
|
49
|
-
else if (Scene.
|
|
50
|
+
else if (Scene._activeScene.value) {
|
|
50
51
|
throw new Error('Scene: you cannot open a scene while there is already another active scene!');
|
|
51
52
|
}
|
|
52
53
|
let input = args[0];
|
|
53
54
|
let onOpenResolve;
|
|
54
55
|
let onCloseResolve;
|
|
55
|
-
let onOpen = new Promise(
|
|
56
|
+
let onOpen = new Promise(resolve => {
|
|
56
57
|
onOpenResolve = resolve;
|
|
57
58
|
});
|
|
58
|
-
let onClose = new Promise(
|
|
59
|
+
let onClose = new Promise(resolve => {
|
|
59
60
|
onCloseResolve = resolve;
|
|
60
61
|
});
|
|
61
62
|
Scene.sceneTransitioning = true;
|
|
62
63
|
let resolvedArgs = service_1.Service['resolveParameters']([], this.$meta.paramtypes);
|
|
63
64
|
let scene = new this(...resolvedArgs).attachToRoot();
|
|
64
|
-
Scene.
|
|
65
|
+
Scene._activeScene.set(scene);
|
|
65
66
|
scene.init(input).then(() => {
|
|
66
67
|
Scene.sceneTransitioning = false;
|
|
67
68
|
onOpenResolve();
|
|
68
69
|
});
|
|
69
|
-
scene.closePromise.then(output =>
|
|
70
|
-
onCloseResolve(output);
|
|
71
|
-
});
|
|
70
|
+
scene.closePromise.then(output => onCloseResolve(output));
|
|
72
71
|
return { onOpen, onClose };
|
|
73
72
|
}
|
|
74
73
|
constructor() {
|
|
@@ -84,22 +83,29 @@ class Scene extends attachment_target_1.AttachmentTarget {
|
|
|
84
83
|
}
|
|
85
84
|
async close(...args) {
|
|
86
85
|
if (Scene.sceneTransitioning) {
|
|
87
|
-
|
|
86
|
+
if (Scene._activeScene.value === this) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
throw new Error('Scene: you cannot close a scene while a scene is transitioning!');
|
|
91
|
+
}
|
|
88
92
|
}
|
|
89
|
-
else if (Scene.
|
|
93
|
+
else if (Scene._activeScene.value !== this) {
|
|
90
94
|
throw new Error('Internal Error: Scene instance is accessed while it is not the active scene!');
|
|
91
95
|
}
|
|
92
96
|
let output = args[0];
|
|
93
97
|
Scene.sceneTransitioning = true;
|
|
94
98
|
await this.prepareToClose();
|
|
95
99
|
super.destroy();
|
|
96
|
-
Scene.
|
|
100
|
+
Scene._activeScene.set(undefined);
|
|
97
101
|
this.resolveClosePromise(output);
|
|
98
102
|
Scene.sceneTransitioning = false;
|
|
99
103
|
}
|
|
100
104
|
}
|
|
101
105
|
exports.Scene = Scene;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
unit_test_helper_1.UnitTestHelper.onHardReset
|
|
107
|
+
.subscribe(() => {
|
|
108
|
+
Scene['_activeScene'].set(undefined);
|
|
109
|
+
})
|
|
110
|
+
.attachToRoot();
|
|
105
111
|
//# sourceMappingURL=scene.js.map
|
|
@@ -1,50 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
2
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
3
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
4
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
7
|
};
|
|
24
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
-
if (mod && mod.__esModule) return mod;
|
|
26
|
-
var result = {};
|
|
27
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
-
__setModuleDefault(result, mod);
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
10
|
};
|
|
34
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
const ActionsLib = __importStar(require("actions-lib"));
|
|
36
|
-
const helpers_lib_1 = require("helpers-lib");
|
|
37
12
|
const vitest_1 = require("vitest");
|
|
38
|
-
const decorate_actions_lib_1 = require("../base/helpers/decorate-actions-lib");
|
|
39
13
|
const entity_1 = require("../entity/entity");
|
|
40
14
|
const service_1 = require("../service/service");
|
|
15
|
+
const unit_test_helper_1 = require("../unit-test.helper");
|
|
41
16
|
const update_cycle_1 = require("../update-cycle");
|
|
42
17
|
const view_1 = require("../view/view");
|
|
43
18
|
const scene_1 = require("./scene");
|
|
44
|
-
decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
|
|
45
19
|
(0, vitest_1.describe)('SCENE', () => {
|
|
46
20
|
(0, vitest_1.beforeEach)(() => {
|
|
47
|
-
|
|
21
|
+
unit_test_helper_1.UnitTestHelper.hardReset();
|
|
48
22
|
});
|
|
49
23
|
(0, vitest_1.test)('create scene', () => {
|
|
50
24
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
@@ -56,8 +30,8 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
|
|
|
56
30
|
(0, scene_1.SceneDecorator)()
|
|
57
31
|
], SampleScene);
|
|
58
32
|
SampleScene.open();
|
|
59
|
-
(0, vitest_1.expect)(scene_1.Scene.
|
|
60
|
-
(0, vitest_1.expect)(scene_1.Scene.
|
|
33
|
+
(0, vitest_1.expect)(scene_1.Scene.getActiveScene()).toBeDefined();
|
|
34
|
+
(0, vitest_1.expect)(scene_1.Scene.getActiveScene()).toBeInstanceOf(SampleScene);
|
|
61
35
|
});
|
|
62
36
|
(0, vitest_1.test)('arguments in open call should be passed to the init function', () => {
|
|
63
37
|
let SampleScene = class SampleScene extends scene_1.Scene {
|
|
@@ -155,8 +129,11 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
|
|
|
155
129
|
let SampleEntity = class SampleEntity extends entity_1.Entity {
|
|
156
130
|
static { SampleEntity_1 = this; }
|
|
157
131
|
static { this.entityDestroyCalled = false; }
|
|
158
|
-
|
|
159
|
-
|
|
132
|
+
destroy() {
|
|
133
|
+
if (!this.destroyed) {
|
|
134
|
+
SampleEntity_1.entityDestroyCalled = true;
|
|
135
|
+
super.destroy();
|
|
136
|
+
}
|
|
160
137
|
}
|
|
161
138
|
};
|
|
162
139
|
SampleEntity = SampleEntity_1 = __decorate([
|
|
@@ -164,8 +141,11 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
|
|
|
164
141
|
], SampleEntity);
|
|
165
142
|
let viewDestroyCalled = false;
|
|
166
143
|
let _SampleView = class _SampleView extends view_1.View {
|
|
167
|
-
|
|
168
|
-
|
|
144
|
+
destroy() {
|
|
145
|
+
if (!this.destroyed) {
|
|
146
|
+
viewDestroyCalled = true;
|
|
147
|
+
super.destroy();
|
|
148
|
+
}
|
|
169
149
|
}
|
|
170
150
|
};
|
|
171
151
|
_SampleView = __decorate([
|
|
@@ -176,7 +156,6 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
|
|
|
176
156
|
await SampleScene.open().onOpen;
|
|
177
157
|
new SampleEntity().attach(scene_1.Scene.getActiveSceneOrFail());
|
|
178
158
|
await SampleScene.getInstanceOrFail().close();
|
|
179
|
-
await update_cycle_1.UpdateCycle.triggerUpdateTick(1); // Update cycle should take place to destroy functions to be called
|
|
180
159
|
(0, vitest_1.expect)(SampleEntity.entityDestroyCalled).toBeTruthy();
|
|
181
160
|
(0, vitest_1.expect)(viewDestroyCalled).toBeTruthy();
|
|
182
161
|
});
|
|
@@ -216,7 +195,6 @@ decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
|
|
|
216
195
|
], _SampleView);
|
|
217
196
|
SampleScene.open();
|
|
218
197
|
new SampleEntity().attach(scene_1.Scene.getActiveSceneOrFail());
|
|
219
|
-
await (0, helpers_lib_1.Wait)(); // Wait for the async view init to expect the update call
|
|
220
198
|
update_cycle_1.UpdateCycle.triggerUpdateTick(1);
|
|
221
199
|
(0, vitest_1.expect)(SampleScene.sceneUpdateCalled).toBeTruthy();
|
|
222
200
|
(0, vitest_1.expect)(viewUpdateCalled).toBeTruthy();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Service = exports.ServiceDecorator = void 0;
|
|
4
|
-
const
|
|
4
|
+
const unit_test_helper_1 = require("../unit-test.helper");
|
|
5
5
|
require("reflect-metadata");
|
|
6
6
|
function ServiceDecorator() {
|
|
7
7
|
return function (ServiceClass) {
|
|
@@ -52,7 +52,9 @@ class Service {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
exports.Service = Service;
|
|
55
|
-
|
|
55
|
+
unit_test_helper_1.UnitTestHelper.onHardReset
|
|
56
|
+
.subscribe(() => {
|
|
56
57
|
Service['serviceInstances'] = new Map();
|
|
57
|
-
})
|
|
58
|
+
})
|
|
59
|
+
.attachToRoot();
|
|
58
60
|
//# sourceMappingURL=service.js.map
|
|
@@ -1,49 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
2
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
3
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
4
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
7
|
};
|
|
24
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
-
if (mod && mod.__esModule) return mod;
|
|
26
|
-
var result = {};
|
|
27
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
-
__setModuleDefault(result, mod);
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
10
|
};
|
|
34
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
const ActionsLib = __importStar(require("actions-lib"));
|
|
36
12
|
const vitest_1 = require("vitest");
|
|
37
|
-
const decorate_actions_lib_1 = require("../base/helpers/decorate-actions-lib");
|
|
38
13
|
const entity_1 = require("../entity/entity");
|
|
39
14
|
const scene_1 = require("../scene/scene");
|
|
40
|
-
const
|
|
15
|
+
const unit_test_helper_1 = require("../unit-test.helper");
|
|
41
16
|
const view_1 = require("../view/view");
|
|
42
17
|
const service_1 = require("./service");
|
|
43
|
-
decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
|
|
44
18
|
(0, vitest_1.describe)('SERVICE', () => {
|
|
45
19
|
(0, vitest_1.beforeEach)(() => {
|
|
46
|
-
|
|
20
|
+
unit_test_helper_1.UnitTestHelper.hardReset();
|
|
47
21
|
});
|
|
48
22
|
(0, vitest_1.test)('get services', () => {
|
|
49
23
|
var SampleService_1;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnitTestHelper = void 0;
|
|
4
|
+
const actions_lib_1 = require("actions-lib");
|
|
5
|
+
class UnitTestHelper {
|
|
6
|
+
static { this._hardResetAction = new actions_lib_1.Action(); }
|
|
7
|
+
static { this.onHardReset = this._hardResetAction.notifier; }
|
|
8
|
+
static hardReset() {
|
|
9
|
+
actions_lib_1.ActionLibUnitTestHelper.hardReset();
|
|
10
|
+
this._hardResetAction.trigger();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.UnitTestHelper = UnitTestHelper;
|
|
14
|
+
//# sourceMappingURL=unit-test.helper.js.map
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import { Action } from 'actions-lib';
|
|
2
2
|
export declare class UpdateCycle {
|
|
3
|
-
static readonly
|
|
4
|
-
static readonly beforeSceneUpdateAction: Action<{
|
|
3
|
+
static readonly _beforeSceneUpdateAction: Action<{
|
|
5
4
|
time: number;
|
|
6
5
|
delta: number;
|
|
7
6
|
}>;
|
|
8
|
-
static readonly
|
|
7
|
+
static readonly beforeSceneUpdateAction: import("actions-lib").Notifier<{
|
|
9
8
|
time: number;
|
|
10
9
|
delta: number;
|
|
11
10
|
}>;
|
|
12
|
-
static readonly
|
|
11
|
+
static readonly _sceneUpdateAction: Action<{
|
|
12
|
+
time: number;
|
|
13
|
+
delta: number;
|
|
14
|
+
}>;
|
|
15
|
+
static readonly sceneUpdateAction: import("actions-lib").Notifier<{
|
|
16
|
+
time: number;
|
|
17
|
+
delta: number;
|
|
18
|
+
}>;
|
|
19
|
+
static readonly _afterSceneUpdateAction: Action<{
|
|
20
|
+
time: number;
|
|
21
|
+
delta: number;
|
|
22
|
+
}>;
|
|
23
|
+
static readonly afterSceneUpdateAction: import("actions-lib").Notifier<{
|
|
13
24
|
time: number;
|
|
14
25
|
delta: number;
|
|
15
26
|
}>;
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UpdateCycle = void 0;
|
|
4
4
|
const actions_lib_1 = require("actions-lib");
|
|
5
|
+
const unit_test_helper_1 = require("./unit-test.helper");
|
|
5
6
|
class UpdateCycle {
|
|
6
|
-
static { this.
|
|
7
|
-
static { this.beforeSceneUpdateAction =
|
|
8
|
-
static { this.
|
|
9
|
-
static { this.
|
|
7
|
+
static { this._beforeSceneUpdateAction = new actions_lib_1.Action(); }
|
|
8
|
+
static { this.beforeSceneUpdateAction = this._beforeSceneUpdateAction.notifier; }
|
|
9
|
+
static { this._sceneUpdateAction = new actions_lib_1.Action(); }
|
|
10
|
+
static { this.sceneUpdateAction = this._sceneUpdateAction.notifier; }
|
|
11
|
+
static { this._afterSceneUpdateAction = new actions_lib_1.Action(); }
|
|
12
|
+
static { this.afterSceneUpdateAction = this._afterSceneUpdateAction.notifier; }
|
|
10
13
|
static { this.time = 0; }
|
|
11
14
|
static { this.updateModifierCallback = undefined; }
|
|
12
15
|
static async wait(duration) {
|
|
@@ -39,9 +42,9 @@ class UpdateCycle {
|
|
|
39
42
|
this.time += delta;
|
|
40
43
|
this._lastDelta = delta;
|
|
41
44
|
if (delta > 0) {
|
|
42
|
-
UpdateCycle.
|
|
43
|
-
UpdateCycle.
|
|
44
|
-
UpdateCycle.
|
|
45
|
+
UpdateCycle._beforeSceneUpdateAction.trigger({ time: this.time, delta });
|
|
46
|
+
UpdateCycle._sceneUpdateAction.trigger({ time: this.time, delta });
|
|
47
|
+
UpdateCycle._afterSceneUpdateAction.trigger({ time: this.time, delta });
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
50
|
static get lastDelta() {
|
|
@@ -50,7 +53,9 @@ class UpdateCycle {
|
|
|
50
53
|
static { this._lastDelta = 0; }
|
|
51
54
|
}
|
|
52
55
|
exports.UpdateCycle = UpdateCycle;
|
|
53
|
-
|
|
56
|
+
unit_test_helper_1.UnitTestHelper.onHardReset
|
|
57
|
+
.subscribe(() => {
|
|
54
58
|
UpdateCycle['time'] = 0;
|
|
55
|
-
})
|
|
59
|
+
})
|
|
60
|
+
.attachToRoot();
|
|
56
61
|
//# sourceMappingURL=update-cycle.js.map
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Entity } from '../entity/entity';
|
|
3
|
-
export type ViewClassType<EntityType> = new (entity: EntityType, ...services: any[]) => View;
|
|
4
|
-
export interface ViewDecoratorMeta<EntityType> {
|
|
5
|
-
entity:
|
|
1
|
+
import { Attachable } from 'actions-lib';
|
|
2
|
+
import { Entity, EntityClassType } from '../entity/entity';
|
|
3
|
+
export type ViewClassType<EntityType extends Entity> = new (entity: EntityType, ...services: any[]) => View;
|
|
4
|
+
export interface ViewDecoratorMeta<EntityType extends Entity> {
|
|
5
|
+
entity: EntityClassType<EntityType>;
|
|
6
6
|
}
|
|
7
7
|
export declare function ViewDecorator<EntityType extends Entity>(meta: ViewDecoratorMeta<EntityType>): (ViewClass: ViewClassType<EntityType>) => any;
|
|
8
|
-
export declare abstract class View extends
|
|
9
|
-
private static viewClassNames;
|
|
8
|
+
export declare abstract class View extends Attachable {
|
|
10
9
|
static getInstance<T extends View>(this: new (...args: any[]) => T, entityId: string): T | undefined;
|
|
11
10
|
static getInstanceOrFail<T extends View>(this: new (...args: any[]) => T, entityId: string): T;
|
|
12
11
|
private _entityId;
|
|
13
12
|
constructor();
|
|
14
|
-
|
|
13
|
+
destroy(): void;
|
|
15
14
|
update(time: number, delta: number): void;
|
|
16
15
|
private getViewInstances;
|
|
17
16
|
}
|
|
@@ -1,40 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.View = exports.ViewDecorator = void 0;
|
|
4
|
-
const
|
|
4
|
+
const actions_lib_1 = require("actions-lib");
|
|
5
5
|
const entity_views_helper_1 = require("../entity/helpers/entity-views.helper");
|
|
6
6
|
const service_1 = require("../service/service");
|
|
7
|
-
const update_cycle_1 = require("../update-cycle");
|
|
8
7
|
function ViewDecorator(meta) {
|
|
9
8
|
return function (ViewClass) {
|
|
10
|
-
if (View['viewClassNames'].has(ViewClass.name)) {
|
|
11
|
-
throw new Error(`View class names should be unique! This view name is already taken. name: "${ViewClass.name}"`);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
View['viewClassNames'].add(ViewClass.name);
|
|
15
|
-
}
|
|
16
9
|
ViewClass.$meta = {
|
|
17
10
|
paramtypes: service_1.Service.getParametersMeta(ViewClass),
|
|
18
11
|
viewInstances: new Map(),
|
|
19
|
-
|
|
12
|
+
entity: meta.entity,
|
|
20
13
|
type: 'view'
|
|
21
14
|
};
|
|
22
15
|
entity_views_helper_1.EntityViewsHelper['registerView'](ViewClass, meta.entity);
|
|
23
16
|
};
|
|
24
17
|
}
|
|
25
18
|
exports.ViewDecorator = ViewDecorator;
|
|
26
|
-
class View extends
|
|
27
|
-
static { this.viewClassNames = new Set(); }
|
|
19
|
+
class View extends actions_lib_1.Attachable {
|
|
28
20
|
static getInstance(entityId) {
|
|
29
|
-
if (
|
|
21
|
+
if (!this.$meta.entity.validateId(entityId)) {
|
|
30
22
|
return undefined;
|
|
31
23
|
}
|
|
32
24
|
let viewInstances = this.$meta.viewInstances;
|
|
33
25
|
return viewInstances.get(entityId);
|
|
34
26
|
}
|
|
35
27
|
static getInstanceOrFail(entityId) {
|
|
36
|
-
if (
|
|
37
|
-
throw new Error(`View: getInstance is called with entity id: "${entityId}", that is not belonging to the class: "${this.$meta.
|
|
28
|
+
if (!this.$meta.entity.validateId(entityId)) {
|
|
29
|
+
throw new Error(`View: getInstance is called with entity id: "${entityId}", that is not belonging to the class: "${this.$meta.entity}"`);
|
|
38
30
|
}
|
|
39
31
|
let viewInstances = this.$meta.viewInstances;
|
|
40
32
|
let view = viewInstances.get(entityId);
|
|
@@ -45,7 +37,7 @@ class View extends attachment_target_1.AttachmentTarget {
|
|
|
45
37
|
}
|
|
46
38
|
constructor() {
|
|
47
39
|
super();
|
|
48
|
-
this.attachToRoot();
|
|
40
|
+
this.attachToRoot();
|
|
49
41
|
this._entityId = entity_views_helper_1.EntityViewsHelper.currentEntityId;
|
|
50
42
|
this.getViewInstances().set(this._entityId, this);
|
|
51
43
|
let originalUpdate = this.update.bind(this);
|
|
@@ -55,9 +47,11 @@ class View extends attachment_target_1.AttachmentTarget {
|
|
|
55
47
|
}
|
|
56
48
|
};
|
|
57
49
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
50
|
+
destroy() {
|
|
51
|
+
if (!this.destroyed) {
|
|
52
|
+
this.getViewInstances().delete(this._entityId);
|
|
53
|
+
super.destroy();
|
|
54
|
+
}
|
|
61
55
|
}
|
|
62
56
|
update(time, delta) { }
|
|
63
57
|
getViewInstances() {
|
|
@@ -65,7 +59,4 @@ class View extends attachment_target_1.AttachmentTarget {
|
|
|
65
59
|
}
|
|
66
60
|
}
|
|
67
61
|
exports.View = View;
|
|
68
|
-
update_cycle_1.UpdateCycle.hardResetAction.subscribe(() => {
|
|
69
|
-
View['viewClassNames'].clear();
|
|
70
|
-
});
|
|
71
62
|
//# sourceMappingURL=view.js.map
|