@jolly-pixel/engine 1.3.0 → 2.1.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 +19 -19
- package/dist/actor/Actor.d.ts +26 -15
- package/dist/actor/Actor.d.ts.map +1 -1
- package/dist/actor/Actor.js +108 -78
- package/dist/actor/Actor.js.map +1 -1
- package/dist/actor/ActorComponent.d.ts +12 -5
- package/dist/actor/ActorComponent.d.ts.map +1 -1
- package/dist/actor/ActorComponent.js +34 -11
- package/dist/actor/ActorComponent.js.map +1 -1
- package/dist/actor/ActorTree.d.ts +4 -3
- package/dist/actor/ActorTree.d.ts.map +1 -1
- package/dist/actor/ActorTree.js +10 -3
- package/dist/actor/ActorTree.js.map +1 -1
- package/dist/actor/Transform.d.ts +40 -27
- package/dist/actor/Transform.d.ts.map +1 -1
- package/dist/actor/Transform.js +150 -68
- package/dist/actor/Transform.js.map +1 -1
- package/dist/actor/index.d.ts +1 -0
- package/dist/actor/index.d.ts.map +1 -1
- package/dist/actor/index.js +1 -0
- package/dist/actor/index.js.map +1 -1
- package/dist/adapters/global.d.ts +3 -3
- package/dist/adapters/global.d.ts.map +1 -1
- package/dist/adapters/global.js +1 -1
- package/dist/adapters/global.js.map +1 -1
- package/dist/audio/AudioManager.d.ts +2 -2
- package/dist/audio/AudioManager.d.ts.map +1 -1
- package/dist/audio/AudioManager.js +2 -2
- package/dist/audio/AudioManager.js.map +1 -1
- package/dist/components/camera/Camera3DControls.js +4 -4
- package/dist/components/camera/Camera3DControls.js.map +1 -1
- package/dist/components/renderers/model/ModelRenderer.js +2 -2
- package/dist/components/renderers/model/ModelRenderer.js.map +1 -1
- package/dist/components/renderers/sprite/SpriteRenderer.class.js +2 -2
- package/dist/components/renderers/sprite/SpriteRenderer.class.js.map +1 -1
- package/dist/components/renderers/text/TextRenderer.class.js +3 -3
- package/dist/components/renderers/text/TextRenderer.class.js.map +1 -1
- package/dist/components/renderers/tiled/TileMapRenderer.js +2 -2
- package/dist/components/renderers/tiled/TileMapRenderer.js.map +1 -1
- package/dist/components/renderers/tiled/TileObject.js +4 -4
- package/dist/components/renderers/tiled/TileObject.js.map +1 -1
- package/dist/components/script/Behavior.d.ts +4 -3
- package/dist/components/script/Behavior.d.ts.map +1 -1
- package/dist/components/script/Behavior.js +0 -1
- package/dist/components/script/Behavior.js.map +1 -1
- package/dist/components/script/BehaviorInitializer.d.ts +5 -4
- package/dist/components/script/BehaviorInitializer.d.ts.map +1 -1
- package/dist/components/script/BehaviorInitializer.js +1 -2
- package/dist/components/script/BehaviorInitializer.js.map +1 -1
- package/dist/components/types.d.ts +2 -0
- package/dist/components/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/systems/SceneManager.d.ts +28 -0
- package/dist/systems/SceneManager.d.ts.map +1 -0
- package/dist/systems/{Scene.js → SceneManager.js} +61 -22
- package/dist/systems/SceneManager.js.map +1 -0
- package/dist/systems/World.d.ts +46 -0
- package/dist/systems/World.d.ts.map +1 -0
- package/dist/systems/World.js +96 -0
- package/dist/systems/World.js.map +1 -0
- package/dist/systems/generators/IntegerIncrement.d.ts +6 -0
- package/dist/systems/generators/IntegerIncrement.d.ts.map +1 -0
- package/dist/systems/generators/IntegerIncrement.js +10 -0
- package/dist/systems/generators/IntegerIncrement.js.map +1 -0
- package/dist/systems/generators/PersistentIdIncrement.d.ts +8 -0
- package/dist/systems/generators/PersistentIdIncrement.d.ts.map +1 -0
- package/dist/systems/generators/PersistentIdIncrement.js +23 -0
- package/dist/systems/generators/PersistentIdIncrement.js.map +1 -0
- package/dist/systems/index.d.ts +4 -2
- package/dist/systems/index.d.ts.map +1 -1
- package/dist/systems/index.js +4 -2
- package/dist/systems/index.js.map +1 -1
- package/dist/systems/rendering/Renderer.d.ts +2 -0
- package/dist/systems/rendering/Renderer.d.ts.map +1 -1
- package/dist/systems/rendering/ThreeRenderer.d.ts +10 -6
- package/dist/systems/rendering/ThreeRenderer.d.ts.map +1 -1
- package/dist/systems/rendering/ThreeRenderer.js +64 -40
- package/dist/systems/rendering/ThreeRenderer.js.map +1 -1
- package/dist/{utils/types.d.ts → types.d.ts} +1 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/UINode.d.ts +3 -2
- package/dist/ui/UINode.d.ts.map +1 -1
- package/dist/ui/UINode.js +6 -6
- package/dist/ui/UINode.js.map +1 -1
- package/dist/ui/UIRenderer.d.ts +6 -6
- package/dist/ui/UIRenderer.d.ts.map +1 -1
- package/dist/ui/UIRenderer.js +16 -17
- package/dist/ui/UIRenderer.js.map +1 -1
- package/dist/ui/UISprite.d.ts +3 -2
- package/dist/ui/UISprite.d.ts.map +1 -1
- package/dist/ui/UISprite.js +2 -3
- package/dist/ui/UISprite.js.map +1 -1
- package/dist/ui/UIText.d.ts +4 -3
- package/dist/ui/UIText.d.ts.map +1 -1
- package/dist/ui/UIText.js.map +1 -1
- package/dist/ui/common.d.ts +2 -0
- package/dist/ui/common.d.ts.map +1 -0
- package/dist/ui/common.js +2 -0
- package/dist/ui/common.js.map +1 -0
- package/dist/utils/createViewHelper.d.ts +1 -1
- package/dist/utils/createViewHelper.d.ts.map +1 -1
- package/dist/utils/createViewHelper.js +4 -4
- package/dist/utils/createViewHelper.js.map +1 -1
- package/package.json +1 -1
- package/dist/systems/GameInstance.d.ts +0 -34
- package/dist/systems/GameInstance.d.ts.map +0 -1
- package/dist/systems/GameInstance.js +0 -63
- package/dist/systems/GameInstance.js.map +0 -1
- package/dist/systems/Scene.d.ts +0 -30
- package/dist/systems/Scene.d.ts.map +0 -1
- package/dist/systems/Scene.js.map +0 -1
- package/dist/utils/types.d.ts.map +0 -1
- package/dist/utils/types.js.map +0 -1
- /package/dist/{utils/types.js → types.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioManager.d.ts","sourceRoot":"","sources":["../../src/audio/AudioManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"AudioManager.d.ts","sourceRoot":"","sources":["../../src/audio/AudioManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAMrC,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChF,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACpG,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;CACpE,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,kBAAmB,YAAW,YAAY;;IAIrD,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GACrB,kBAAkB;gBAOnB,OAAO,GAAE,yBAA8B;IAyBnC,SAAS,CACb,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IAOjB,mBAAmB,CACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;IAOjC,YAAY,CACV,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,eAAe;CAQ7C"}
|
|
@@ -8,9 +8,9 @@ const kDefaultLoop = false;
|
|
|
8
8
|
export class GlobalAudioManager {
|
|
9
9
|
#listener;
|
|
10
10
|
#audioService;
|
|
11
|
-
static
|
|
11
|
+
static fromWorld(world) {
|
|
12
12
|
return new GlobalAudioManager({
|
|
13
|
-
listener:
|
|
13
|
+
listener: world.audio.listener
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
constructor(options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioManager.js","sourceRoot":"","sources":["../../src/audio/AudioManager.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAEN,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,YAAY,EAEb,MAAM,6BAA6B,CAAC;AAErC,YAAY;AACZ,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,YAAY,GAAG,KAAK,CAAC;AAyB3B,MAAM,OAAO,kBAAkB;IAC7B,SAAS,CAAuB;IAChC,aAAa,CAAe;IAE5B,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"AudioManager.js","sourceRoot":"","sources":["../../src/audio/AudioManager.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAEN,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,YAAY,EAEb,MAAM,6BAA6B,CAAC;AAErC,YAAY;AACZ,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,YAAY,GAAG,KAAK,CAAC;AAyB3B,MAAM,OAAO,kBAAkB;IAC7B,SAAS,CAAuB;IAChC,aAAa,CAAe;IAE5B,MAAM,CAAC,SAAS,CACd,KAAsB;QAEtB,OAAO,IAAI,kBAAkB,CAAC;YAC5B,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,YACE,UAAqC,EAAE;QAEvC,MAAM,EACJ,QAAQ,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,EACpC,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC9C,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,eAAe,CACb,KAA0C,EAC1C,OAA4B;QAE5B,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,YAAY,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;QAEvE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC;QAE3D,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAW,EACX,UAA+B,EAAE;QAEjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAErC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,GAAW,EACX,UAA+B,EAAE;QAEjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAErC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CACV,KAA0C;QAE1C,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -25,8 +25,8 @@ export class Camera3DControls extends Behavior {
|
|
|
25
25
|
this.maxRollDown = options.maxRollDown ?? -Math.PI / 2;
|
|
26
26
|
this.#rotationSpeed = options.rotationSpeed ?? 0.004;
|
|
27
27
|
this.#movementSpeed = options.speed ?? 20;
|
|
28
|
-
this.actor.
|
|
29
|
-
this.camera.add(this.actor.
|
|
28
|
+
this.actor.world.renderer.addRenderComponent(this.camera);
|
|
29
|
+
this.camera.add(this.actor.world.audio.threeAudioListener);
|
|
30
30
|
}
|
|
31
31
|
set speed(speed) {
|
|
32
32
|
this.#movementSpeed = THREE.MathUtils.clamp(speed, 0.1, Infinity);
|
|
@@ -35,7 +35,7 @@ export class Camera3DControls extends Behavior {
|
|
|
35
35
|
this.#rotationSpeed = THREE.MathUtils.clamp(speed, 0.1, Infinity);
|
|
36
36
|
}
|
|
37
37
|
#rotate() {
|
|
38
|
-
const mouseDelta = this.actor.
|
|
38
|
+
const mouseDelta = this.actor.world.input.getMouseDelta(true);
|
|
39
39
|
const euler = new THREE.Euler(0, 0, 0, "YXZ");
|
|
40
40
|
euler.setFromQuaternion(this.camera.quaternion);
|
|
41
41
|
euler.y -= mouseDelta.x * this.#rotationSpeed;
|
|
@@ -44,7 +44,7 @@ export class Camera3DControls extends Behavior {
|
|
|
44
44
|
this.camera.quaternion.setFromEuler(euler);
|
|
45
45
|
}
|
|
46
46
|
update() {
|
|
47
|
-
const { input } = this.actor.
|
|
47
|
+
const { input } = this.actor.world;
|
|
48
48
|
const vector = new THREE.Vector3(0);
|
|
49
49
|
if (input.isKeyDown(this.#bindings.forward)) {
|
|
50
50
|
vector.z -= 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Camera3DControls.js","sourceRoot":"","sources":["../../../src/components/camera/Camera3DControls.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAkBjD,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IAC5C,MAAM,CAA0B;IAChC,SAAS,CAA6D;IAEtE,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,cAAc,CAAS;IACvB,cAAc,CAAS;IAEvB,YACE,KAAiB,EACjB,UAAmC,EAAE;QAErC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAEhG,IAAI,CAAC,SAAS,GAAG;YACf,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,IAAI,MAAM;YAC5C,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,IAAI,MAAM;YAC9C,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM;YACtC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM;YACxC,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,OAAO;YACnC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,WAAW;YAC3C,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,IAAI,QAAQ;SACrD,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Camera3DControls.js","sourceRoot":"","sources":["../../../src/components/camera/Camera3DControls.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export class ModelRenderer extends ActorComponent {
|
|
|
30
30
|
if (this.#debug) {
|
|
31
31
|
console.log({ object, animations });
|
|
32
32
|
}
|
|
33
|
-
this.actor.
|
|
33
|
+
this.actor.object3D.add(object);
|
|
34
34
|
this.#object = object;
|
|
35
35
|
this.animation.setMixer(new THREE.AnimationMixer(this.#object));
|
|
36
36
|
this.animation.setClips(animations);
|
|
@@ -42,7 +42,7 @@ export class ModelRenderer extends ActorComponent {
|
|
|
42
42
|
this.animation.update(deltaTime);
|
|
43
43
|
}
|
|
44
44
|
destroy() {
|
|
45
|
-
this.actor.
|
|
45
|
+
this.actor.object3D.remove(this.#object);
|
|
46
46
|
super.destroy();
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelRenderer.js","sourceRoot":"","sources":["../../../../src/components/renderers/model/ModelRenderer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAc,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAgB7B,MAAM,OAAO,aAAc,SAAQ,cAAmB;IACpD,MAAM,CAA2B;IACjC,OAAO,CAAsC;IAC7C,MAAM,GAAG,KAAK,CAAC;IAEf,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IAEjC,YACE,KAAiB,EACjB,OAA6B;QAE7B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QAErC,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACpC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"ModelRenderer.js","sourceRoot":"","sources":["../../../../src/components/renderers/model/ModelRenderer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAc,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAgB7B,MAAM,OAAO,aAAc,SAAQ,cAAmB;IACpD,MAAM,CAA2B;IACjC,OAAO,CAAsC;IAC7C,MAAM,GAAG,KAAK,CAAC;IAEf,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IAEjC,YACE,KAAiB,EACjB,OAA6B;QAE7B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QAErC,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACpC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CACrB,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CACvC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CACJ,SAAiB;QAEjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -48,7 +48,7 @@ export class SpriteRenderer extends ActorComponent {
|
|
|
48
48
|
this.threeObject.material.needsUpdate = true;
|
|
49
49
|
}
|
|
50
50
|
start() {
|
|
51
|
-
this.actor.
|
|
51
|
+
this.actor.object3D.add(this.threeObject);
|
|
52
52
|
this.threeObject.updateMatrixWorld(false);
|
|
53
53
|
this.setFrame(0);
|
|
54
54
|
}
|
|
@@ -67,7 +67,7 @@ export class SpriteRenderer extends ActorComponent {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
destroy() {
|
|
70
|
-
this.actor.
|
|
70
|
+
this.actor.object3D.remove(this.threeObject);
|
|
71
71
|
this.texture.dispose();
|
|
72
72
|
this.threeObject.clear();
|
|
73
73
|
super.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpriteRenderer.class.js","sourceRoot":"","sources":["../../../../src/components/renderers/sprite/SpriteRenderer.class.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AAapC,MAAM,OAAO,cAAe,SAAQ,cAAmB;IACrD,UAAU,CAAS;IACnB,cAAc,CAAS;IACvB,YAAY,CAAS;IACrB,IAAI,GAAG;QACL,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,OAAO,CAAgB;IACvB,SAAS,CAAkB;IAC3B,WAAW,CAAe;IAE1B,YACE,KAAiB,EACjB,OAA8B;QAE9B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,gBAAgB;SAC3B,CAAC,CAAC;QACH,MAAM,EACJ,OAAO,EACP,cAAc,EACd,YAAY,EACZ,UAAU,GAAG,EAAE,EACf,IAAI,GAAG,EAAE,EACV,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;QAE7C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC;YACxC,GAAG,EAAE,IAAI,CAAC,OAAO;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB,CACf,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;IACjE,CAAC;IAED,eAAe,CACb,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;IAC/D,CAAC;IAED,UAAU,CACR,OAAe;QAEf,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;IAC/C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"SpriteRenderer.class.js","sourceRoot":"","sources":["../../../../src/components/renderers/sprite/SpriteRenderer.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,12 +32,12 @@ export class TextRenderer extends ActorComponent {
|
|
|
32
32
|
this.text.dispose();
|
|
33
33
|
}
|
|
34
34
|
updateMesh() {
|
|
35
|
-
for (const child of this.actor.
|
|
36
|
-
isMeshWithGeometry(child) && this.actor.
|
|
35
|
+
for (const child of this.actor.object3D.children) {
|
|
36
|
+
isMeshWithGeometry(child) && this.actor.object3D.remove(child);
|
|
37
37
|
}
|
|
38
38
|
const mesh = this.text.mesh;
|
|
39
39
|
if (mesh) {
|
|
40
|
-
this.actor.
|
|
40
|
+
this.actor.object3D.add(mesh);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextRenderer.class.js","sourceRoot":"","sources":["../../../../src/components/renderers/text/TextRenderer.class.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,MAAM,EAEP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAa,MAAM,aAAa,CAAC;AAO9C,MAAM,OAAO,YAAa,SAAQ,cAAmB;IACnD,MAAM,CAA0B;IAEhC,IAAI,CAAS;IAEb,YACE,KAAiB,EACjB,OAA4B;QAE5B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAC;QAEH,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,mBAAmB,EACnB,QAAQ,GAAG,IAAI,KAAK,CAAC,iBAAiB,EAAE,EACzC,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC;YACrB,QAAQ;YACR,mBAAmB;SACpB,CAAC,CAAC;QACH,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,UAAU;QACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"TextRenderer.class.js","sourceRoot":"","sources":["../../../../src/components/renderers/text/TextRenderer.class.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,MAAM,EAEP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAa,MAAM,aAAa,CAAC;AAO9C,MAAM,OAAO,YAAa,SAAQ,cAAmB;IACnD,MAAM,CAA0B;IAEhC,IAAI,CAAS;IAEb,YACE,KAAiB,EACjB,OAA4B;QAE5B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAC;QAEH,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,mBAAmB,EACnB,QAAQ,GAAG,IAAI,KAAK,CAAC,iBAAiB,EAAE,EACzC,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC;YACrB,QAAQ;YACR,mBAAmB;SACpB,CAAC,CAAC;QACH,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,UAAU;QACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACjD,kBAAkB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAED,SAAS,kBAAkB,CACzB,MAAsB;IAEtB,OAAO,MAAM,YAAY,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,YAAY,KAAK,CAAC,cAAc,CAAC;AACzF,CAAC"}
|
|
@@ -27,14 +27,14 @@ export class TiledMapRenderer extends ActorComponent {
|
|
|
27
27
|
const texture = TileSet.find(tilesets, tileId)?.getTileTexture(tileId) ?? null;
|
|
28
28
|
const cube = new TileMapCube(texture);
|
|
29
29
|
cube.position.set(position.x, position.y, position.z);
|
|
30
|
-
this.actor.
|
|
30
|
+
this.actor.object3D.add(cube);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
for (const layer of TileObject.fromTileMap(tilemap)) {
|
|
34
34
|
layer.createActors(this.actor);
|
|
35
35
|
}
|
|
36
36
|
if (this.#orientation === "top-down") {
|
|
37
|
-
this.actor.
|
|
37
|
+
this.actor.object3D.rotateX(-Math.PI / 2);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileMapRenderer.js","sourceRoot":"","sources":["../../../../src/components/renderers/tiled/TileMapRenderer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAY3D,MAAM,OAAO,gBAAiB,SAAQ,cAAmB;IACvD,IAAI,CAAmC;IACvC,YAAY,CAAsB;IAElC,YACE,KAAiB,EACjB,OAAgC;QAEhC,MAAM,EACJ,SAAS,EACT,WAAW,GAAG,YAAY,EAC3B,GAAG,OAAO,CAAC;QAEZ,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,kBAAkB;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,KAAK;QACH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAC5C,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CACxD,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,KAAK,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;gBAE/E,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"TileMapRenderer.js","sourceRoot":"","sources":["../../../../src/components/renderers/tiled/TileMapRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,18 +26,18 @@ export class TileObject {
|
|
|
26
26
|
}
|
|
27
27
|
createActors(parent) {
|
|
28
28
|
for (const object of this.layer.objects) {
|
|
29
|
-
const childrenActor = new Actor(parent.
|
|
29
|
+
const childrenActor = new Actor(parent.world, {
|
|
30
30
|
name: object.name,
|
|
31
31
|
parent
|
|
32
32
|
});
|
|
33
|
-
childrenActor.
|
|
33
|
+
childrenActor.object3D.position.set(object.x / this.width, object.y / this.height, this.zIndex);
|
|
34
34
|
if (object.rotation !== 0) {
|
|
35
35
|
const rotationRadians = (object.rotation * Math.PI) / 180;
|
|
36
|
-
childrenActor.
|
|
36
|
+
childrenActor.object3D.rotation.z = -rotationRadians;
|
|
37
37
|
}
|
|
38
38
|
if (object.width > 0 && object.height > 0) {
|
|
39
39
|
const visualBox = this.#createObjectVisualization(object);
|
|
40
|
-
childrenActor.
|
|
40
|
+
childrenActor.object3D.add(visualBox);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileObject.js","sourceRoot":"","sources":["../../../../src/components/renderers/tiled/TileObject.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAahD,MAAM,OAAO,UAAU;IACrB,MAAM,CAAA,CAAE,WAAW,CACjB,GAAa;QAEb,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACjC,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE;oBAC1B,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,GAAG,CAAC,SAAS;oBACpB,MAAM,EAAE,GAAG,CAAC,UAAU;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAmB;IACxB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,MAAM,CAAS;IAEf,YACE,KAAuB,EACvB,OAA0B;QAE1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,YAAY,CACV,MAAkB;QAElB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"TileObject.js","sourceRoot":"","sources":["../../../../src/components/renderers/tiled/TileObject.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
|
+
import type { WorldDefaultContext } from "../../systems/World.ts";
|
|
2
3
|
import { Actor, ActorComponent } from "../../actor/index.ts";
|
|
3
4
|
export type BehaviorPropertiesValue = string | string[] | number | number[] | boolean | boolean[] | THREE.Vector2 | THREE.Vector3;
|
|
4
5
|
export type BehaviorProperties = Record<string, BehaviorPropertiesValue>;
|
|
5
6
|
export interface BehaviorOptions {
|
|
6
|
-
initializer?: (behavior: Behavior) => void;
|
|
7
|
+
initializer?: (behavior: Behavior<any, any>) => void;
|
|
7
8
|
}
|
|
8
|
-
export declare class Behavior<T extends BehaviorProperties = Record<string, BehaviorPropertiesValue>, TContext =
|
|
9
|
+
export declare class Behavior<T extends BehaviorProperties = Record<string, BehaviorPropertiesValue>, TContext = WorldDefaultContext> extends ActorComponent<TContext> {
|
|
9
10
|
#private;
|
|
10
|
-
constructor(actor: Actor<
|
|
11
|
+
constructor(actor: Actor<TContext>, options?: BehaviorOptions);
|
|
11
12
|
setProperty<K extends keyof T = keyof T>(propertyName: K, value: T[K]): void;
|
|
12
13
|
getProperty<K extends keyof T = keyof T>(propertyName: K, defaultValue: T[K]): T[K];
|
|
13
14
|
mergeProperties(defaultProperties?: Partial<T>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Behavior.d.ts","sourceRoot":"","sources":["../../../src/components/script/Behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,KAAK,EACL,cAAc,EACf,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,MAAM,EAAE,GACR,MAAM,GACN,MAAM,EAAE,GACR,OAAO,GACP,OAAO,EAAE,GACT,KAAK,CAAC,OAAO,GACb,KAAK,CAAC,OAAO,CAAC;AAClB,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Behavior.d.ts","sourceRoot":"","sources":["../../../src/components/script/Behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EACV,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,EACL,cAAc,EACf,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,MAAM,EAAE,GACR,MAAM,GACN,MAAM,EAAE,GACR,OAAO,GACP,OAAO,EAAE,GACT,KAAK,CAAC,OAAO,GACb,KAAK,CAAC,OAAO,CAAC;AAClB,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,QAAQ,CACnB,CAAC,SAAS,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACtE,QAAQ,GAAG,mBAAmB,CAC9B,SAAQ,cAAc,CAAC,QAAQ,CAAC;;gBAI9B,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EACtB,OAAO,GAAE,eAAoB;IAkB/B,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,EACrC,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GACV,IAAI;IAIP,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,EACrC,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC;IAIP,eAAe,CACb,iBAAiB,GAAE,OAAO,CAAC,CAAC,CAAuB;IAK5C,OAAO,IAAI,IAAI;CAezB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Import Third-party Dependencies
|
|
2
2
|
import * as THREE from "three";
|
|
3
|
-
// Import Internal Dependencies
|
|
4
3
|
import { Actor, ActorComponent } from "../../actor/index.js";
|
|
5
4
|
import { BehaviorInitializer } from "./BehaviorInitializer.js";
|
|
6
5
|
export class Behavior extends ActorComponent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Behavior.js","sourceRoot":"","sources":["../../../src/components/script/Behavior.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Behavior.js","sourceRoot":"","sources":["../../../src/components/script/Behavior.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EACL,KAAK,EACL,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAiB/D,MAAM,OAAO,QAGX,SAAQ,cAAwB;IAChC,WAAW,GAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAErC,YACE,KAAsB,EACtB,UAA2B,EAAE;QAE7B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,gBAAgB;SAC3B,CAAC,CAAC;QACH,MAAM,EAAE,WAAW,GAAG,0BAA0B,EAAE,GAAG,OAAO,CAAC;QAE7D,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,WAAW,CACT,YAAe,EACf,KAAW;QAEX,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,WAAW,CACT,YAAe,EACf,YAAkB;QAElB,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC;IACxD,CAAC;IAED,eAAe,CACb,oBAAgC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAEQ,OAAO;QACd,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AAED,SAAS,0BAA0B,CACjC,QAA4B;IAE5B,kEAAkE;IAClE,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
2
|
import { Behavior } from "./Behavior.ts";
|
|
3
3
|
import { type BehaviorMetadata } from "./BehaviorDecorators.ts";
|
|
4
|
-
import {
|
|
4
|
+
import type { WorldDefaultContext } from "../../systems/World.ts";
|
|
5
|
+
import type { ConsoleAdapter } from "../../adapters/console.ts";
|
|
5
6
|
export interface BehaviorInitializerOptions {
|
|
6
7
|
consoleAdapter?: ConsoleAdapter;
|
|
7
8
|
}
|
|
8
|
-
export declare class BehaviorInitializer {
|
|
9
|
+
export declare class BehaviorInitializer<TContext extends WorldDefaultContext> {
|
|
9
10
|
#private;
|
|
10
|
-
static for(behavior: Behavior): BehaviorInitializer | null;
|
|
11
|
-
constructor(behavior: Behavior, metadata: BehaviorMetadata, options?: BehaviorInitializerOptions);
|
|
11
|
+
static for<TContext extends WorldDefaultContext>(behavior: Behavior<any, TContext>): BehaviorInitializer<TContext> | null;
|
|
12
|
+
constructor(behavior: Behavior<any, any>, metadata: BehaviorMetadata, options?: BehaviorInitializerOptions);
|
|
12
13
|
get behaviorName(): string;
|
|
13
14
|
load(): void;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BehaviorInitializer.d.ts","sourceRoot":"","sources":["../../../src/components/script/BehaviorInitializer.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC;AAO1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAgBhE,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,mBAAmB;;
|
|
1
|
+
{"version":3,"file":"BehaviorInitializer.d.ts","sourceRoot":"","sources":["../../../src/components/script/BehaviorInitializer.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC;AAO1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAgBhE,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,mBAAmB,CAC9B,QAAQ,SAAS,mBAAmB;;IAMpC,MAAM,CAAC,GAAG,CAAC,QAAQ,SAAS,mBAAmB,EAC7C,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAChC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;gBAWrC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAC5B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE,0BAA+B;IAS1C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,IAAI,IAAI;CAgFb"}
|
|
@@ -5,7 +5,6 @@ import "reflect-metadata";
|
|
|
5
5
|
import { Input } from "../../controls/Input.class.js";
|
|
6
6
|
import { Behavior } from "./Behavior.js";
|
|
7
7
|
import { getBehaviorMetadata } from "./BehaviorDecorators.js";
|
|
8
|
-
import {} from "../../adapters/console.js";
|
|
9
8
|
// CONSTANTS
|
|
10
9
|
const kDefaultValues = {
|
|
11
10
|
string: "",
|
|
@@ -46,7 +45,7 @@ export class BehaviorInitializer {
|
|
|
46
45
|
this.#resolveInputListeners();
|
|
47
46
|
}
|
|
48
47
|
#resolveInputListeners() {
|
|
49
|
-
const { input } = this.#behavior.actor.
|
|
48
|
+
const { input } = this.#behavior.actor.world;
|
|
50
49
|
const metadata = Reflect.getMetadata(Input.Metadata, this.#behavior) ?? [];
|
|
51
50
|
for (const { type, methodName } of metadata) {
|
|
52
51
|
if (!(methodName in this.#behavior)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BehaviorInitializer.js","sourceRoot":"","sources":["../../../src/components/script/BehaviorInitializer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,kBAAkB,CAAC;AAE1B,+BAA+B;AAC/B,OAAO,EACL,KAAK,EAEN,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,mBAAmB,EAGpB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"BehaviorInitializer.js","sourceRoot":"","sources":["../../../src/components/script/BehaviorInitializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,11 @@ export type FreeComponentEnum = StrictComponentEnum | (string & {});
|
|
|
4
4
|
export interface Component {
|
|
5
5
|
actor: Actor<any>;
|
|
6
6
|
typeName: FreeComponentEnum;
|
|
7
|
+
needUpdate: boolean;
|
|
7
8
|
awake?(): void;
|
|
8
9
|
start?(): void;
|
|
9
10
|
update?(deltaTime: number): void;
|
|
11
|
+
fixedUpdate?(deltaTime: number): void;
|
|
10
12
|
destroy(): void;
|
|
11
13
|
}
|
|
12
14
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,cAAc,CAAC;AAEnB,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEpE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,cAAc,CAAC;AAEnB,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEpE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IAEpB,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,OAAO,IAAI,IAAI,CAAC;CACjB"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { EventEmitter } from "@posva/event-emitter";
|
|
3
|
+
import { Actor, ActorComponent, ActorTree } from "../actor/index.ts";
|
|
4
|
+
import type { WorldDefaultContext } from "./World.ts";
|
|
5
|
+
import type { Component } from "../components/types.ts";
|
|
6
|
+
export type SceneEvents = {
|
|
7
|
+
awake: [];
|
|
8
|
+
};
|
|
9
|
+
export declare class SceneManager<TContext = WorldDefaultContext> extends EventEmitter<SceneEvents> {
|
|
10
|
+
#private;
|
|
11
|
+
default: THREE.Scene;
|
|
12
|
+
componentsToBeStarted: Component[];
|
|
13
|
+
componentsToBeDestroyed: Component[];
|
|
14
|
+
readonly tree: ActorTree<TContext>;
|
|
15
|
+
constructor(scene?: THREE.Scene);
|
|
16
|
+
getSource(): THREE.Scene<THREE.Object3DEventMap>;
|
|
17
|
+
awake(): void;
|
|
18
|
+
beginFrame(): void;
|
|
19
|
+
fixedUpdate(deltaTime: number): void;
|
|
20
|
+
update(deltaTime: number): void;
|
|
21
|
+
endFrame(): void;
|
|
22
|
+
destroyActor(actor: Actor<TContext>): void;
|
|
23
|
+
registerActor(actor: Actor<TContext>): void;
|
|
24
|
+
unregisterActor(actor: Actor<TContext>): void;
|
|
25
|
+
getActor(name: string): Actor<TContext> | null;
|
|
26
|
+
destroyComponent(component: ActorComponent<TContext>): void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=SceneManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneManager.d.ts","sourceRoot":"","sources":["../../src/systems/SceneManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACL,KAAK,EACL,cAAc,EACd,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,EAAE,CAAC;CACX,CAAC;AAEF,qBAAa,YAAY,CACvB,QAAQ,GAAG,mBAAmB,CAC9B,SAAQ,YAAY,CAAC,WAAW,CAAC;;IACjC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;IAErB,qBAAqB,EAAE,SAAS,EAAE,CAAM;IACxC,uBAAuB,EAAE,SAAS,EAAE,CAAM;IAM1C,QAAQ,CAAC,IAAI,sBAGV;gBAGD,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK;IAMrB,SAAS;IAIT,KAAK;IAUL,UAAU;IAmBV,WAAW,CACT,SAAS,EAAE,MAAM;IAOnB,MAAM,CACJ,SAAS,EAAE,MAAM;IAOnB,QAAQ;IAkBR,YAAY,CACV,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IAexB,aAAa,CACX,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IAaxB,eAAe,CACb,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IAgBxB,QAAQ,CACN,IAAI,EAAE,MAAM,GACX,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI;IAezB,gBAAgB,CACd,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;CActC"}
|
|
@@ -3,14 +3,16 @@ import * as THREE from "three";
|
|
|
3
3
|
import { EventEmitter } from "@posva/event-emitter";
|
|
4
4
|
// Import Internal Dependencies
|
|
5
5
|
import { Actor, ActorComponent, ActorTree } from "../actor/index.js";
|
|
6
|
-
export class
|
|
6
|
+
export class SceneManager extends EventEmitter {
|
|
7
7
|
default;
|
|
8
8
|
componentsToBeStarted = [];
|
|
9
9
|
componentsToBeDestroyed = [];
|
|
10
|
+
#registeredActors = new Set();
|
|
11
|
+
#actorsByName = new Map();
|
|
10
12
|
#cachedActors = [];
|
|
11
13
|
tree = new ActorTree({
|
|
12
|
-
addCallback: (actor) => this.default.add(actor.
|
|
13
|
-
removeCallback: (actor) => this.default.remove(actor.
|
|
14
|
+
addCallback: (actor) => this.default.add(actor.object3D),
|
|
15
|
+
removeCallback: (actor) => this.default.remove(actor.object3D)
|
|
14
16
|
});
|
|
15
17
|
constructor(scene) {
|
|
16
18
|
super();
|
|
@@ -28,37 +30,42 @@ export class SceneEngine extends EventEmitter {
|
|
|
28
30
|
}
|
|
29
31
|
this.emit("awake");
|
|
30
32
|
}
|
|
31
|
-
|
|
32
|
-
this.#cachedActors
|
|
33
|
-
for (const { actor } of this.tree.walk()) {
|
|
34
|
-
this.#cachedActors.push(actor);
|
|
35
|
-
}
|
|
36
|
-
const cachedActors = this.#cachedActors;
|
|
33
|
+
beginFrame() {
|
|
34
|
+
this.#cachedActors = Array.from(this.#registeredActors);
|
|
37
35
|
let i = 0;
|
|
38
36
|
while (i < this.componentsToBeStarted.length) {
|
|
39
37
|
const component = this.componentsToBeStarted[i];
|
|
40
38
|
// If the component to be started is part of an actor
|
|
41
39
|
// which will not be updated, skip it until next loop
|
|
42
|
-
if (
|
|
40
|
+
if (!this.#registeredActors.has(component.actor)) {
|
|
43
41
|
i++;
|
|
44
42
|
continue;
|
|
45
43
|
}
|
|
46
44
|
component.start?.();
|
|
47
45
|
this.componentsToBeStarted.splice(i, 1);
|
|
48
46
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
cachedActors.forEach((actor) => {
|
|
47
|
+
}
|
|
48
|
+
fixedUpdate(deltaTime) {
|
|
49
|
+
this.#cachedActors.forEach((actor) => {
|
|
50
|
+
actor.fixedUpdate(deltaTime);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
update(deltaTime) {
|
|
54
|
+
this.#cachedActors.forEach((actor) => {
|
|
52
55
|
actor.update(deltaTime);
|
|
53
|
-
if (actor.pendingForDestruction || actor.isDestroyed()) {
|
|
54
|
-
actorToBeDestroyed.push(actor);
|
|
55
|
-
}
|
|
56
56
|
});
|
|
57
|
-
|
|
57
|
+
}
|
|
58
|
+
endFrame() {
|
|
58
59
|
this.componentsToBeDestroyed.forEach((component) => {
|
|
59
60
|
component.destroy();
|
|
60
61
|
});
|
|
61
62
|
this.componentsToBeDestroyed.length = 0;
|
|
63
|
+
const actorToBeDestroyed = [];
|
|
64
|
+
this.#cachedActors.forEach((actor) => {
|
|
65
|
+
if (actor.pendingForDestruction || actor.isDestroyed()) {
|
|
66
|
+
actorToBeDestroyed.push(actor);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
62
69
|
actorToBeDestroyed.forEach((actor) => {
|
|
63
70
|
this.destroyActor(actor);
|
|
64
71
|
});
|
|
@@ -68,14 +75,46 @@ export class SceneEngine extends EventEmitter {
|
|
|
68
75
|
childrenToDestroy.forEach((child) => {
|
|
69
76
|
this.destroyActor(child);
|
|
70
77
|
});
|
|
71
|
-
|
|
72
|
-
if (cachedIndex !== -1) {
|
|
73
|
-
this.#cachedActors.splice(cachedIndex, 1);
|
|
74
|
-
}
|
|
78
|
+
this.unregisterActor(actor);
|
|
75
79
|
// NOTE: make sure to remove deeply into the tree
|
|
76
80
|
this.tree.remove(actor);
|
|
77
81
|
actor.destroy();
|
|
78
82
|
}
|
|
83
|
+
registerActor(actor) {
|
|
84
|
+
this.#registeredActors.add(actor);
|
|
85
|
+
const actors = this.#actorsByName.get(actor.name);
|
|
86
|
+
if (actors) {
|
|
87
|
+
actors.push(actor);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this.#actorsByName.set(actor.name, [actor]);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
unregisterActor(actor) {
|
|
94
|
+
this.#registeredActors.delete(actor);
|
|
95
|
+
const actors = this.#actorsByName.get(actor.name);
|
|
96
|
+
if (actors) {
|
|
97
|
+
const index = actors.indexOf(actor);
|
|
98
|
+
if (index !== -1) {
|
|
99
|
+
actors.splice(index, 1);
|
|
100
|
+
}
|
|
101
|
+
if (actors.length === 0) {
|
|
102
|
+
this.#actorsByName.delete(actor.name);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
getActor(name) {
|
|
107
|
+
const actors = this.#actorsByName.get(name);
|
|
108
|
+
if (!actors) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
for (const actor of actors) {
|
|
112
|
+
if (!actor.pendingForDestruction) {
|
|
113
|
+
return actor;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
79
118
|
destroyComponent(component) {
|
|
80
119
|
if (component.pendingForDestruction) {
|
|
81
120
|
return;
|
|
@@ -88,4 +127,4 @@ export class SceneEngine extends EventEmitter {
|
|
|
88
127
|
}
|
|
89
128
|
}
|
|
90
129
|
}
|
|
91
|
-
//# sourceMappingURL=
|
|
130
|
+
//# sourceMappingURL=SceneManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneManager.js","sourceRoot":"","sources":["../../src/systems/SceneManager.ts"],"names":[],"mappings":"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"}
|