bard-legends-framework 0.9.6 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_interfaces/index.d.ts +2 -2
- package/dist/_interfaces/index.js +2 -3
- package/dist/game-entities/attachable/attachable.d.ts +6 -6
- package/dist/game-entities/attachable/attachable.js +28 -30
- package/dist/game-entities/attachable/attachable.spec.js +129 -128
- package/dist/game-entities/attachable/attachable.store.d.ts +5 -5
- package/dist/game-entities/attachable/attachable.store.js +34 -32
- package/dist/game-entities/attachable/attachable.test.js +132 -131
- package/dist/game-entities/attachable/destroyable.d.ts +13 -13
- package/dist/game-entities/attachable/destroyable.js +64 -69
- package/dist/game-entities/attachable/helpers/decorate-actions-lib.d.ts +15 -15
- package/dist/game-entities/attachable/helpers/decorate-actions-lib.js +125 -116
- package/dist/game-entities/attachable/helpers/referance-variable.d.ts +15 -15
- package/dist/game-entities/attachable/helpers/referance-variable.js +47 -48
- package/dist/game-entities/attachable/interfaces.d.ts +6 -6
- package/dist/game-entities/attachable/interfaces.js +2 -3
- package/dist/game-entities/base/helpers/decorate-actions-lib.js +0 -1
- package/dist/game-entities/controller/controller.js +0 -1
- package/dist/game-entities/controller/controller.spec.js +128 -125
- package/dist/game-entities/entity/entity.d.ts +4 -1
- package/dist/game-entities/entity/entity.js +5 -5
- package/dist/game-entities/entity/entity.spec.js +263 -293
- package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +7 -7
- package/dist/game-entities/entity/helpers/view-creation.helper.js +48 -48
- package/dist/game-entities/scene/scene.spec.js +219 -223
- package/dist/game-entities/service/service.js +0 -4
- package/dist/game-entities/service/service.spec.js +265 -237
- package/dist/game-entities/service/service.test.js +4 -2
- package/dist/game-entities/update-loop.d.ts +18 -18
- package/dist/game-entities/update-loop.js +46 -28
- package/dist/game-entities/view/view.spec.js +490 -506
- package/dist/game-entities/view/view.test.js +1 -1
- package/dist/lib/animator/animations.d.ts +13 -13
- package/dist/lib/animator/animations.js +43 -40
- package/dist/lib/animator/animator.d.ts +41 -41
- package/dist/lib/animator/animator.js +194 -197
- package/dist/lib/animator/animator.spec.js +699 -612
- package/dist/lib/animator/index.js +24 -19
- package/dist/lib/libraries/animator/animations.d.ts +13 -13
- package/dist/lib/libraries/animator/animations.js +43 -40
- package/dist/lib/libraries/animator/animator.d.ts +41 -41
- package/dist/lib/libraries/animator/animator.js +194 -197
- package/dist/lib/libraries/animator/animator.spec.js +699 -612
- package/dist/lib/libraries/animator/index.js +24 -19
- package/dist/lib/libraries/path-finder/path-finder.d.ts +2 -2
- package/dist/lib/libraries/path-finder/path-finder.js +19 -20
- package/dist/lib/path-finder/path-finder.d.ts +2 -2
- package/dist/lib/path-finder/path-finder.js +19 -20
- package/dist/lib/services/keyboard/keyboard.d.ts +4 -4
- package/dist/lib/services/keyboard/keyboard.js +39 -31
- package/dist/lib/services/mouse/mouse.service.d.ts +8 -8
- package/dist/lib/services/mouse/mouse.service.js +65 -53
- package/dist/lib/services/mouse/mouser-target-focus.service.d.ts +11 -11
- package/dist/lib/services/mouse/mouser-target-focus.service.js +83 -81
- package/dist/lib/update-loop.d.ts +10 -10
- package/dist/lib/update-loop.js +35 -27
- package/dist/physics/entitity-types/immovable-physics-entity.d.ts +6 -6
- package/dist/physics/entitity-types/immovable-physics-entity.js +23 -24
- package/dist/physics/entitity-types/movable-entity.d.ts +6 -6
- package/dist/physics/entitity-types/movable-entity.js +21 -22
- package/dist/physics/entitity-types/movable-physics-entity.d.ts +14 -14
- package/dist/physics/entitity-types/movable-physics-entity.js +83 -88
- package/dist/physics/entitity-types/physics-entity.d.ts +23 -23
- package/dist/physics/entitity-types/physics-entity.js +97 -88
- package/dist/physics/helpers/closest-available-space.helper.d.ts +16 -16
- package/dist/physics/helpers/closest-available-space.helper.js +98 -96
- package/dist/physics/helpers/closest-available-space.helper.spec.js +115 -68
- package/dist/physics/helpers/p2js.helper.d.ts +3 -3
- package/dist/physics/helpers/p2js.helper.js +21 -22
- package/dist/physics/helpers/shape-factory.d.ts +9 -4
- package/dist/physics/helpers/shape-factory.js +99 -75
- package/dist/physics/libs/p2js.helper.js +1 -1
- package/dist/physics/libs/position-to-grid-position-converter.d.ts +3 -3
- package/dist/physics/libs/position-to-grid-position-converter.js +15 -13
- package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +10 -5
- package/dist/physics/module//360/237/223/220services/availability-grid.service.js +77 -57
- package/dist/physics/module//360/237/223/220services/border.service.d.ts +2 -2
- package/dist/physics/module//360/237/223/220services/border.service.js +57 -37
- package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +1 -1
- package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +7 -7
- package/dist/physics/module//360/237/223/220services/collisions.service.js +110 -98
- package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +28 -6
- package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +121 -89
- package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +15 -7
- package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +117 -93
- package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -7
- package/dist/physics/module//360/237/223/220services/explosion.service.js +102 -77
- package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.d.ts +15 -7
- package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.js +117 -93
- package/dist/physics/module//360/237/223/220services/explosions/explosion.service.d.ts +14 -7
- package/dist/physics/module//360/237/223/220services/explosions/explosion.service.js +102 -77
- package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.d.ts +3 -3
- package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.js +71 -67
- package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +3 -3
- package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -67
- package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +1 -1
- package/dist/physics/module//360/237/223/220services/materials.service.d.ts +16 -11
- package/dist/physics/module//360/237/223/220services/materials.service.js +118 -108
- package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +19 -8
- package/dist/physics/module//360/237/223/220services/path-finder.service.js +121 -82
- package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +30 -15
- package/dist/physics/module//360/237/223/220services/physics-world.service.js +122 -100
- package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +3 -3
- package/dist/physics/module//360/237/223/220services/ray-casting.service.js +87 -86
- package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -4
- package/dist/physics/module//360/237/223/220services/shape-creation.service.js +113 -84
- package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +2 -1
- package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +8 -8
- package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +32 -33
- package/dist/physics/physics-world.d.ts +50 -34
- package/dist/physics/physics-world.js +142 -133
- package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.d.ts +3 -3
- package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js +15 -13
- package/dist/physics/sub-elements/available-spaces/physics-availability-grid.d.ts +9 -9
- package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js +82 -77
- package/dist/physics/sub-elements/available-spaces/physics-available-spaces.d.ts +18 -14
- package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js +91 -79
- package/dist/physics/sub-elements/collisions/contact-equation-orginiser.d.ts +11 -11
- package/dist/physics/sub-elements/collisions/contact-equation-orginiser.js +84 -76
- package/dist/physics/sub-elements/collisions/physics-collision.d.ts +7 -7
- package/dist/physics/sub-elements/collisions/physics-collision.js +43 -44
- package/dist/physics/sub-elements/elements/physics-body-groups.d.ts +11 -11
- package/dist/physics/sub-elements/elements/physics-body-groups.js +54 -54
- package/dist/physics/sub-elements/elements/physics-materials.d.ts +15 -10
- package/dist/physics/sub-elements/elements/physics-materials.js +101 -100
- package/dist/physics/sub-elements/elements/physics-world-borders.d.ts +3 -3
- package/dist/physics/sub-elements/elements/physics-world-borders.js +69 -45
- package/dist/physics/sub-elements/physics-body-groups.d.ts +8 -8
- package/dist/physics/sub-elements/physics-body-groups.js +41 -42
- package/dist/physics/sub-elements/physics-collision.d.ts +16 -16
- package/dist/physics/sub-elements/physics-collision.js +141 -121
- package/dist/physics/sub-elements/physics-materials.d.ts +15 -10
- package/dist/physics/sub-elements/physics-materials.js +101 -100
- package/dist/physics/sub-elements/physics-world-borders.d.ts +2 -2
- package/dist/physics/sub-elements/physics-world-borders.js +25 -26
- package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.d.ts +15 -11
- package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.js +59 -59
- package/dist/physics/sub-elements/raycasting/physics-explosion.d.ts +13 -6
- package/dist/physics/sub-elements/raycasting/physics-explosion.js +108 -73
- package/dist/physics/sub-elements/raycasting/ray-cast.d.ts +19 -19
- package/dist/physics/sub-elements/raycasting/ray-cast.js +93 -98
- package/dist/pixi/display-object/components/filters.d.ts +18 -18
- package/dist/pixi/display-object/components/filters.js +106 -81
- package/dist/pixi/display-object/components/glow-effect.d.ts +8 -8
- package/dist/pixi/display-object/components/glow-effect.js +33 -36
- package/dist/pixi/display-object/components/glow-filter.d.ts +8 -8
- package/dist/pixi/display-object/components/glow-filter.js +33 -36
- package/dist/pixi/display-object/container-attributes.js +1 -1
- package/dist/pixi/display-object/display-object-attributes.d.ts +41 -41
- package/dist/pixi/display-object/display-object-attributes.js +148 -150
- package/dist/pixi/display-object/display-object.d.ts +17 -17
- package/dist/pixi/display-object/display-object.js +79 -75
- package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.d.ts +9 -4
- package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.js +89 -77
- package/dist/pixi/display-object/filters/base-filters/blur.filter.js +30 -30
- package/dist/pixi/display-object/filters/base-filters/contrast-filter.d.ts +9 -4
- package/dist/pixi/display-object/filters/base-filters/contrast-filter.js +62 -53
- package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.d.ts +10 -5
- package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.js +93 -81
- package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.d.ts +12 -7
- package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.js +120 -109
- package/dist/pixi/display-object/filters/base-filters/expand-with-color.d.ts +10 -5
- package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +32 -32
- package/dist/pixi/display-object/filters/base-filters/expand-with-color.js +92 -85
- package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +28 -28
- package/dist/pixi/display-object/filters/templates/plane.template.js +20 -20
- package/dist/pixi/display-object/filters.js +20 -4
- package/dist/pixi/display-object/objects/components/filters.d.ts +18 -18
- package/dist/pixi/display-object/objects/components/filters.js +106 -81
- package/dist/pixi/display-object/objects/container.d.ts +2 -2
- package/dist/pixi/display-object/objects/container.js +39 -30
- package/dist/pixi/display-object/objects/graphics.d.ts +28 -28
- package/dist/pixi/display-object/objects/graphics.js +218 -202
- package/dist/pixi/display-object/objects/helpers/filters.d.ts +25 -25
- package/dist/pixi/display-object/objects/helpers/filters.js +150 -124
- package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.d.ts +7 -7
- package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.js +114 -95
- package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.d.ts +5 -5
- package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.js +81 -57
- package/dist/pixi/display-object/objects/sprite.d.ts +43 -43
- package/dist/pixi/display-object/objects/sprite.js +248 -233
- package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +1 -1
- package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +9 -9
- package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +1 -1
- package/dist/pixi/display-object/objects/text.d.ts +25 -25
- package/dist/pixi/display-object/objects/text.js +111 -102
- package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.d.ts +13 -9
- package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.js +96 -67
- package/dist/pixi/game.d.ts +1 -1
- package/dist/pixi/game.js +2 -2
- package/dist/pixi/helpers/glow-sprite-generator.d.ts +6 -6
- package/dist/pixi/helpers/glow-sprite-generator.js +99 -84
- package/dist/pixi/helpers/pixi-container.helper.d.ts +1 -1
- package/dist/pixi/helpers/pixi-container.helper.js +10 -8
- package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +1 -1
- package/dist/pixi/helpers/screen-position-to-stage.helper.js +12 -12
- package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +174 -79
- package/dist/pixi/modules/CAMERA/index.d.ts +1 -1
- package/dist/pixi/modules/CAMERA/index.js +3 -3
- package/dist/pixi/modules/CAMERA//360/237/247/212entities/camera.entity.js +1 -1
- package/dist/services/keyboard/keyboard.d.ts +4 -4
- package/dist/services/keyboard/keyboard.js +39 -31
- package/dist/services/mouse/mouse.service.d.ts +8 -8
- package/dist/services/mouse/mouse.service.js +65 -53
- package/dist/services/mouse/mouser-target-focus.service.d.ts +11 -11
- package/dist/services/mouse/mouser-target-focus.service.js +83 -81
- package/dist/utilities/libraries/animator/animating-content/state-animation.d.ts +29 -26
- package/dist/utilities/libraries/animator/animating-content/state-animation.js +159 -165
- package/dist/utilities/libraries/animator/animating-content/state-animation.test.js +386 -375
- package/dist/utilities/libraries/animator/animator.spec.js +765 -656
- package/dist/utilities/libraries/binary-heap/binary-heap.d.ts +11 -11
- package/dist/utilities/libraries/binary-heap/binary-heap.js +79 -81
- package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.d.ts +11 -11
- package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.js +79 -81
- package/dist/utilities/libraries/data-structures/grid/grid.d.ts +35 -31
- package/dist/utilities/libraries/data-structures/grid/grid.js +128 -117
- package/dist/utilities/libraries/data-structures/grid/grid.spec.js +176 -138
- package/dist/utilities/libraries/data-structures/grid/grid.test.js +218 -141
- package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.d.ts +3 -3
- package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.js +15 -13
- package/dist/utilities/libraries/data-structures/queue/queue.d.ts +21 -21
- package/dist/utilities/libraries/data-structures/queue/queue.js +63 -66
- package/dist/utilities/libraries/data-structures/queue/queue.test.js +54 -55
- package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.spec.js +122 -68
- package/dist/utilities/libraries/grid-algorithms/path-finder/path-finder.spec.js +140 -135
- package/dist/utilities/libraries/grid-algorithms/vector-field-path-finder/vector-field-path-finder.spec.js +293 -229
- package/dist/utilities/libraries/path-finder/path-finder.d.ts +7 -7
- package/dist/utilities/libraries/path-finder/path-finder.js +113 -109
- package/dist/utilities/libraries/path-finder/path-finder.spec.js +131 -106
- package/dist/utilities/services/keyboard/keyboard.d.ts +4 -4
- package/dist/utilities/services/keyboard/keyboard.js +42 -34
- package/dist/utilities/services/mouse/helpers/mouse-position.helper.d.ts +1 -1
- package/dist/utilities/services/mouse/helpers/mouse-position.helper.js +12 -12
- package/dist/utilities/services/mouse/helpers/mouse-position.helper.test.js +168 -73
- package/dist/utilities/services/mouse/mouse-target-focus.service.d.ts +15 -15
- package/dist/utilities/services/mouse/mouse-target-focus.service.js +79 -76
- package/dist/utilities/services/mouse/mouse.service.d.ts +9 -9
- package/dist/utilities/services/mouse/mouse.service.js +86 -72
- package/dist/utilities/services/mouse/mouser-target-focus.service.d.ts +11 -11
- package/dist/utilities/services/mouse/mouser-target-focus.service.js +83 -81
- package/package.json +8 -13
|
@@ -1,514 +1,498 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
var __createBinding =
|
|
2
|
+
(this && this.__createBinding) ||
|
|
3
|
+
(Object.create
|
|
4
|
+
? (o, m, k, k2) => {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: () => m[k] };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}
|
|
12
|
+
: (o, m, k, k2) => {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
});
|
|
16
|
+
var __setModuleDefault =
|
|
17
|
+
(this && this.__setModuleDefault) ||
|
|
18
|
+
(Object.create
|
|
19
|
+
? (o, v) => {
|
|
20
|
+
Object.defineProperty(o, 'default', { enumerable: true, value: v });
|
|
21
|
+
}
|
|
22
|
+
: (o, v) => {
|
|
23
|
+
o['default'] = v;
|
|
24
|
+
});
|
|
25
|
+
var __decorate =
|
|
26
|
+
(this && this.__decorate) ||
|
|
27
|
+
((decorators, target, key, desc) => {
|
|
28
|
+
var c = arguments.length,
|
|
29
|
+
r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc,
|
|
30
|
+
d;
|
|
31
|
+
if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
|
|
32
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
33
|
+
else
|
|
34
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
35
|
+
if ((d = decorators[i])) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
36
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
-
};
|
|
24
|
-
var __importStar =
|
|
37
|
+
});
|
|
38
|
+
var __importStar =
|
|
39
|
+
(this && this.__importStar) ||
|
|
40
|
+
(mod => {
|
|
25
41
|
if (mod && mod.__esModule) return mod;
|
|
26
42
|
var result = {};
|
|
27
|
-
if (mod != null) for (var k in mod) if (k !==
|
|
43
|
+
if (mod != null) for (var k in mod) if (k !== 'default' && Object.hasOwn(mod, k)) __createBinding(result, mod, k);
|
|
28
44
|
__setModuleDefault(result, mod);
|
|
29
45
|
return result;
|
|
30
|
-
};
|
|
31
|
-
var __metadata =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
46
|
+
});
|
|
47
|
+
var __metadata =
|
|
48
|
+
(this && this.__metadata) ||
|
|
49
|
+
((k, v) => {
|
|
50
|
+
if (typeof Reflect === 'object' && typeof Reflect.metadata === 'function') return Reflect.metadata(k, v);
|
|
51
|
+
});
|
|
52
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
53
|
+
const vitest_1 = require('vitest');
|
|
54
|
+
const helpers_lib_1 = require('helpers-lib');
|
|
55
|
+
const actions_lib_1 = require('actions-lib');
|
|
56
|
+
const ActionsLib = __importStar(require('actions-lib'));
|
|
57
|
+
const entity_1 = require('../entity/entity');
|
|
58
|
+
const view_1 = require('./view');
|
|
59
|
+
const update_loop_1 = require('../update-loop');
|
|
60
|
+
const scene_1 = require('../scene/scene');
|
|
61
|
+
const decorate_actions_lib_1 = require('../attachable/helpers/decorate-actions-lib');
|
|
44
62
|
decorate_actions_lib_1.ActionsLibDecorator.decorate(ActionsLib);
|
|
45
63
|
(0, vitest_1.describe)('VIEW', () => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
(0,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
let
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
(0,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
(
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
(0, vitest_1.expect)(
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
(
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
})
|
|
480
|
-
.attach(this);
|
|
481
|
-
}
|
|
482
|
-
update() {
|
|
483
|
-
sampleAction.trigger();
|
|
484
|
-
}
|
|
485
|
-
};
|
|
486
|
-
Sample = Sample_1 = __decorate([
|
|
487
|
-
(0, entity_1.EntityDecorator)(),
|
|
488
|
-
__metadata("design:paramtypes", [])
|
|
489
|
-
], Sample);
|
|
490
|
-
let SampleView = class SampleView extends view_1.View {
|
|
491
|
-
static { SampleView_10 = this; }
|
|
492
|
-
static { this.triggered = false; }
|
|
493
|
-
constructor(entity) {
|
|
494
|
-
super();
|
|
495
|
-
}
|
|
496
|
-
async init() {
|
|
497
|
-
sampleAction
|
|
498
|
-
.subscribe(() => {
|
|
499
|
-
SampleView_10.triggered = true;
|
|
500
|
-
})
|
|
501
|
-
.attach(this);
|
|
502
|
-
}
|
|
503
|
-
};
|
|
504
|
-
SampleView = SampleView_10 = __decorate([
|
|
505
|
-
(0, view_1.ViewDecorator)({ entity: Sample }),
|
|
506
|
-
__metadata("design:paramtypes", [Sample])
|
|
507
|
-
], SampleView);
|
|
508
|
-
let entity = new Sample().attach(scene_1.Scene.activeScene);
|
|
509
|
-
update_loop_1.UpdateCycle.triggerUpdateTick(0);
|
|
510
|
-
(0, vitest_1.expect)(Sample.triggered).toEqual(true);
|
|
511
|
-
(0, vitest_1.expect)(SampleView.triggered).toEqual(true);
|
|
512
|
-
});
|
|
64
|
+
(0, vitest_1.beforeEach)(() => {
|
|
65
|
+
update_loop_1.UpdateCycle.hardResetAction.trigger();
|
|
66
|
+
let SampleScene = class SampleScene extends scene_1.Scene {};
|
|
67
|
+
SampleScene = __decorate([(0, scene_1.SceneDecorator)()], SampleScene);
|
|
68
|
+
SampleScene.open(undefined);
|
|
69
|
+
});
|
|
70
|
+
(0, vitest_1.test)('entity creation should create related view', () => {
|
|
71
|
+
var SampleView_1;
|
|
72
|
+
let Sample = class Sample extends entity_1.Entity {};
|
|
73
|
+
Sample = __decorate([(0, entity_1.EntityDecorator)()], Sample);
|
|
74
|
+
let SampleView = class SampleView extends view_1.View {
|
|
75
|
+
static {
|
|
76
|
+
SampleView_1 = SampleView;
|
|
77
|
+
}
|
|
78
|
+
constructor(entity) {
|
|
79
|
+
super();
|
|
80
|
+
SampleView_1.viewInstance = this;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
SampleView = SampleView_1 = __decorate(
|
|
84
|
+
[(0, view_1.ViewDecorator)({ entity: Sample }), __metadata('design:paramtypes', [Sample])],
|
|
85
|
+
SampleView
|
|
86
|
+
);
|
|
87
|
+
new Sample().attach(scene_1.Scene.activeScene);
|
|
88
|
+
(0, vitest_1.expect)(SampleView.viewInstance).toBeDefined();
|
|
89
|
+
});
|
|
90
|
+
(0, vitest_1.test)('class names should be unique', () => {
|
|
91
|
+
let Sample = class Sample extends entity_1.Entity {};
|
|
92
|
+
Sample = __decorate([(0, entity_1.EntityDecorator)()], Sample);
|
|
93
|
+
(0, vitest_1.expect)(() => {
|
|
94
|
+
{
|
|
95
|
+
let SampleView = class SampleView extends view_1.View {};
|
|
96
|
+
SampleView = __decorate([(0, view_1.ViewDecorator)({ entity: Sample })], SampleView);
|
|
97
|
+
}
|
|
98
|
+
{
|
|
99
|
+
let SampleView = class SampleView extends view_1.View {};
|
|
100
|
+
SampleView = __decorate([(0, view_1.ViewDecorator)({ entity: Sample })], SampleView);
|
|
101
|
+
}
|
|
102
|
+
}).toThrow();
|
|
103
|
+
});
|
|
104
|
+
(0, vitest_1.test)('entity creation should create related view once', () => {
|
|
105
|
+
var SampleView_2;
|
|
106
|
+
let Sample = class Sample extends entity_1.Entity {};
|
|
107
|
+
Sample = __decorate([(0, entity_1.EntityDecorator)()], Sample);
|
|
108
|
+
let SampleView = class SampleView extends view_1.View {
|
|
109
|
+
static {
|
|
110
|
+
SampleView_2 = SampleView;
|
|
111
|
+
}
|
|
112
|
+
static {
|
|
113
|
+
SampleView.viewCall = 0;
|
|
114
|
+
}
|
|
115
|
+
constructor(entity) {
|
|
116
|
+
super();
|
|
117
|
+
SampleView_2.viewCall++;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
SampleView = SampleView_2 = __decorate(
|
|
121
|
+
[(0, view_1.ViewDecorator)({ entity: Sample }), __metadata('design:paramtypes', [Sample])],
|
|
122
|
+
SampleView
|
|
123
|
+
);
|
|
124
|
+
new Sample().attach(scene_1.Scene.activeScene);
|
|
125
|
+
(0, vitest_1.expect)(SampleView.viewCall).toEqual(1);
|
|
126
|
+
});
|
|
127
|
+
(0, vitest_1.test)('entities should not destroy each others views on destroy', () => {
|
|
128
|
+
var SampleView_3;
|
|
129
|
+
let BaseEntity = class BaseEntity extends entity_1.Entity {};
|
|
130
|
+
BaseEntity = __decorate([(0, entity_1.EntityDecorator)()], BaseEntity);
|
|
131
|
+
const baseEntity = new BaseEntity().attach(scene_1.Scene.activeScene);
|
|
132
|
+
let Sample = class Sample extends entity_1.Entity {};
|
|
133
|
+
Sample = __decorate([(0, entity_1.EntityDecorator)()], Sample);
|
|
134
|
+
let SampleView = class SampleView extends view_1.View {
|
|
135
|
+
static {
|
|
136
|
+
SampleView_3 = SampleView;
|
|
137
|
+
}
|
|
138
|
+
static {
|
|
139
|
+
SampleView.viewInstanceCount = 0;
|
|
140
|
+
}
|
|
141
|
+
constructor(entity) {
|
|
142
|
+
super();
|
|
143
|
+
SampleView_3.viewInstanceCount++;
|
|
144
|
+
}
|
|
145
|
+
destroy() {
|
|
146
|
+
SampleView_3.viewInstanceCount--;
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
SampleView = SampleView_3 = __decorate(
|
|
150
|
+
[(0, view_1.ViewDecorator)({ entity: Sample }), __metadata('design:paramtypes', [Sample])],
|
|
151
|
+
SampleView
|
|
152
|
+
);
|
|
153
|
+
const entity1 = new Sample().attach(baseEntity);
|
|
154
|
+
const entity2 = new Sample().attach(baseEntity);
|
|
155
|
+
(0, vitest_1.expect)(SampleView.viewInstanceCount).toEqual(2);
|
|
156
|
+
entity1.destroy();
|
|
157
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0); // Update cycle should take place to destroy functions to be called
|
|
158
|
+
(0, vitest_1.expect)(SampleView.viewInstanceCount).toEqual(1);
|
|
159
|
+
entity2.destroy();
|
|
160
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0); // Update cycle should take place to destroy functions to be called
|
|
161
|
+
(0, vitest_1.expect)(SampleView.viewInstanceCount).toEqual(0);
|
|
162
|
+
});
|
|
163
|
+
(0, vitest_1.test)('entity destruction should destroy related views', () => {
|
|
164
|
+
let viewDestroyCount = 0;
|
|
165
|
+
let Sample = class Sample extends entity_1.Entity {};
|
|
166
|
+
Sample = __decorate([(0, entity_1.EntityDecorator)()], Sample);
|
|
167
|
+
let SampleView = class SampleView extends view_1.View {
|
|
168
|
+
destroy() {
|
|
169
|
+
viewDestroyCount++;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
SampleView = __decorate([(0, view_1.ViewDecorator)({ entity: Sample })], SampleView);
|
|
173
|
+
const entity = new Sample().attach(scene_1.Scene.activeScene);
|
|
174
|
+
entity.destroy();
|
|
175
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0); // Update cycle should take place to destroy functions to be called
|
|
176
|
+
(0, vitest_1.expect)(viewDestroyCount).toEqual(1);
|
|
177
|
+
});
|
|
178
|
+
(0, vitest_1.test)('view destruction should destroy attached items', () => {
|
|
179
|
+
let viewDestroyCount = 0;
|
|
180
|
+
let Sample = class Sample extends entity_1.Entity {};
|
|
181
|
+
Sample = __decorate([(0, entity_1.EntityDecorator)()], Sample);
|
|
182
|
+
let Sample2 = class Sample2 extends entity_1.Entity {
|
|
183
|
+
destroy() {
|
|
184
|
+
viewDestroyCount++;
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
Sample2 = __decorate([(0, entity_1.EntityDecorator)()], Sample2);
|
|
188
|
+
let SampleView = class SampleView extends view_1.View {
|
|
189
|
+
constructor(entity) {
|
|
190
|
+
super();
|
|
191
|
+
new Sample2().attach(this);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
SampleView = __decorate(
|
|
195
|
+
[(0, view_1.ViewDecorator)({ entity: Sample }), __metadata('design:paramtypes', [Sample])],
|
|
196
|
+
SampleView
|
|
197
|
+
);
|
|
198
|
+
const entity = new Sample().attach(scene_1.Scene.activeScene);
|
|
199
|
+
entity.destroy();
|
|
200
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0); // Update cycle should take place to destroy functions to be called
|
|
201
|
+
(0, vitest_1.expect)(viewDestroyCount).toEqual(1);
|
|
202
|
+
});
|
|
203
|
+
(0, vitest_1.test)('triggering destroy() multiple times should not take effect multiply', () => {
|
|
204
|
+
let viewDestroyCount = 0;
|
|
205
|
+
let Sample = class Sample extends entity_1.Entity {};
|
|
206
|
+
Sample = __decorate([(0, entity_1.EntityDecorator)()], Sample);
|
|
207
|
+
let SampleView = class SampleView extends view_1.View {
|
|
208
|
+
destroy() {
|
|
209
|
+
viewDestroyCount++;
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
SampleView = __decorate([(0, view_1.ViewDecorator)({ entity: Sample })], SampleView);
|
|
213
|
+
const entity = new Sample().attach(scene_1.Scene.activeScene);
|
|
214
|
+
entity.destroy();
|
|
215
|
+
entity.destroy();
|
|
216
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0); // Update cycle should take place to destroy functions to be called
|
|
217
|
+
(0, vitest_1.expect)(viewDestroyCount).toEqual(1);
|
|
218
|
+
});
|
|
219
|
+
(0, vitest_1.test)('update tick should update view', async () => {
|
|
220
|
+
let viewUpdateCount = 0;
|
|
221
|
+
let Sample = class Sample extends entity_1.Entity {};
|
|
222
|
+
Sample = __decorate([(0, entity_1.EntityDecorator)()], Sample);
|
|
223
|
+
let SampleView = class SampleView extends view_1.View {
|
|
224
|
+
constructor(entity) {
|
|
225
|
+
super();
|
|
226
|
+
}
|
|
227
|
+
update() {
|
|
228
|
+
viewUpdateCount++;
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
SampleView = __decorate(
|
|
232
|
+
[(0, view_1.ViewDecorator)({ entity: Sample }), __metadata('design:paramtypes', [Sample])],
|
|
233
|
+
SampleView
|
|
234
|
+
);
|
|
235
|
+
new Sample().attach(scene_1.Scene.activeScene);
|
|
236
|
+
await (0, helpers_lib_1.Wait)(); // wait for async view init to be completed, so views can listen update ticks
|
|
237
|
+
(0, vitest_1.expect)(viewUpdateCount).toEqual(0);
|
|
238
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0);
|
|
239
|
+
(0, vitest_1.expect)(viewUpdateCount).toEqual(1);
|
|
240
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0);
|
|
241
|
+
(0, vitest_1.expect)(viewUpdateCount).toEqual(2);
|
|
242
|
+
});
|
|
243
|
+
(0, vitest_1.test)('decorator should not effect static variables', () => {
|
|
244
|
+
let BaseEntity = class BaseEntity extends entity_1.Entity {};
|
|
245
|
+
BaseEntity = __decorate([(0, entity_1.EntityDecorator)()], BaseEntity);
|
|
246
|
+
let SampleView = class SampleView extends view_1.View {
|
|
247
|
+
static {
|
|
248
|
+
SampleView.test = 'test';
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
SampleView = __decorate([(0, view_1.ViewDecorator)({ entity: BaseEntity })], SampleView);
|
|
252
|
+
(0, vitest_1.expect)(SampleView.test).toEqual('test');
|
|
253
|
+
});
|
|
254
|
+
(0, vitest_1.test)('should wait until creation and return the view object after', async () => {
|
|
255
|
+
var SampleView_4;
|
|
256
|
+
let BaseEntity = class BaseEntity extends entity_1.Entity {};
|
|
257
|
+
BaseEntity = __decorate([(0, entity_1.EntityDecorator)()], BaseEntity);
|
|
258
|
+
let SampleView = class SampleView extends view_1.View {
|
|
259
|
+
static {
|
|
260
|
+
SampleView_4 = SampleView;
|
|
261
|
+
}
|
|
262
|
+
constructor(entity) {
|
|
263
|
+
super();
|
|
264
|
+
SampleView_4.instance = this;
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
SampleView = SampleView_4 = __decorate(
|
|
268
|
+
[(0, view_1.ViewDecorator)({ entity: BaseEntity }), __metadata('design:paramtypes', [BaseEntity])],
|
|
269
|
+
SampleView
|
|
270
|
+
);
|
|
271
|
+
const baseEntity = new BaseEntity().attach(scene_1.Scene.activeScene);
|
|
272
|
+
const view = await SampleView.getInstanceOrFail(baseEntity.id);
|
|
273
|
+
(0, vitest_1.expect)(SampleView.instance).toBeDefined();
|
|
274
|
+
(0, vitest_1.expect)(SampleView.instance).toEqual(view);
|
|
275
|
+
});
|
|
276
|
+
(0, vitest_1.test)('should wait until creation and return the view object after in other views init', async () => {
|
|
277
|
+
var SampleView1_1;
|
|
278
|
+
let BaseEntity = class BaseEntity extends entity_1.Entity {};
|
|
279
|
+
BaseEntity = __decorate([(0, entity_1.EntityDecorator)()], BaseEntity);
|
|
280
|
+
let SampleView2 = class SampleView2 extends view_1.View {
|
|
281
|
+
constructor(entity) {
|
|
282
|
+
super();
|
|
283
|
+
this.entity = entity;
|
|
284
|
+
}
|
|
285
|
+
async init() {
|
|
286
|
+
const view = await SampleView1.getInstanceOrFail(this.entity.id);
|
|
287
|
+
(0, vitest_1.expect)(SampleView1.instance).toBeDefined();
|
|
288
|
+
(0, vitest_1.expect)(SampleView1.instance).toEqual(view);
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
SampleView2 = __decorate(
|
|
292
|
+
[(0, view_1.ViewDecorator)({ entity: BaseEntity }), __metadata('design:paramtypes', [BaseEntity])],
|
|
293
|
+
SampleView2
|
|
294
|
+
);
|
|
295
|
+
let SampleView1 = class SampleView1 extends view_1.View {
|
|
296
|
+
static {
|
|
297
|
+
SampleView1_1 = SampleView1;
|
|
298
|
+
}
|
|
299
|
+
constructor(entity) {
|
|
300
|
+
super();
|
|
301
|
+
SampleView1_1.instance = this;
|
|
302
|
+
}
|
|
303
|
+
async init() {
|
|
304
|
+
await (0, helpers_lib_1.Wait)();
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
SampleView1 = SampleView1_1 = __decorate(
|
|
308
|
+
[(0, view_1.ViewDecorator)({ entity: BaseEntity }), __metadata('design:paramtypes', [BaseEntity])],
|
|
309
|
+
SampleView1
|
|
310
|
+
);
|
|
311
|
+
new BaseEntity().attach(scene_1.Scene.activeScene);
|
|
312
|
+
});
|
|
313
|
+
(0, vitest_1.test)(
|
|
314
|
+
'should wait until creation and return the view object after, case entity get created before the view definition',
|
|
315
|
+
async () => {
|
|
316
|
+
var SampleView_5;
|
|
317
|
+
let BaseEntity = class BaseEntity extends entity_1.Entity {};
|
|
318
|
+
BaseEntity = __decorate([(0, entity_1.EntityDecorator)()], BaseEntity);
|
|
319
|
+
const baseEntity = new BaseEntity().attach(scene_1.Scene.activeScene);
|
|
320
|
+
let SampleView = class SampleView extends view_1.View {
|
|
321
|
+
static {
|
|
322
|
+
SampleView_5 = SampleView;
|
|
323
|
+
}
|
|
324
|
+
constructor(entity) {
|
|
325
|
+
super();
|
|
326
|
+
SampleView_5.instance = this;
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
SampleView = SampleView_5 = __decorate(
|
|
330
|
+
[(0, view_1.ViewDecorator)({ entity: BaseEntity }), __metadata('design:paramtypes', [BaseEntity])],
|
|
331
|
+
SampleView
|
|
332
|
+
);
|
|
333
|
+
const view = await SampleView.getInstanceOrFail(baseEntity.id);
|
|
334
|
+
(0, vitest_1.expect)(SampleView.instance).toBeDefined();
|
|
335
|
+
(0, vitest_1.expect)(SampleView.instance).toEqual(view);
|
|
336
|
+
}
|
|
337
|
+
);
|
|
338
|
+
(0, vitest_1.test)('should wait until creation and return the view object after when there is an async init', async () => {
|
|
339
|
+
var SampleView_6;
|
|
340
|
+
let BaseEntity = class BaseEntity extends entity_1.Entity {};
|
|
341
|
+
BaseEntity = __decorate([(0, entity_1.EntityDecorator)()], BaseEntity);
|
|
342
|
+
let SampleView = class SampleView extends view_1.View {
|
|
343
|
+
static {
|
|
344
|
+
SampleView_6 = SampleView;
|
|
345
|
+
}
|
|
346
|
+
constructor(entity) {
|
|
347
|
+
super();
|
|
348
|
+
}
|
|
349
|
+
async init() {
|
|
350
|
+
await (0, helpers_lib_1.Wait)();
|
|
351
|
+
SampleView_6.instance = this;
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
SampleView = SampleView_6 = __decorate(
|
|
355
|
+
[(0, view_1.ViewDecorator)({ entity: BaseEntity }), __metadata('design:paramtypes', [BaseEntity])],
|
|
356
|
+
SampleView
|
|
357
|
+
);
|
|
358
|
+
const baseEntity = new BaseEntity().attach(scene_1.Scene.activeScene);
|
|
359
|
+
const view = await SampleView.getInstanceOrFail(baseEntity.id);
|
|
360
|
+
(0, vitest_1.expect)(SampleView.instance).toBeDefined();
|
|
361
|
+
(0, vitest_1.expect)(SampleView.instance).toEqual(view);
|
|
362
|
+
});
|
|
363
|
+
(0, vitest_1.test)(
|
|
364
|
+
'should wait until creation and return the view object after when there is an async init, case entity get created before the view definition',
|
|
365
|
+
async () => {
|
|
366
|
+
var SampleView_7;
|
|
367
|
+
let BaseEntity = class BaseEntity extends entity_1.Entity {};
|
|
368
|
+
BaseEntity = __decorate([(0, entity_1.EntityDecorator)()], BaseEntity);
|
|
369
|
+
const baseEntity = new BaseEntity().attach(scene_1.Scene.activeScene);
|
|
370
|
+
let SampleView = class SampleView extends view_1.View {
|
|
371
|
+
static {
|
|
372
|
+
SampleView_7 = SampleView;
|
|
373
|
+
}
|
|
374
|
+
constructor(entity) {
|
|
375
|
+
super();
|
|
376
|
+
}
|
|
377
|
+
async init() {
|
|
378
|
+
await (0, helpers_lib_1.Wait)();
|
|
379
|
+
SampleView_7.instance = this;
|
|
380
|
+
}
|
|
381
|
+
};
|
|
382
|
+
SampleView = SampleView_7 = __decorate(
|
|
383
|
+
[(0, view_1.ViewDecorator)({ entity: BaseEntity }), __metadata('design:paramtypes', [BaseEntity])],
|
|
384
|
+
SampleView
|
|
385
|
+
);
|
|
386
|
+
const view = await SampleView.getInstanceOrFail(baseEntity.id);
|
|
387
|
+
(0, vitest_1.expect)(SampleView.instance).toBeDefined();
|
|
388
|
+
(0, vitest_1.expect)(SampleView.instance).toEqual(view);
|
|
389
|
+
}
|
|
390
|
+
);
|
|
391
|
+
(0, vitest_1.test)('should throw error if the entity id is belonging to another entity', async () => {
|
|
392
|
+
var SampleView_8;
|
|
393
|
+
let BaseEntity = class BaseEntity extends entity_1.Entity {};
|
|
394
|
+
BaseEntity = __decorate([(0, entity_1.EntityDecorator)()], BaseEntity);
|
|
395
|
+
const baseEntity = new BaseEntity().attach(scene_1.Scene.activeScene);
|
|
396
|
+
let SampleEntity = class SampleEntity extends entity_1.Entity {};
|
|
397
|
+
SampleEntity = __decorate([(0, entity_1.EntityDecorator)()], SampleEntity);
|
|
398
|
+
const sampleEntity = new SampleEntity().attach(baseEntity);
|
|
399
|
+
let SampleView = class SampleView extends view_1.View {
|
|
400
|
+
static {
|
|
401
|
+
SampleView_8 = SampleView;
|
|
402
|
+
}
|
|
403
|
+
constructor(entity) {
|
|
404
|
+
super();
|
|
405
|
+
SampleView_8.instance = this;
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
SampleView = SampleView_8 = __decorate(
|
|
409
|
+
[(0, view_1.ViewDecorator)({ entity: BaseEntity }), __metadata('design:paramtypes', [BaseEntity])],
|
|
410
|
+
SampleView
|
|
411
|
+
);
|
|
412
|
+
(0, vitest_1.expect)(async () => await SampleView.getInstanceOrFail(sampleEntity.id)).rejects.toThrow();
|
|
413
|
+
});
|
|
414
|
+
(0, vitest_1.test)('update tick should not update view until creation is complete', () => {
|
|
415
|
+
var SampleView_9;
|
|
416
|
+
let viewUpdateCount = 0;
|
|
417
|
+
let Sample = class Sample extends entity_1.Entity {};
|
|
418
|
+
Sample = __decorate([(0, entity_1.EntityDecorator)()], Sample);
|
|
419
|
+
let SampleView = class SampleView extends view_1.View {
|
|
420
|
+
static {
|
|
421
|
+
SampleView_9 = SampleView;
|
|
422
|
+
}
|
|
423
|
+
constructor(entity) {
|
|
424
|
+
super();
|
|
425
|
+
SampleView_9.instance = this;
|
|
426
|
+
}
|
|
427
|
+
async init() {
|
|
428
|
+
await (0, helpers_lib_1.Wait)();
|
|
429
|
+
}
|
|
430
|
+
update() {
|
|
431
|
+
viewUpdateCount++;
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
SampleView = SampleView_9 = __decorate(
|
|
435
|
+
[(0, view_1.ViewDecorator)({ entity: Sample }), __metadata('design:paramtypes', [Sample])],
|
|
436
|
+
SampleView
|
|
437
|
+
);
|
|
438
|
+
new Sample().attach(scene_1.Scene.activeScene);
|
|
439
|
+
(0, vitest_1.expect)(viewUpdateCount).toEqual(0);
|
|
440
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0);
|
|
441
|
+
(0, vitest_1.expect)(viewUpdateCount).toEqual(0);
|
|
442
|
+
SampleView.instance['creationIsDone']();
|
|
443
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0);
|
|
444
|
+
(0, vitest_1.expect)(viewUpdateCount).toEqual(1);
|
|
445
|
+
});
|
|
446
|
+
(0, vitest_1.test)('once entity is destroyed, it should not take effect until view completes its cycle', async () => {
|
|
447
|
+
var Sample_1, SampleView_10;
|
|
448
|
+
const sampleAction = new actions_lib_1.Action();
|
|
449
|
+
let Sample = class Sample extends entity_1.Entity {
|
|
450
|
+
static {
|
|
451
|
+
Sample_1 = Sample;
|
|
452
|
+
}
|
|
453
|
+
static {
|
|
454
|
+
Sample.triggered = false;
|
|
455
|
+
}
|
|
456
|
+
constructor() {
|
|
457
|
+
super();
|
|
458
|
+
sampleAction
|
|
459
|
+
.subscribe(() => {
|
|
460
|
+
Sample_1.triggered = true;
|
|
461
|
+
entity.destroy();
|
|
462
|
+
})
|
|
463
|
+
.attach(this);
|
|
464
|
+
}
|
|
465
|
+
update() {
|
|
466
|
+
sampleAction.trigger();
|
|
467
|
+
}
|
|
468
|
+
};
|
|
469
|
+
Sample = Sample_1 = __decorate([(0, entity_1.EntityDecorator)(), __metadata('design:paramtypes', [])], Sample);
|
|
470
|
+
let SampleView = class SampleView extends view_1.View {
|
|
471
|
+
static {
|
|
472
|
+
SampleView_10 = SampleView;
|
|
473
|
+
}
|
|
474
|
+
static {
|
|
475
|
+
SampleView.triggered = false;
|
|
476
|
+
}
|
|
477
|
+
constructor(entity) {
|
|
478
|
+
super();
|
|
479
|
+
}
|
|
480
|
+
async init() {
|
|
481
|
+
sampleAction
|
|
482
|
+
.subscribe(() => {
|
|
483
|
+
SampleView_10.triggered = true;
|
|
484
|
+
})
|
|
485
|
+
.attach(this);
|
|
486
|
+
}
|
|
487
|
+
};
|
|
488
|
+
SampleView = SampleView_10 = __decorate(
|
|
489
|
+
[(0, view_1.ViewDecorator)({ entity: Sample }), __metadata('design:paramtypes', [Sample])],
|
|
490
|
+
SampleView
|
|
491
|
+
);
|
|
492
|
+
const entity = new Sample().attach(scene_1.Scene.activeScene);
|
|
493
|
+
update_loop_1.UpdateCycle.triggerUpdateTick(0);
|
|
494
|
+
(0, vitest_1.expect)(Sample.triggered).toEqual(true);
|
|
495
|
+
(0, vitest_1.expect)(SampleView.triggered).toEqual(true);
|
|
496
|
+
});
|
|
513
497
|
});
|
|
514
|
-
//# sourceMappingURL=view.spec.js.map
|
|
498
|
+
//# sourceMappingURL=view.spec.js.map
|