@zylem/game-lib 0.3.16 → 0.4.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/README.md +39 -14
- package/dist/.vite/manifest.json +140 -64
- package/dist/api/actions.d.ts +5 -0
- package/dist/api/actions.d.ts.map +1 -0
- package/dist/api/behaviors.d.ts +4 -0
- package/dist/api/behaviors.d.ts.map +1 -0
- package/dist/api/camera.d.ts +4 -0
- package/dist/api/camera.d.ts.map +1 -0
- package/dist/api/core.d.ts +6 -0
- package/dist/api/core.d.ts.map +1 -0
- package/dist/api/entities.d.ts +9 -0
- package/dist/api/entities.d.ts.map +1 -0
- package/dist/api/main.d.ts +32 -0
- package/dist/api/main.d.ts.map +1 -0
- package/dist/api/stage.d.ts +7 -0
- package/dist/api/stage.d.ts.map +1 -0
- package/dist/core.js +4 -4
- package/dist/lib/actions/behaviors/actions.d.ts +1 -0
- package/dist/lib/actions/behaviors/actions.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/behavior.d.ts +1 -0
- package/dist/lib/actions/behaviors/behavior.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/boundaries/boundary.d.ts +1 -0
- package/dist/lib/actions/behaviors/boundaries/boundary.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/character-controller.d.ts +1 -0
- package/dist/lib/actions/behaviors/character-controller.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/debug/debug-collision.d.ts +1 -0
- package/dist/lib/actions/behaviors/debug/debug-collision.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/debug/debug-update.d.ts +1 -0
- package/dist/lib/actions/behaviors/debug/debug-update.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/debug/debug.d.ts +1 -0
- package/dist/lib/actions/behaviors/debug/debug.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts +1 -0
- package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts +1 -0
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts +1 -0
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts +1 -0
- package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts.map +1 -0
- package/dist/lib/actions/behaviors/zylem-behavior.d.ts +1 -0
- package/dist/lib/actions/behaviors/zylem-behavior.d.ts.map +1 -0
- package/dist/lib/actions/capabilities/moveable.d.ts +1 -0
- package/dist/lib/actions/capabilities/moveable.d.ts.map +1 -0
- package/dist/lib/actions/capabilities/rotatable.d.ts +1 -0
- package/dist/lib/actions/capabilities/rotatable.d.ts.map +1 -0
- package/dist/lib/actions/capabilities/transformable.d.ts +1 -0
- package/dist/lib/actions/capabilities/transformable.d.ts.map +1 -0
- package/dist/lib/actions/global-change.d.ts +1 -0
- package/dist/lib/actions/global-change.d.ts.map +1 -0
- package/dist/lib/camera/camera.d.ts +1 -0
- package/dist/lib/camera/camera.d.ts.map +1 -0
- package/dist/lib/camera/fixed-2d.d.ts +1 -0
- package/dist/lib/camera/fixed-2d.d.ts.map +1 -0
- package/dist/lib/camera/perspective.d.ts +1 -0
- package/dist/lib/camera/perspective.d.ts.map +1 -0
- package/dist/lib/camera/third-person.d.ts +1 -0
- package/dist/lib/camera/third-person.d.ts.map +1 -0
- package/dist/lib/camera/zylem-camera.d.ts +27 -0
- package/dist/lib/camera/zylem-camera.d.ts.map +1 -0
- package/dist/lib/camera/zylem-camera.js +100 -37
- package/dist/lib/collision/collision-builder.d.ts +1 -0
- package/dist/lib/collision/collision-builder.d.ts.map +1 -0
- package/dist/lib/collision/collision-delegate.d.ts +1 -0
- package/dist/lib/collision/collision-delegate.d.ts.map +1 -0
- package/dist/lib/collision/collision-group.d.ts +1 -0
- package/dist/lib/collision/collision-group.d.ts.map +1 -0
- package/dist/lib/collision/collision-mask.d.ts +1 -0
- package/dist/lib/collision/collision-mask.d.ts.map +1 -0
- package/dist/lib/collision/collision.d.ts +1 -0
- package/dist/lib/collision/collision.d.ts.map +1 -0
- package/dist/lib/collision/utils.d.ts +1 -0
- package/dist/lib/collision/utils.d.ts.map +1 -0
- package/dist/lib/collision/world.d.ts +1 -0
- package/dist/lib/collision/world.d.ts.map +1 -0
- package/dist/lib/core/asset-manager.d.ts +1 -0
- package/dist/lib/core/asset-manager.d.ts.map +1 -0
- package/dist/lib/core/base-node-life-cycle.d.ts +15 -0
- package/dist/lib/core/base-node-life-cycle.d.ts.map +1 -0
- package/dist/lib/core/base-node.d.ts +7 -2
- package/dist/lib/core/base-node.d.ts.map +1 -0
- package/dist/lib/core/base-node.js +7 -3
- package/dist/lib/core/entity-asset-loader.d.ts +1 -0
- package/dist/lib/core/entity-asset-loader.d.ts.map +1 -0
- package/dist/lib/core/errors.d.ts +1 -0
- package/dist/lib/core/errors.d.ts.map +1 -0
- package/dist/lib/core/flags.d.ts +1 -0
- package/dist/lib/core/flags.d.ts.map +1 -0
- package/dist/lib/core/index.d.ts +1 -0
- package/dist/lib/core/index.d.ts.map +1 -0
- package/dist/lib/core/lazy-loader.d.ts +3 -2
- package/dist/lib/core/lazy-loader.d.ts.map +1 -0
- package/dist/lib/core/lifecycle-base.d.ts +1 -0
- package/dist/lib/core/lifecycle-base.d.ts.map +1 -0
- package/dist/lib/core/preset-shader.d.ts +1 -0
- package/dist/lib/core/preset-shader.d.ts.map +1 -0
- package/dist/lib/core/three-addons/Timer.d.ts +1 -0
- package/dist/lib/core/three-addons/Timer.d.ts.map +1 -0
- package/dist/lib/core/utility/nodes.d.ts +13 -0
- package/dist/lib/core/utility/nodes.d.ts.map +1 -0
- package/dist/lib/core/utility/nodes.js +31 -0
- package/dist/lib/core/utility/strings.d.ts +3 -0
- package/dist/lib/core/utility/strings.d.ts.map +1 -0
- package/dist/lib/core/utility/strings.js +14 -0
- package/dist/lib/core/{utility.d.ts → utility/vector.d.ts} +1 -2
- package/dist/lib/core/utility/vector.d.ts.map +1 -0
- package/dist/lib/core/utility/vector.js +8 -0
- package/dist/lib/core/vector.d.ts +1 -0
- package/dist/lib/core/vector.d.ts.map +1 -0
- package/dist/lib/core/vessel.d.ts +4 -1
- package/dist/lib/core/vessel.d.ts.map +1 -0
- package/dist/lib/core/vessel.js +13 -9
- package/dist/lib/debug/console/console-state.d.ts +1 -0
- package/dist/lib/debug/console/console-state.d.ts.map +1 -0
- package/dist/lib/debug/console/console-store.d.ts +1 -0
- package/dist/lib/debug/console/console-store.d.ts.map +1 -0
- package/dist/lib/debug/debug-state.d.ts +1 -0
- package/dist/lib/debug/debug-state.d.ts.map +1 -0
- package/dist/lib/debug/debug-store.d.ts +1 -0
- package/dist/lib/debug/debug-store.d.ts.map +1 -0
- package/dist/lib/debug/state-based-debug-loader.d.ts +1 -0
- package/dist/lib/debug/state-based-debug-loader.d.ts.map +1 -0
- package/dist/lib/device/aspect-ratio.d.ts +38 -0
- package/dist/lib/device/aspect-ratio.d.ts.map +1 -0
- package/dist/lib/device/aspect-ratio.js +44 -0
- package/dist/lib/device/desktop.d.ts +1 -0
- package/dist/lib/device/desktop.d.ts.map +1 -0
- package/dist/lib/device/mobile.d.ts +1 -0
- package/dist/lib/device/mobile.d.ts.map +1 -0
- package/dist/lib/device/tablet.d.ts +1 -0
- package/dist/lib/device/tablet.d.ts.map +1 -0
- package/dist/lib/entities/actor.d.ts +1 -0
- package/dist/lib/entities/actor.d.ts.map +1 -0
- package/dist/lib/entities/box.d.ts +1 -0
- package/dist/lib/entities/box.d.ts.map +1 -0
- package/dist/lib/entities/builder.d.ts +1 -0
- package/dist/lib/entities/builder.d.ts.map +1 -0
- package/dist/lib/entities/create.d.ts +1 -0
- package/dist/lib/entities/create.d.ts.map +1 -0
- package/dist/lib/entities/delegates/animation.d.ts +1 -0
- package/dist/lib/entities/delegates/animation.d.ts.map +1 -0
- package/dist/lib/entities/delegates/debug.d.ts +1 -0
- package/dist/lib/entities/delegates/debug.d.ts.map +1 -0
- package/dist/lib/entities/delegates/loader.d.ts +1 -0
- package/dist/lib/entities/delegates/loader.d.ts.map +1 -0
- package/dist/lib/entities/destroy.d.ts +1 -0
- package/dist/lib/entities/destroy.d.ts.map +1 -0
- package/dist/lib/entities/entity.d.ts +4 -1
- package/dist/lib/entities/entity.d.ts.map +1 -0
- package/dist/lib/entities/entity.js +9 -5
- package/dist/lib/entities/index.d.ts +1 -0
- package/dist/lib/entities/index.d.ts.map +1 -0
- package/dist/lib/entities/plane.d.ts +1 -0
- package/dist/lib/entities/plane.d.ts.map +1 -0
- package/dist/lib/entities/rect.d.ts +1 -0
- package/dist/lib/entities/rect.d.ts.map +1 -0
- package/dist/lib/entities/sphere.d.ts +1 -0
- package/dist/lib/entities/sphere.d.ts.map +1 -0
- package/dist/lib/entities/sprite.d.ts +1 -0
- package/dist/lib/entities/sprite.d.ts.map +1 -0
- package/dist/lib/entities/text.d.ts +8 -0
- package/dist/lib/entities/text.d.ts.map +1 -0
- package/dist/lib/entities/text.js +77 -48
- package/dist/lib/entities/zone.d.ts +1 -0
- package/dist/lib/entities/zone.d.ts.map +1 -0
- package/dist/lib/game/game-blueprint.d.ts +38 -0
- package/dist/lib/game/game-blueprint.d.ts.map +1 -0
- package/dist/lib/game/game-canvas.d.ts +35 -0
- package/dist/lib/game/game-canvas.d.ts.map +1 -0
- package/dist/lib/game/game-canvas.js +57 -0
- package/dist/lib/game/game-config.d.ts +63 -0
- package/dist/lib/game/game-config.d.ts.map +1 -0
- package/dist/lib/game/game-config.js +79 -0
- package/dist/lib/game/game-default.d.ts +19 -0
- package/dist/lib/game/game-default.d.ts.map +1 -0
- package/dist/lib/game/game-default.js +24 -0
- package/dist/lib/game/game-interfaces.d.ts +3 -2
- package/dist/lib/game/game-interfaces.d.ts.map +1 -0
- package/dist/lib/game/game-retro-resolutions.d.ts +24 -0
- package/dist/lib/game/game-retro-resolutions.d.ts.map +1 -0
- package/dist/lib/game/game-retro-resolutions.js +81 -0
- package/dist/lib/game/game-state.d.ts +6 -5
- package/dist/lib/game/game-state.d.ts.map +1 -0
- package/dist/lib/game/game.d.ts +8 -12
- package/dist/lib/game/game.d.ts.map +1 -0
- package/dist/lib/game/game.js +44 -92
- package/dist/lib/game/zylem-game.d.ts +15 -3
- package/dist/lib/game/zylem-game.d.ts.map +1 -0
- package/dist/lib/game/zylem-game.js +67 -33
- package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts +1 -0
- package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts.map +1 -0
- package/dist/lib/graphics/material.d.ts +2 -1
- package/dist/lib/graphics/material.d.ts.map +1 -0
- package/dist/lib/graphics/material.js +1 -1
- package/dist/lib/graphics/mesh.d.ts +1 -0
- package/dist/lib/graphics/mesh.d.ts.map +1 -0
- package/dist/lib/graphics/render-pass.d.ts +1 -0
- package/dist/lib/graphics/render-pass.d.ts.map +1 -0
- package/dist/lib/graphics/zylem-scene.d.ts +8 -7
- package/dist/lib/graphics/zylem-scene.d.ts.map +1 -0
- package/dist/lib/graphics/zylem-scene.js +26 -40
- package/dist/lib/input/gamepad-provider.d.ts +1 -0
- package/dist/lib/input/gamepad-provider.d.ts.map +1 -0
- package/dist/lib/input/input-manager.d.ts +1 -0
- package/dist/lib/input/input-manager.d.ts.map +1 -0
- package/dist/lib/input/input-provider.d.ts +1 -0
- package/dist/lib/input/input-provider.d.ts.map +1 -0
- package/dist/lib/input/input.d.ts +1 -0
- package/dist/lib/input/input.d.ts.map +1 -0
- package/dist/lib/input/keyboard-provider.d.ts +1 -0
- package/dist/lib/input/keyboard-provider.d.ts.map +1 -0
- package/dist/lib/interfaces/entity.d.ts +1 -0
- package/dist/lib/interfaces/entity.d.ts.map +1 -0
- package/dist/lib/sounds/index.d.ts +1 -0
- package/dist/lib/sounds/index.d.ts.map +1 -0
- package/dist/lib/sounds/ping-pong-sound.d.ts +1 -0
- package/dist/lib/sounds/ping-pong-sound.d.ts.map +1 -0
- package/dist/lib/sounds/ricochet-sound.d.ts +1 -0
- package/dist/lib/sounds/ricochet-sound.d.ts.map +1 -0
- package/dist/lib/stage/debug-entity-cursor.d.ts +1 -0
- package/dist/lib/stage/debug-entity-cursor.d.ts.map +1 -0
- package/dist/lib/stage/entity-spawner.d.ts +1 -0
- package/dist/lib/stage/entity-spawner.d.ts.map +1 -0
- package/dist/lib/stage/stage-blueprint.d.ts +45 -0
- package/dist/lib/stage/stage-blueprint.d.ts.map +1 -0
- package/dist/lib/stage/stage-blueprint.js +56 -0
- package/dist/lib/stage/stage-camera-debug-delegate.d.ts +14 -0
- package/dist/lib/stage/stage-camera-debug-delegate.d.ts.map +1 -0
- package/dist/lib/stage/stage-debug-delegate.d.ts +1 -0
- package/dist/lib/stage/stage-debug-delegate.d.ts.map +1 -0
- package/dist/lib/stage/stage-default.d.ts +10 -0
- package/dist/lib/stage/stage-default.d.ts.map +1 -0
- package/dist/lib/stage/stage-default.js +42 -0
- package/dist/lib/stage/stage-state.d.ts +1 -0
- package/dist/lib/stage/stage-state.d.ts.map +1 -0
- package/dist/lib/stage/stage.d.ts +4 -3
- package/dist/lib/stage/stage.d.ts.map +1 -0
- package/dist/lib/stage/stage.js +27 -25
- package/dist/lib/stage/zylem-stage.d.ts +8 -4
- package/dist/lib/stage/zylem-stage.d.ts.map +1 -0
- package/dist/lib/stage/zylem-stage.js +36 -46
- package/dist/lib/systems/test-system.d.ts +1 -0
- package/dist/lib/systems/test-system.d.ts.map +1 -0
- package/dist/lib/systems/transformable.system.d.ts +1 -0
- package/dist/lib/systems/transformable.system.d.ts.map +1 -0
- package/dist/lib/types/entity-types.d.ts +1 -0
- package/dist/lib/types/entity-types.d.ts.map +1 -0
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/lib/types/stage-types.d.ts +1 -0
- package/dist/lib/types/stage-types.d.ts.map +1 -0
- package/dist/lib/ui/Debug.d.ts +1 -0
- package/dist/lib/ui/Debug.d.ts.map +1 -0
- package/dist/lib/ui/console/Console.d.ts +1 -0
- package/dist/lib/ui/console/Console.d.ts.map +1 -0
- package/dist/lib/ui/debug-panel/AccordionMenu.d.ts +1 -0
- package/dist/lib/ui/debug-panel/AccordionMenu.d.ts.map +1 -0
- package/dist/lib/ui/debug-panel/Menu.d.ts +1 -0
- package/dist/lib/ui/debug-panel/Menu.d.ts.map +1 -0
- package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts +1 -0
- package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts.map +1 -0
- package/dist/lib/ui/debug-panel/sections/GameSection.d.ts +1 -0
- package/dist/lib/ui/debug-panel/sections/GameSection.d.ts.map +1 -0
- package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts +1 -0
- package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts.map +1 -0
- package/dist/lib/ui/debug-panel/sections/all.d.ts +1 -0
- package/dist/lib/ui/debug-panel/sections/all.d.ts.map +1 -0
- package/dist/lib/ui/toolbar/Toolbar.d.ts +1 -0
- package/dist/lib/ui/toolbar/Toolbar.d.ts.map +1 -0
- package/dist/main.js +52 -50
- package/dist/stage.js +20 -4
- package/dist/tests/unit/collision/collision.spec.d.ts +2 -0
- package/dist/tests/unit/collision/collision.spec.d.ts.map +1 -0
- package/dist/tests/unit/core/game.spec.d.ts +2 -0
- package/dist/tests/unit/core/game.spec.d.ts.map +1 -0
- package/dist/tests/unit/core/stage.spec.d.ts +2 -0
- package/dist/tests/unit/core/stage.spec.d.ts.map +1 -0
- package/dist/tests/unit/core/vessel.spec.d.ts +2 -0
- package/dist/tests/unit/core/vessel.spec.d.ts.map +1 -0
- package/dist/tests/unit/stage/stage-blueprint.spec.d.ts +2 -0
- package/dist/tests/unit/stage/stage-blueprint.spec.d.ts.map +1 -0
- package/package.json +11 -9
- package/dist/actions.d.ts +0 -4
- package/dist/behaviors.d.ts +0 -3
- package/dist/camera.d.ts +0 -3
- package/dist/core.d.ts +0 -5
- package/dist/entities.d.ts +0 -8
- package/dist/lib/core/game-canvas.d.ts +0 -4
- package/dist/lib/core/utility.js +0 -20
- package/dist/main.d.ts +0 -30
- package/dist/stage.d.ts +0 -3
- package/dist/tests/collision/collision.spec.d.ts +0 -1
- package/dist/tests/core/game.spec.d.ts +0 -1
- package/dist/tests/core/stage.spec.d.ts +0 -1
- package/dist/tests/core/vessel.spec.d.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-pass.d.ts","sourceRoot":"","sources":["../../../src/lib/graphics/render-pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,IAAI;IAC3C,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,eAAe,EAAE,iBAAiB,CAAC;IACnC,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAEnB,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;IAa/E,MAAM,CACL,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,iBAAiB;IA0B/B,QAAQ;IAqBR,OAAO;CAYP"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Scene, Color, Object3D, Vector3 } from 'three';
|
|
2
|
-
import { Entity } from '../interfaces/entity';
|
|
2
|
+
import { Entity, LifecycleFunction } from '../interfaces/entity';
|
|
3
3
|
import { GameEntity } from '../entities/entity';
|
|
4
4
|
import { ZylemCamera } from '../camera/zylem-camera';
|
|
5
5
|
import { SetupFunction } from '../core/base-node-life-cycle';
|
|
6
6
|
interface SceneState {
|
|
7
|
-
backgroundColor: Color;
|
|
7
|
+
backgroundColor: Color | string;
|
|
8
8
|
backgroundImage: string | null;
|
|
9
9
|
}
|
|
10
10
|
export declare class ZylemScene implements Entity<ZylemScene> {
|
|
@@ -13,14 +13,14 @@ export declare class ZylemScene implements Entity<ZylemScene> {
|
|
|
13
13
|
scene: Scene;
|
|
14
14
|
zylemCamera: ZylemCamera;
|
|
15
15
|
containerElement: HTMLElement | null;
|
|
16
|
+
update: LifecycleFunction<ZylemScene>;
|
|
17
|
+
_collision?: ((entity: any, other: any, globals?: any) => void) | undefined;
|
|
18
|
+
_destroy?: ((globals?: any) => void) | undefined;
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
tag?: Set<string> | undefined;
|
|
16
21
|
constructor(id: string, camera: ZylemCamera, state: SceneState);
|
|
17
|
-
/**
|
|
18
|
-
* Setup the container element and append camera's renderer
|
|
19
|
-
*/
|
|
20
|
-
private setupContainer;
|
|
21
22
|
setup(): void;
|
|
22
23
|
destroy(): void;
|
|
23
|
-
update({ delta }: Partial<any>): void;
|
|
24
24
|
/**
|
|
25
25
|
* Setup camera with the scene
|
|
26
26
|
*/
|
|
@@ -47,3 +47,4 @@ export declare class ZylemScene implements Entity<ZylemScene> {
|
|
|
47
47
|
debugScene(): void;
|
|
48
48
|
}
|
|
49
49
|
export {};
|
|
50
|
+
//# sourceMappingURL=zylem-scene.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zylem-scene.d.ts","sourceRoot":"","sources":["../../../src/lib/graphics/zylem-scene.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,EACL,KAAK,EAGL,QAAQ,EACR,OAAO,EAGP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,UAAU,UAAU;IACnB,eAAe,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,qBAAa,UAAW,YAAW,MAAM,CAAC,UAAU,CAAC;IAC7C,IAAI,SAAW;IAEtB,MAAM,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACnC,KAAK,EAAG,KAAK,CAAC;IACd,WAAW,EAAG,WAAW,CAAC;IAC1B,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC5C,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAa;IAClD,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5E,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;gBAElB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU;IAqB9D,KAAK;IAML,OAAO;IAmBP;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW;IAM7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK;IAmB1B;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI5C;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAE,OAA8B;IAK9D;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC;IAQjC;;OAEG;IACH,UAAU;CAOV"}
|
|
@@ -1,74 +1,60 @@
|
|
|
1
|
-
import { Scene as
|
|
2
|
-
import { debugState as
|
|
1
|
+
import { Scene as d, Color as i, TextureLoader as n, AmbientLight as m, DirectionalLight as c, Vector3 as h, GridHelper as l } from "three";
|
|
2
|
+
import { debugState as g } from "../debug/debug-state.js";
|
|
3
3
|
import { getGlobalState as p } from "../game/game-state.js";
|
|
4
|
-
class
|
|
4
|
+
class b {
|
|
5
5
|
type = "Scene";
|
|
6
6
|
_setup;
|
|
7
7
|
scene;
|
|
8
8
|
zylemCamera;
|
|
9
9
|
containerElement = null;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
update = () => {
|
|
11
|
+
};
|
|
12
|
+
_collision;
|
|
13
|
+
_destroy;
|
|
14
|
+
name;
|
|
15
|
+
tag;
|
|
16
|
+
constructor(e, s, a) {
|
|
17
|
+
const o = new d(), t = a.backgroundColor instanceof i ? a.backgroundColor : new i(a.backgroundColor);
|
|
18
|
+
if (o.background = t, a.backgroundImage) {
|
|
19
|
+
const r = new n().load(a.backgroundImage);
|
|
20
|
+
o.background = r;
|
|
15
21
|
}
|
|
16
|
-
this.scene =
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Setup the container element and append camera's renderer
|
|
20
|
-
*/
|
|
21
|
-
setupContainer(e) {
|
|
22
|
-
let t = document.getElementById(e);
|
|
23
|
-
if (!t) {
|
|
24
|
-
console.warn(`Could not find element with id: ${e}`);
|
|
25
|
-
const a = document.createElement("main");
|
|
26
|
-
a.setAttribute("id", e), document.body.appendChild(a), t = a;
|
|
27
|
-
}
|
|
28
|
-
t?.firstChild && t.removeChild(t.firstChild), this.containerElement = t, t?.appendChild(this.zylemCamera.getDomElement());
|
|
22
|
+
this.scene = o, this.zylemCamera = s, this.setupLighting(o), this.setupCamera(o, s), g.on && this.debugScene();
|
|
29
23
|
}
|
|
30
24
|
setup() {
|
|
31
25
|
this._setup && this._setup({ me: this, camera: this.zylemCamera, globals: p() });
|
|
32
26
|
}
|
|
33
27
|
destroy() {
|
|
34
|
-
if (this.containerElement && this.zylemCamera)
|
|
35
|
-
try {
|
|
36
|
-
const e = this.zylemCamera.getDomElement();
|
|
37
|
-
e && e.parentElement === this.containerElement && this.containerElement.removeChild(e);
|
|
38
|
-
} catch {
|
|
39
|
-
}
|
|
40
28
|
this.zylemCamera && this.zylemCamera.destroy && this.zylemCamera.destroy(), this.scene && this.scene.traverse((e) => {
|
|
41
|
-
e.geometry && e.geometry.dispose?.(), e.material && (Array.isArray(e.material) ? e.material.forEach((
|
|
29
|
+
e.geometry && e.geometry.dispose?.(), e.material && (Array.isArray(e.material) ? e.material.forEach((s) => s.dispose?.()) : e.material.dispose?.());
|
|
42
30
|
});
|
|
43
31
|
}
|
|
44
|
-
update({ delta: e }) {
|
|
45
|
-
}
|
|
46
32
|
/**
|
|
47
33
|
* Setup camera with the scene
|
|
48
34
|
*/
|
|
49
|
-
setupCamera(e,
|
|
50
|
-
e.add(
|
|
35
|
+
setupCamera(e, s) {
|
|
36
|
+
e.add(s.cameraRig), s.setup(e);
|
|
51
37
|
}
|
|
52
38
|
/**
|
|
53
39
|
* Setup scene lighting
|
|
54
40
|
*/
|
|
55
41
|
setupLighting(e) {
|
|
56
|
-
const
|
|
57
|
-
e.add(
|
|
58
|
-
const a = new
|
|
42
|
+
const s = new m(16777215, 2);
|
|
43
|
+
e.add(s);
|
|
44
|
+
const a = new c(16777215, 2);
|
|
59
45
|
a.name = "Light", a.position.set(0, 100, 0), a.castShadow = !0, a.shadow.camera.near = 0.1, a.shadow.camera.far = 2e3, a.shadow.camera.left = -100, a.shadow.camera.right = 100, a.shadow.camera.top = 100, a.shadow.camera.bottom = -100, a.shadow.mapSize.width = 2048, a.shadow.mapSize.height = 2048, e.add(a);
|
|
60
46
|
}
|
|
61
47
|
/**
|
|
62
48
|
* Update renderer size - delegates to camera
|
|
63
49
|
*/
|
|
64
|
-
updateRenderer(e,
|
|
65
|
-
this.zylemCamera.resize(e,
|
|
50
|
+
updateRenderer(e, s) {
|
|
51
|
+
this.zylemCamera.resize(e, s);
|
|
66
52
|
}
|
|
67
53
|
/**
|
|
68
54
|
* Add object to scene
|
|
69
55
|
*/
|
|
70
|
-
add(e,
|
|
71
|
-
e.position.set(
|
|
56
|
+
add(e, s = new h(0, 0, 0)) {
|
|
57
|
+
e.position.set(s.x, s.y, s.z), this.scene.add(e);
|
|
72
58
|
}
|
|
73
59
|
/**
|
|
74
60
|
* Add game entity to scene
|
|
@@ -85,5 +71,5 @@ class y {
|
|
|
85
71
|
}
|
|
86
72
|
}
|
|
87
73
|
export {
|
|
88
|
-
|
|
74
|
+
b as ZylemScene
|
|
89
75
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gamepad-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/input/gamepad-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAA4B,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjE,qBAAa,eAAgB,YAAW,aAAa;IACpD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAkB;IAEnC,OAAO,CAAC,YAAY,CAAmC;gBAE3C,YAAY,EAAE,MAAM;IAchC,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,iBAAiB;IAKzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAgC9C,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,OAAO;CAGtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/input/input-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAgB,iBAAiB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAG5F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,qBAAa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAsD;IACtE,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,cAAc,CAAwB;gBAElC,MAAM,CAAC,EAAE,eAAe;IAqCpC,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa;IAOzE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkBhC,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW;IAQrF,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW;IAOrF,OAAO,CAAC,WAAW;CA4BnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/input/input-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,WAAW,IAAI,OAAO,CAAC;IACvB,OAAO,IAAI,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/lib/input/input.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAElD,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC5B,YAAY,EAAE,iBAAiB,CAAC;IAChC,OAAO,EAAE;QACR,CAAC,EAAE,WAAW,CAAC;QACf,CAAC,EAAE,WAAW,CAAC;QACf,CAAC,EAAE,WAAW,CAAC;QACf,CAAC,EAAE,WAAW,CAAC;QACf,KAAK,EAAE,WAAW,CAAC;QACnB,MAAM,EAAE,WAAW,CAAC;QACpB,CAAC,EAAE,WAAW,CAAC;QACf,CAAC,EAAE,WAAW,CAAC;KACf,CAAC;IACF,UAAU,EAAE;QACX,EAAE,EAAE,WAAW,CAAC;QAChB,IAAI,EAAE,WAAW,CAAC;QAClB,IAAI,EAAE,WAAW,CAAC;QAClB,KAAK,EAAE,WAAW,CAAC;KACnB,CAAC;IACF,SAAS,EAAE;QACV,QAAQ,EAAE,WAAW,CAAC;QACtB,QAAQ,EAAE,WAAW,CAAC;KACtB,CAAC;IACF,IAAI,EAAE;QACL,UAAU,EAAE,WAAW,CAAC;QACxB,QAAQ,EAAE,WAAW,CAAC;KACtB,CAAC;CACF;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;AACvD,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC5B,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClE,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/input/keyboard-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAA4B,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjE,qBAAa,gBAAiB,YAAW,aAAa;IACrD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,kBAAkB,CAAiB;gBAE/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE;IAO1F,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAkD1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA+B9C,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,YAAY;IAIpB,WAAW,IAAI,OAAO;CAGtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEpC,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAElF,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,GAAG;IAC9B,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,MAAM;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/sounds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ping-pong-sound.d.ts","sourceRoot":"","sources":["../../../src/lib/sounds/ping-pong-sound.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,GAAE,MAAY,EAAE,QAAQ,GAAE,MAAY,QAE3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ricochet-sound.d.ts","sourceRoot":"","sources":["../../../src/lib/sounds/ricochet-sound.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAAY,EAAE,QAAQ,GAAE,MAAa,QAE7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-entity-cursor.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/debug-entity-cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,EAOL,QAAQ,EACR,KAAK,EAEL,MAAM,OAAO,CAAC;AAEf;;;GAGG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,MAAM,CAA0B;gBAE5B,KAAK,EAAE,KAAK;IA8BxB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAMrC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IA+B3D,IAAI,IAAI,IAAI;IAIZ,OAAO,IAAI,IAAI;CAOf"}
|
|
@@ -6,3 +6,4 @@ export interface EntitySpawner {
|
|
|
6
6
|
spawnRelative: (source: any, stage: Stage, offset?: Vector2) => Promise<any | void>;
|
|
7
7
|
}
|
|
8
8
|
export declare function entitySpawner(factory: (x: number, y: number) => Promise<any> | GameEntity<any>): EntitySpawner;
|
|
9
|
+
//# sourceMappingURL=entity-spawner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-spawner.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/entity-spawner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,OAAO,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;CACpF;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,aAAa,CA8B9G"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Stage } from './stage';
|
|
2
|
+
import type { StageOptions, ZylemStageConfig } from './zylem-stage';
|
|
3
|
+
/**
|
|
4
|
+
* A lightweight, serializable blueprint representing the initial configuration
|
|
5
|
+
* of a `ZylemStage`. It is intentionally minimal and should not include
|
|
6
|
+
* entities, functions, or runtime references. Use blueprints only to build
|
|
7
|
+
* stages.
|
|
8
|
+
*/
|
|
9
|
+
export interface StageBlueprint {
|
|
10
|
+
id: string;
|
|
11
|
+
name?: string;
|
|
12
|
+
config: Partial<ZylemStageConfig>;
|
|
13
|
+
}
|
|
14
|
+
export declare const stageBlueprintsState: {
|
|
15
|
+
byId: Record<string, StageBlueprint>;
|
|
16
|
+
order: string[];
|
|
17
|
+
currentId: string | null;
|
|
18
|
+
};
|
|
19
|
+
/** Reset the blueprints store back to its initial empty state. */
|
|
20
|
+
export declare function resetStageBlueprints(): void;
|
|
21
|
+
/** Create and register a new `StageBlueprint`. */
|
|
22
|
+
export declare function createStageBlueprint(config: Partial<ZylemStageConfig>, options?: {
|
|
23
|
+
id?: string;
|
|
24
|
+
name?: string;
|
|
25
|
+
setCurrent?: boolean;
|
|
26
|
+
}): StageBlueprint;
|
|
27
|
+
/** Upsert a blueprint into the store. */
|
|
28
|
+
export declare function upsertStageBlueprint(blueprint: StageBlueprint): void;
|
|
29
|
+
/** Remove a blueprint by id. */
|
|
30
|
+
export declare function removeStageBlueprint(id: string): void;
|
|
31
|
+
/** Get a blueprint by id. */
|
|
32
|
+
export declare function getStageBlueprint(id: string): StageBlueprint | undefined;
|
|
33
|
+
/** List all blueprints in insertion order. */
|
|
34
|
+
export declare function listStageBlueprints(): StageBlueprint[];
|
|
35
|
+
/** Set the current blueprint id (or clear by passing null). */
|
|
36
|
+
export declare function setCurrentStageBlueprint(id: string | null): void;
|
|
37
|
+
/** Get the current blueprint object, if any. */
|
|
38
|
+
export declare function getCurrentStageBlueprint(): StageBlueprint | null;
|
|
39
|
+
/**
|
|
40
|
+
* Build a `Stage` instance from a blueprint and optional extra `StageOptions`
|
|
41
|
+
* (e.g., entities or a camera wrapper). This does not load the stage; callers
|
|
42
|
+
* should pass the returned `Stage` to the game and call `load` as usual.
|
|
43
|
+
*/
|
|
44
|
+
export declare function buildStageFromBlueprint(input: string | StageBlueprint, ...extras: StageOptions): Stage;
|
|
45
|
+
//# sourceMappingURL=stage-blueprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage-blueprint.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-blueprint.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAClC;AAYD,eAAO,MAAM,oBAAoB;UALpB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;WAC7B,MAAM,EAAE;eACF,MAAM,GAAG,IAAI;CAGgD,CAAC;AAElF,kEAAkE;AAClE,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C;AAED,kDAAkD;AAClD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAAE,GAAG,cAAc,CAWvJ;AAED,yCAAyC;AACzC,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAKpE;AAED,gCAAgC;AAChC,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAMrD;AAED,6BAA6B;AAC7B,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAExE;AAED,8CAA8C;AAC9C,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAItD;AAED,+DAA+D;AAC/D,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEhE;AAED,gDAAgD;AAChD,wBAAgB,wBAAwB,IAAI,cAAc,GAAG,IAAI,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,YAAY,GAAG,KAAK,CAMtG"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { proxy as d } from "valtio/vanilla";
|
|
2
|
+
import { deepClone as i } from "valtio/utils";
|
|
3
|
+
import { nanoid as c } from "nanoid";
|
|
4
|
+
import { stage as l } from "./stage.js";
|
|
5
|
+
const u = {
|
|
6
|
+
byId: {},
|
|
7
|
+
order: [],
|
|
8
|
+
currentId: null
|
|
9
|
+
}, e = d(i(u));
|
|
10
|
+
function m() {
|
|
11
|
+
const r = i(u);
|
|
12
|
+
Object.keys(r).forEach((t) => {
|
|
13
|
+
e[t] = r[t];
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function I(r, t) {
|
|
17
|
+
const n = t?.id ?? c(), o = { id: n, name: t?.name, config: { ...r } };
|
|
18
|
+
return e.byId[n] = o, e.order.includes(n) || (e.order = [...e.order, n]), t?.setCurrent && (e.currentId = n), o;
|
|
19
|
+
}
|
|
20
|
+
function S(r) {
|
|
21
|
+
e.byId[r.id] = { ...r, config: { ...r.config } }, e.order.includes(r.id) || (e.order = [...e.order, r.id]);
|
|
22
|
+
}
|
|
23
|
+
function B(r) {
|
|
24
|
+
delete e.byId[r], e.order = e.order.filter((t) => t !== r), e.currentId === r && (e.currentId = null);
|
|
25
|
+
}
|
|
26
|
+
function f(r) {
|
|
27
|
+
return e.byId[r];
|
|
28
|
+
}
|
|
29
|
+
function b() {
|
|
30
|
+
return e.order.map((r) => e.byId[r]).filter((r) => !!r);
|
|
31
|
+
}
|
|
32
|
+
function y(r) {
|
|
33
|
+
e.currentId = r;
|
|
34
|
+
}
|
|
35
|
+
function C() {
|
|
36
|
+
const r = e.currentId;
|
|
37
|
+
return r ? e.byId[r] ?? null : null;
|
|
38
|
+
}
|
|
39
|
+
function h(r, ...t) {
|
|
40
|
+
const n = typeof r == "string" ? f(r) : r;
|
|
41
|
+
if (!n)
|
|
42
|
+
throw new Error("Stage blueprint not found");
|
|
43
|
+
return l(n.config, ...t);
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
h as buildStageFromBlueprint,
|
|
47
|
+
I as createStageBlueprint,
|
|
48
|
+
C as getCurrentStageBlueprint,
|
|
49
|
+
f as getStageBlueprint,
|
|
50
|
+
b as listStageBlueprints,
|
|
51
|
+
B as removeStageBlueprint,
|
|
52
|
+
m as resetStageBlueprints,
|
|
53
|
+
y as setCurrentStageBlueprint,
|
|
54
|
+
e as stageBlueprintsState,
|
|
55
|
+
S as upsertStageBlueprint
|
|
56
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Object3D } from 'three';
|
|
2
|
+
import type { CameraDebugDelegate, CameraDebugState } from '../camera/zylem-camera';
|
|
3
|
+
import type { ZylemStage } from './zylem-stage';
|
|
4
|
+
/**
|
|
5
|
+
* Debug delegate that bridges the stage's entity map and debug state to the camera.
|
|
6
|
+
*/
|
|
7
|
+
export declare class StageCameraDebugDelegate implements CameraDebugDelegate {
|
|
8
|
+
private stage;
|
|
9
|
+
constructor(stage: ZylemStage);
|
|
10
|
+
subscribe(listener: (state: CameraDebugState) => void): () => void;
|
|
11
|
+
resolveTarget(uuid: string): Object3D | null;
|
|
12
|
+
private snapshot;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=stage-camera-debug-delegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage-camera-debug-delegate.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-camera-debug-delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD;;GAEG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IACnE,OAAO,CAAC,KAAK,CAAa;gBAEd,KAAK,EAAE,UAAU;IAI7B,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;IAMlE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAQ5C,OAAO,CAAC,QAAQ;CAMhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage-debug-delegate.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-debug-delegate.ts"],"names":[],"mappings":"AACA,OAAO,EAAwF,OAAO,EAAE,MAAM,OAAO,CAAC;AACtH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAEvG,MAAM,WAAW,yBAAyB;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC3C;AAKD,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,UAAU,CAA6B;gBAEnC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,yBAAyB;IAmBlE,MAAM,IAAI,IAAI;IAiEd,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,kBAAkB;CAqB1B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { StageOptions, ZylemStageConfig } from './zylem-stage';
|
|
2
|
+
export declare const stageDefaultsState: Partial<ZylemStageConfig>;
|
|
3
|
+
/** Replace multiple defaults at once (shallow merge). */
|
|
4
|
+
export declare function setStageDefaults(partial: Partial<ZylemStageConfig>): void;
|
|
5
|
+
/** Reset defaults back to library defaults. */
|
|
6
|
+
export declare function resetStageDefaults(): void;
|
|
7
|
+
export declare function getStageOptions(options: StageOptions): StageOptions;
|
|
8
|
+
/** Get a plain object copy of the current defaults. */
|
|
9
|
+
export declare function getStageDefaultConfig(): Partial<ZylemStageConfig>;
|
|
10
|
+
//# sourceMappingURL=stage-default.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage-default.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-default.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAmBpE,eAAO,MAAM,kBAAkB,2BAE7B,CAAC;AAEH,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAEzE;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAQnE;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAQjE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { proxy as i } from "valtio/vanilla";
|
|
2
|
+
import { Vector3 as r } from "three";
|
|
3
|
+
import { ZylemBlueColor as g } from "../core/utility/vector.js";
|
|
4
|
+
const o = {
|
|
5
|
+
backgroundColor: g,
|
|
6
|
+
backgroundImage: null,
|
|
7
|
+
inputs: {
|
|
8
|
+
p1: ["gamepad-1", "keyboard"],
|
|
9
|
+
p2: ["gamepad-2", "keyboard"]
|
|
10
|
+
},
|
|
11
|
+
gravity: new r(0, 0, 0),
|
|
12
|
+
variables: {}
|
|
13
|
+
}, t = i({
|
|
14
|
+
...o
|
|
15
|
+
});
|
|
16
|
+
function b(a) {
|
|
17
|
+
Object.assign(t, a);
|
|
18
|
+
}
|
|
19
|
+
function d() {
|
|
20
|
+
Object.assign(t, o);
|
|
21
|
+
}
|
|
22
|
+
function m(a) {
|
|
23
|
+
const n = u();
|
|
24
|
+
let e = {};
|
|
25
|
+
return typeof a[0] == "object" && (e = a.shift() ?? {}), [{ ...n, ...e }, ...a];
|
|
26
|
+
}
|
|
27
|
+
function u() {
|
|
28
|
+
return {
|
|
29
|
+
backgroundColor: t.backgroundColor,
|
|
30
|
+
backgroundImage: t.backgroundImage ?? null,
|
|
31
|
+
inputs: t.inputs ? { ...t.inputs } : void 0,
|
|
32
|
+
gravity: t.gravity,
|
|
33
|
+
variables: t.variables ? { ...t.variables } : void 0
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
u as getStageDefaultConfig,
|
|
38
|
+
m as getStageOptions,
|
|
39
|
+
d as resetStageDefaults,
|
|
40
|
+
b as setStageDefaults,
|
|
41
|
+
t as stageDefaultsState
|
|
42
|
+
};
|
|
@@ -14,3 +14,4 @@ declare const setStageVariables: (variables: Record<string, any>) => void;
|
|
|
14
14
|
declare const resetStageVariables: () => void;
|
|
15
15
|
declare const stageStateToString: (state: StageStateInterface) => string;
|
|
16
16
|
export { stageState, setStageState, setStageBackgroundColor, setStageBackgroundImage, setEntitiesToStage, stageStateToString, setStageVariable, getStageVariable, setStageVariables, resetStageVariables, };
|
|
17
|
+
//# sourceMappingURL=stage-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage-state.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,QAAA,MAAM,UAAU,qBAUS,CAAC;AAE1B,QAAA,MAAM,aAAa,GAAI,OAAO,mBAAmB,SAEhD,CAAC;AAEF,QAAA,MAAM,uBAAuB,GAAI,OAAO,KAAK,SAE5C,CAAC;AAEF,QAAA,MAAM,uBAAuB,GAAI,OAAO,MAAM,GAAG,IAAI,SAEpD,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,UAAU,OAAO,CAAC,mBAAmB,CAAC,EAAE,SAEnE,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,OAAO,GAAG,SAGhD,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,KAAK,MAAM,QAMpC,CAAC;AAEF,sEAAsE;AACtE,QAAA,MAAM,iBAAiB,GAAI,WAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAExD,CAAC;AAEF,wDAAwD;AACxD,QAAA,MAAM,mBAAmB,YAExB,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,OAAO,mBAAmB,WAuBrD,CAAC;AAEF,OAAO,EACN,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACnB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseNode } from '../core/base-node';
|
|
2
2
|
import { DestroyFunction, SetupContext, SetupFunction, UpdateFunction } from '../core/base-node-life-cycle';
|
|
3
|
-
import { StageOptions, ZylemStage } from './zylem-stage';
|
|
3
|
+
import { StageOptionItem, StageOptions, ZylemStage } from './zylem-stage';
|
|
4
4
|
import { ZylemCamera } from '../camera/zylem-camera';
|
|
5
5
|
import { CameraWrapper } from '../camera/camera';
|
|
6
6
|
type NodeLike = {
|
|
@@ -9,8 +9,8 @@ type NodeLike = {
|
|
|
9
9
|
type AnyNode = NodeLike | Promise<NodeLike>;
|
|
10
10
|
type EntityInput = AnyNode | (() => AnyNode) | (() => Promise<any>);
|
|
11
11
|
export declare class Stage {
|
|
12
|
-
|
|
13
|
-
options:
|
|
12
|
+
wrappedStage: ZylemStage | null;
|
|
13
|
+
options: StageOptionItem[];
|
|
14
14
|
update: UpdateFunction<ZylemStage>;
|
|
15
15
|
setup: SetupFunction<ZylemStage>;
|
|
16
16
|
destroy: DestroyFunction<ZylemStage>;
|
|
@@ -30,3 +30,4 @@ export declare class Stage {
|
|
|
30
30
|
*/
|
|
31
31
|
export declare function stage(...options: StageOptions): Stage;
|
|
32
32
|
export {};
|
|
33
|
+
//# sourceMappingURL=stage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,KAAK,QAAQ,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC;AACrC,KAAK,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK,WAAW,GAAG,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpE,qBAAa,KAAK;IACjB,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,eAAe,EAAE,CAAM;IAEhC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAa;IAC/C,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAa;IAC7C,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAa;gBAErC,OAAO,EAAE,YAAY;IAK3B,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI;IAQ5D,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE;IAOtC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAIjC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC;IAQtC,QAAQ,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE;IAOnD,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC;IAI3C,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC;IAI/C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAInC,WAAW,CAAC,GAAG,EAAE,MAAM;CAGvB;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,OAAO,EAAE,YAAY,GAAG,KAAK,CAGrD"}
|
package/dist/lib/stage/stage.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ZylemStage as
|
|
2
|
-
import { CameraWrapper as
|
|
3
|
-
import { stageState as
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { ZylemStage as i } from "./zylem-stage.js";
|
|
2
|
+
import { CameraWrapper as o } from "../camera/camera.js";
|
|
3
|
+
import { stageState as s, setStageVariable as n, getStageVariable as d } from "./stage-state.js";
|
|
4
|
+
import { getStageOptions as g } from "./stage-default.js";
|
|
5
|
+
class S {
|
|
6
|
+
wrappedStage;
|
|
6
7
|
options = [];
|
|
7
8
|
update = () => {
|
|
8
9
|
};
|
|
@@ -11,48 +12,49 @@ class f {
|
|
|
11
12
|
destroy = () => {
|
|
12
13
|
};
|
|
13
14
|
constructor(t) {
|
|
14
|
-
this.options = t, this.
|
|
15
|
+
this.options = t, this.wrappedStage = null;
|
|
15
16
|
}
|
|
16
17
|
async load(t, e) {
|
|
17
|
-
this.
|
|
18
|
-
const
|
|
19
|
-
await this.
|
|
18
|
+
this.wrappedStage = new i(this.options), this.wrappedStage.wrapperRef = this;
|
|
19
|
+
const a = e instanceof o ? e.cameraRef : e;
|
|
20
|
+
await this.wrappedStage.load(t, a);
|
|
20
21
|
}
|
|
21
22
|
async addEntities(t) {
|
|
22
|
-
this.options.push(...t), this.
|
|
23
|
+
this.options.push(...t), this.wrappedStage && this.wrappedStage.enqueue(...t);
|
|
23
24
|
}
|
|
24
25
|
add(...t) {
|
|
25
|
-
this.
|
|
26
|
+
this.wrappedStage.enqueue(...t);
|
|
26
27
|
}
|
|
27
28
|
start(t) {
|
|
28
|
-
this.
|
|
29
|
-
const
|
|
30
|
-
|
|
29
|
+
this.wrappedStage?.nodeSetup(t), this.wrappedStage.onEntityAdded((e) => {
|
|
30
|
+
const a = this.wrappedStage.buildEntityState(e);
|
|
31
|
+
s.entities = [...s.entities, a];
|
|
31
32
|
}, { replayExisting: !0 });
|
|
32
33
|
}
|
|
33
34
|
onUpdate(...t) {
|
|
34
|
-
this.
|
|
35
|
-
const
|
|
36
|
-
t.forEach((
|
|
35
|
+
this.wrappedStage.update = (e) => {
|
|
36
|
+
const a = { ...e, stage: this };
|
|
37
|
+
t.forEach((r) => r(a));
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
40
|
onSetup(t) {
|
|
40
|
-
this.
|
|
41
|
+
this.wrappedStage.setup = t;
|
|
41
42
|
}
|
|
42
43
|
onDestroy(t) {
|
|
43
|
-
this.
|
|
44
|
+
this.wrappedStage.destroy = t;
|
|
44
45
|
}
|
|
45
46
|
setVariable(t, e) {
|
|
46
|
-
|
|
47
|
+
n(t, e);
|
|
47
48
|
}
|
|
48
49
|
getVariable(t) {
|
|
49
|
-
return
|
|
50
|
+
return d(t);
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
|
-
function
|
|
53
|
-
|
|
53
|
+
function c(...p) {
|
|
54
|
+
const t = g(p);
|
|
55
|
+
return new S([...t]);
|
|
54
56
|
}
|
|
55
57
|
export {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
S as Stage,
|
|
59
|
+
c as stage
|
|
58
60
|
};
|