@needle-tools/engine 4.2.5 → 4.3.0-alpha.1
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/CHANGELOG.md +9 -0
- package/components.needle.json +1 -1
- package/dist/needle-engine.bundle.js +4245 -2977
- package/dist/needle-engine.bundle.light.js +4236 -2968
- package/dist/needle-engine.bundle.light.min.js +73 -73
- package/dist/needle-engine.bundle.light.umd.cjs +61 -61
- package/dist/needle-engine.bundle.min.js +62 -62
- package/dist/needle-engine.bundle.umd.cjs +61 -61
- package/dist/needle-engine.light.d.ts +9 -9
- package/dist/three-examples.js +825 -794
- package/dist/three-examples.light.js +825 -794
- package/dist/three-examples.light.min.js +12 -12
- package/dist/three-examples.light.umd.cjs +10 -10
- package/dist/three-examples.min.js +12 -12
- package/dist/three-examples.umd.cjs +10 -10
- package/lib/engine/engine_addressables.d.ts +3 -0
- package/lib/engine/engine_addressables.js +18 -0
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_input.d.ts +20 -1
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_types.d.ts +162 -17
- package/lib/engine-components/Animator.d.ts +129 -21
- package/lib/engine-components/Animator.js +115 -21
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AnimatorController.d.ts +161 -32
- package/lib/engine-components/AnimatorController.js +176 -29
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/AudioListener.d.ts +16 -5
- package/lib/engine-components/AudioListener.js +16 -5
- package/lib/engine-components/AudioListener.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +120 -28
- package/lib/engine-components/AudioSource.js +120 -37
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/AvatarLoader.d.ts +61 -0
- package/lib/engine-components/AvatarLoader.js +61 -1
- package/lib/engine-components/AvatarLoader.js.map +1 -1
- package/lib/engine-components/AxesHelper.d.ts +19 -1
- package/lib/engine-components/AxesHelper.js +19 -1
- package/lib/engine-components/AxesHelper.js.map +1 -1
- package/lib/engine-components/BoxHelperComponent.d.ts +26 -0
- package/lib/engine-components/BoxHelperComponent.js +26 -0
- package/lib/engine-components/BoxHelperComponent.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +126 -37
- package/lib/engine-components/Camera.js +139 -37
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CameraUtils.js +20 -0
- package/lib/engine-components/CameraUtils.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +95 -21
- package/lib/engine-components/Collider.js +100 -23
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/Component.d.ts +554 -106
- package/lib/engine-components/Component.js +352 -81
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +95 -21
- package/lib/engine-components/DragControls.js +126 -32
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.d.ts +99 -16
- package/lib/engine-components/DropListener.js +119 -14
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Light.d.ts +102 -5
- package/lib/engine-components/Light.js +102 -44
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +28 -11
- package/lib/engine-components/NeedleMenu.js +28 -11
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +37 -5
- package/lib/engine-components/Networking.js +37 -5
- package/lib/engine-components/Networking.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.d.ts +8 -0
- package/lib/engine-components/SceneSwitcher.js +72 -8
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/SpatialTrigger.d.ts +66 -1
- package/lib/engine-components/SpatialTrigger.js +74 -2
- package/lib/engine-components/SpatialTrigger.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.d.ts +66 -4
- package/lib/engine-components/SpectatorCamera.js +132 -6
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SyncedTransform.d.ts +45 -6
- package/lib/engine-components/SyncedTransform.js +45 -6
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/TransformGizmo.d.ts +49 -3
- package/lib/engine-components/TransformGizmo.js +49 -3
- package/lib/engine-components/TransformGizmo.js.map +1 -1
- package/lib/engine-components/ui/EventSystem.d.ts +1 -0
- package/lib/engine-components/ui/EventSystem.js +8 -5
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +131 -22
- package/lib/engine-components/webxr/WebXR.js +132 -23
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +82 -9
- package/lib/engine-components-experimental/networking/PlayerSync.js +76 -11
- package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
- package/package.json +1 -1
- package/plugins/vite/alias.js +6 -3
- package/src/engine/engine_addressables.ts +21 -0
- package/src/engine/engine_input.ts +20 -1
- package/src/engine/engine_types.ts +179 -18
- package/src/engine-components/Animator.ts +142 -22
- package/src/engine-components/AnimatorController.ts +184 -34
- package/src/engine-components/AudioListener.ts +16 -5
- package/src/engine-components/AudioSource.ts +126 -37
- package/src/engine-components/AvatarLoader.ts +61 -2
- package/src/engine-components/AxesHelper.ts +21 -1
- package/src/engine-components/BoxHelperComponent.ts +26 -0
- package/src/engine-components/Camera.ts +147 -41
- package/src/engine-components/CameraUtils.ts +20 -0
- package/src/engine-components/Collider.ts +102 -27
- package/src/engine-components/Component.ts +605 -129
- package/src/engine-components/DragControls.ts +134 -38
- package/src/engine-components/DropListener.ts +143 -23
- package/src/engine-components/Light.ts +105 -44
- package/src/engine-components/NeedleMenu.ts +29 -11
- package/src/engine-components/Networking.ts +37 -6
- package/src/engine-components/SceneSwitcher.ts +78 -9
- package/src/engine-components/SpatialTrigger.ts +80 -3
- package/src/engine-components/SpectatorCamera.ts +136 -18
- package/src/engine-components/SyncedTransform.ts +50 -7
- package/src/engine-components/TransformGizmo.ts +49 -4
- package/src/engine-components/ui/EventSystem.ts +9 -7
- package/src/engine-components/webxr/WebXR.ts +144 -27
- package/src/engine-components-experimental/networking/PlayerSync.ts +85 -13
|
@@ -145,6 +145,11 @@ export class SceneSwitcher extends Behaviour {
|
|
|
145
145
|
* The currently loaded scene. This is undefined if no scene is loaded.
|
|
146
146
|
*/
|
|
147
147
|
get currentlyLoadedScene() { return this._currentScene; }
|
|
148
|
+
/**
|
|
149
|
+
* Called when a scene starts loading
|
|
150
|
+
*/
|
|
151
|
+
sceneLoadingStart = new EventList();
|
|
152
|
+
sceneLoadingProgress = new EventList();
|
|
148
153
|
/**
|
|
149
154
|
* The sceneLoaded event is called when a scene/glTF is loaded and added to the scene
|
|
150
155
|
*/
|
|
@@ -193,7 +198,7 @@ export class SceneSwitcher extends Behaviour {
|
|
|
193
198
|
this._preloadScheduler.maxLoadAhead = this.preloadNext;
|
|
194
199
|
this._preloadScheduler.maxLoadBehind = this.preloadPrevious;
|
|
195
200
|
this._preloadScheduler.maxConcurrent = this.preloadConcurrent;
|
|
196
|
-
this._preloadScheduler.begin();
|
|
201
|
+
this._preloadScheduler.begin(2000);
|
|
197
202
|
// Begin loading the loading scene
|
|
198
203
|
if (this.autoLoadFirstScene && this._currentIndex === -1 && !await this.tryLoadFromQueryParam()) {
|
|
199
204
|
const value = this.context.domElement.getAttribute(ENGINE_ELEMENT_SCENE_ATTRIBUTE_NAME);
|
|
@@ -501,11 +506,13 @@ export class SceneSwitcher extends Behaviour {
|
|
|
501
506
|
this._currentLoadingProgress = new ProgressEvent("progress", { loaded: 0, total: 1 });
|
|
502
507
|
const loadStartEvt = new CustomEvent("loadscene-start", { detail: { scene: scene, switcher: this, index: index } });
|
|
503
508
|
this.dispatchEvent(loadStartEvt);
|
|
509
|
+
this.sceneLoadingStart?.invoke(loadStartEvt.detail);
|
|
504
510
|
await this.onStartLoading();
|
|
505
511
|
// start loading and wait for the scene to be loaded
|
|
506
512
|
await scene.loadAssetAsync((_, prog) => {
|
|
507
513
|
this._currentLoadingProgress = prog;
|
|
508
514
|
this.dispatchEvent(prog);
|
|
515
|
+
this.sceneLoadingProgress?.invoke(prog);
|
|
509
516
|
}).catch(console.error);
|
|
510
517
|
await this.onEndLoading();
|
|
511
518
|
const finishedEvt = new CustomEvent("loadscene-finished", { detail: { scene: scene, switcher: this, index: index } });
|
|
@@ -777,6 +784,12 @@ __decorate([
|
|
|
777
784
|
__decorate([
|
|
778
785
|
serializable()
|
|
779
786
|
], SceneSwitcher.prototype, "createMenuButtons", void 0);
|
|
787
|
+
__decorate([
|
|
788
|
+
serializable(EventList)
|
|
789
|
+
], SceneSwitcher.prototype, "sceneLoadingStart", void 0);
|
|
790
|
+
__decorate([
|
|
791
|
+
serializable(EventList)
|
|
792
|
+
], SceneSwitcher.prototype, "sceneLoadingProgress", void 0);
|
|
780
793
|
__decorate([
|
|
781
794
|
serializable(EventList)
|
|
782
795
|
], SceneSwitcher.prototype, "sceneLoaded", void 0);
|
|
@@ -787,43 +800,64 @@ function sceneUriToName(uri) {
|
|
|
787
800
|
return value;
|
|
788
801
|
return uri;
|
|
789
802
|
}
|
|
803
|
+
/**
|
|
804
|
+
* PreLoadScheduler is responsible for managing preloading of scenes.
|
|
805
|
+
* It handles scheduling and limiting concurrent downloads of scenes based on specified parameters.
|
|
806
|
+
*/
|
|
790
807
|
class PreLoadScheduler {
|
|
808
|
+
/** Maximum number of scenes to preload ahead of the current scene */
|
|
791
809
|
maxLoadAhead;
|
|
810
|
+
/** Maximum number of scenes to preload behind the current scene */
|
|
792
811
|
maxLoadBehind;
|
|
812
|
+
/** Maximum number of scenes that can be preloaded concurrently */
|
|
793
813
|
maxConcurrent;
|
|
794
814
|
_isRunning = false;
|
|
795
815
|
_switcher;
|
|
796
816
|
_loadTasks = [];
|
|
797
817
|
_maxConcurrentLoads = 1;
|
|
818
|
+
/**
|
|
819
|
+
* Creates a new PreLoadScheduler instance
|
|
820
|
+
* @param rooms The SceneSwitcher that this scheduler belongs to
|
|
821
|
+
* @param ahead Number of scenes to preload ahead of current scene
|
|
822
|
+
* @param behind Number of scenes to preload behind current scene
|
|
823
|
+
* @param maxConcurrent Maximum number of concurrent preloads allowed
|
|
824
|
+
*/
|
|
798
825
|
constructor(rooms, ahead = 1, behind = 1, maxConcurrent = 2) {
|
|
799
826
|
this._switcher = rooms;
|
|
800
827
|
this.maxLoadAhead = ahead;
|
|
801
828
|
this.maxLoadBehind = behind;
|
|
802
829
|
this.maxConcurrent = maxConcurrent;
|
|
803
830
|
}
|
|
804
|
-
|
|
831
|
+
/**
|
|
832
|
+
* Starts the preloading process after a specified delay
|
|
833
|
+
* @param delay Time in milliseconds to wait before starting preload
|
|
834
|
+
*/
|
|
835
|
+
begin(delay) {
|
|
805
836
|
if (this._isRunning)
|
|
806
837
|
return;
|
|
807
838
|
if (debug)
|
|
808
|
-
console.log("Preload begin");
|
|
839
|
+
console.log("Preload begin", { delay });
|
|
809
840
|
this._isRunning = true;
|
|
810
|
-
let lastRoom = -
|
|
841
|
+
let lastRoom = -10;
|
|
811
842
|
let searchDistance;
|
|
812
843
|
let searchCall;
|
|
813
844
|
const array = this._switcher.scenes;
|
|
845
|
+
const startTime = Date.now() + delay;
|
|
814
846
|
const interval = setInterval(() => {
|
|
815
847
|
if (this.allLoaded()) {
|
|
816
848
|
if (debug)
|
|
817
|
-
console.log("All scenes loaded");
|
|
849
|
+
console.log("All scenes (pre-)loaded");
|
|
818
850
|
this.stop();
|
|
819
851
|
}
|
|
820
852
|
if (!this._isRunning) {
|
|
821
853
|
clearInterval(interval);
|
|
822
854
|
return;
|
|
823
855
|
}
|
|
856
|
+
if (Date.now() < startTime)
|
|
857
|
+
return;
|
|
824
858
|
if (this.canLoadNewScene() === false)
|
|
825
859
|
return;
|
|
826
|
-
if (lastRoom !== this._switcher.currentIndex) {
|
|
860
|
+
if (lastRoom === -10 || lastRoom !== this._switcher.currentIndex) {
|
|
827
861
|
lastRoom = this._switcher.currentIndex;
|
|
828
862
|
searchCall = 0;
|
|
829
863
|
searchDistance = 0;
|
|
@@ -841,16 +875,31 @@ class PreLoadScheduler {
|
|
|
841
875
|
// if (roomIndex < 0) roomIndex = array.length + roomIndex;
|
|
842
876
|
if (roomIndex < 0 || roomIndex >= array.length)
|
|
843
877
|
return;
|
|
844
|
-
|
|
845
|
-
|
|
878
|
+
if (!this._loadTasks.some(t => t.index === roomIndex)) {
|
|
879
|
+
const scene = array[roomIndex];
|
|
880
|
+
if (debug)
|
|
881
|
+
console.log("Preload scene", { roomIndex, searchForward, lastRoom, currentIndex: this._switcher.currentIndex, tasks: this._loadTasks.length }, scene?.url);
|
|
882
|
+
new LoadTask(roomIndex, scene, this._loadTasks);
|
|
883
|
+
}
|
|
846
884
|
}, 200);
|
|
847
885
|
}
|
|
886
|
+
/**
|
|
887
|
+
* Stops the preloading process
|
|
888
|
+
*/
|
|
848
889
|
stop() {
|
|
849
890
|
this._isRunning = false;
|
|
850
891
|
}
|
|
892
|
+
/**
|
|
893
|
+
* Checks if a new scene can be loaded based on current load limits
|
|
894
|
+
* @returns True if a new scene can be loaded, false otherwise
|
|
895
|
+
*/
|
|
851
896
|
canLoadNewScene() {
|
|
852
897
|
return this._loadTasks.length < this._maxConcurrentLoads;
|
|
853
898
|
}
|
|
899
|
+
/**
|
|
900
|
+
* Checks if all scenes in the SceneSwitcher have been loaded
|
|
901
|
+
* @returns True if all scenes are loaded, false otherwise
|
|
902
|
+
*/
|
|
854
903
|
allLoaded() {
|
|
855
904
|
if (this._switcher.scenes) {
|
|
856
905
|
for (const scene of this._switcher.scenes) {
|
|
@@ -861,10 +910,22 @@ class PreLoadScheduler {
|
|
|
861
910
|
return true;
|
|
862
911
|
}
|
|
863
912
|
}
|
|
913
|
+
/**
|
|
914
|
+
* Represents a single preloading task for a scene
|
|
915
|
+
*/
|
|
864
916
|
class LoadTask {
|
|
917
|
+
/** The index of the scene in the scenes array */
|
|
865
918
|
index;
|
|
919
|
+
/** The AssetReference to be loaded */
|
|
866
920
|
asset;
|
|
921
|
+
/** The collection of active load tasks this task belongs to */
|
|
867
922
|
tasks;
|
|
923
|
+
/**
|
|
924
|
+
* Creates a new LoadTask and begins loading immediately
|
|
925
|
+
* @param index The index of the scene in the scenes array
|
|
926
|
+
* @param asset The AssetReference to preload
|
|
927
|
+
* @param tasks The collection of active load tasks
|
|
928
|
+
*/
|
|
868
929
|
constructor(index, asset, tasks) {
|
|
869
930
|
this.index = index;
|
|
870
931
|
this.asset = asset;
|
|
@@ -872,6 +933,9 @@ class LoadTask {
|
|
|
872
933
|
tasks.push(this);
|
|
873
934
|
this.awaitLoading();
|
|
874
935
|
}
|
|
936
|
+
/**
|
|
937
|
+
* Asynchronously loads the asset and removes this task from the active tasks list when complete
|
|
938
|
+
*/
|
|
875
939
|
async awaitLoading() {
|
|
876
940
|
if (this.asset && !this.asset.isLoaded()) {
|
|
877
941
|
if (debug)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneSwitcher.js","sourceRoot":"","sources":["../../src/engine-components/SceneSwitcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SceneSwitcher.js","sourceRoot":"","sources":["../../src/engine-components/SceneSwitcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,36 +2,101 @@ import { Object3D } from "three";
|
|
|
2
2
|
import { Behaviour } from "./Component.js";
|
|
3
3
|
import { EventList } from "./EventList.js";
|
|
4
4
|
/**
|
|
5
|
+
* Component that receives and responds to spatial events, like entering or exiting a trigger zone.
|
|
6
|
+
* Used in conjunction with {@link SpatialTrigger} to create interactive spatial events.
|
|
5
7
|
* @category Interactivity
|
|
6
8
|
* @group Components
|
|
7
9
|
*/
|
|
8
10
|
export declare class SpatialTriggerReceiver extends Behaviour {
|
|
11
|
+
/**
|
|
12
|
+
* Bitmask determining which triggers this receiver responds to
|
|
13
|
+
* Only triggers with matching masks will interact with this receiver
|
|
14
|
+
*/
|
|
9
15
|
triggerMask: number;
|
|
16
|
+
/** Event invoked when this object enters a trigger zone */
|
|
10
17
|
onEnter?: EventList<any>;
|
|
18
|
+
/** Event invoked continuously while this object is inside a trigger zone */
|
|
11
19
|
onStay?: EventList<any>;
|
|
20
|
+
/** Event invoked when this object exits a trigger zone */
|
|
12
21
|
onExit?: EventList<any>;
|
|
22
|
+
/**
|
|
23
|
+
* Initializes the receiver and logs debug info if enabled
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
13
26
|
start(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Checks for intersections with spatial triggers and fires appropriate events
|
|
29
|
+
* Handles enter, stay, and exit events for all relevant triggers
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
14
32
|
update(): void;
|
|
33
|
+
/** Array of triggers currently intersecting with this receiver */
|
|
15
34
|
readonly currentIntersected: SpatialTrigger[];
|
|
35
|
+
/** Array of triggers that intersected with this receiver in the previous frame */
|
|
16
36
|
readonly lastIntersected: SpatialTrigger[];
|
|
37
|
+
/**
|
|
38
|
+
* Handles trigger enter events.
|
|
39
|
+
* @param trigger The spatial trigger that was entered
|
|
40
|
+
*/
|
|
17
41
|
onEnterTrigger(trigger: SpatialTrigger): void;
|
|
42
|
+
/**
|
|
43
|
+
* Handles trigger exit events.
|
|
44
|
+
* @param trigger The spatial trigger that was exited
|
|
45
|
+
*/
|
|
18
46
|
onExitTrigger(trigger: SpatialTrigger): void;
|
|
47
|
+
/**
|
|
48
|
+
* Handles trigger stay events.
|
|
49
|
+
* @param trigger The spatial trigger that the receiver is staying in
|
|
50
|
+
*/
|
|
19
51
|
onStayTrigger(trigger: SpatialTrigger): void;
|
|
20
52
|
}
|
|
21
53
|
/**
|
|
22
|
-
* A trigger that
|
|
54
|
+
* A spatial trigger component that detects objects within a box-shaped area.
|
|
55
|
+
* Used to trigger events when objects enter, stay in, or exit the defined area
|
|
23
56
|
* @category Interactivity
|
|
24
57
|
* @group Components
|
|
25
58
|
*/
|
|
26
59
|
export declare class SpatialTrigger extends Behaviour {
|
|
60
|
+
/** Global registry of all active spatial triggers in the scene */
|
|
27
61
|
static triggers: SpatialTrigger[];
|
|
62
|
+
/**
|
|
63
|
+
* Bitmask determining which receivers this trigger affects.
|
|
64
|
+
* Only receivers with matching masks will be triggered.
|
|
65
|
+
*/
|
|
28
66
|
triggerMask?: number;
|
|
67
|
+
/** Box helper component used to visualize and calculate the trigger area */
|
|
29
68
|
private boxHelper?;
|
|
69
|
+
/**
|
|
70
|
+
* Initializes the trigger and logs debug info if enabled
|
|
71
|
+
*/
|
|
30
72
|
start(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Registers this trigger in the global registry and sets up debug visualization if enabled
|
|
75
|
+
*/
|
|
31
76
|
onEnable(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Removes this trigger from the global registry when disabled
|
|
79
|
+
*/
|
|
32
80
|
onDisable(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Tests if an object is inside this trigger's box
|
|
83
|
+
* @param obj The object to test against this trigger
|
|
84
|
+
* @returns True if the object is inside the trigger box
|
|
85
|
+
*/
|
|
33
86
|
test(obj: Object3D): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Raises the onEnter event on any SpatialTriggerReceiver components attached to this trigger's GameObject
|
|
89
|
+
* @param rec The receiver that entered this trigger
|
|
90
|
+
*/
|
|
34
91
|
raiseOnEnterEvent(rec: SpatialTriggerReceiver): void;
|
|
92
|
+
/**
|
|
93
|
+
* Raises the onStay event on any SpatialTriggerReceiver components attached to this trigger's GameObject
|
|
94
|
+
* @param rec The receiver that is staying in this trigger
|
|
95
|
+
*/
|
|
35
96
|
raiseOnStayEvent(rec: SpatialTriggerReceiver): void;
|
|
97
|
+
/**
|
|
98
|
+
* Raises the onExit event on any SpatialTriggerReceiver components attached to this trigger's GameObject
|
|
99
|
+
* @param rec The receiver that exited this trigger
|
|
100
|
+
*/
|
|
36
101
|
raiseOnExitEvent(rec: SpatialTriggerReceiver): void;
|
|
37
102
|
}
|
|
@@ -11,27 +11,51 @@ import { BoxHelperComponent } from "./BoxHelperComponent.js";
|
|
|
11
11
|
import { Behaviour, GameObject } from "./Component.js";
|
|
12
12
|
import { EventList } from "./EventList.js";
|
|
13
13
|
const debug = getParam("debugspatialtrigger");
|
|
14
|
+
/** Layer instances used for mask comparison */
|
|
14
15
|
const layer1 = new Layers();
|
|
15
16
|
const layer2 = new Layers();
|
|
17
|
+
/**
|
|
18
|
+
* Tests if two layer masks intersect
|
|
19
|
+
* @param mask1 First layer mask
|
|
20
|
+
* @param mask2 Second layer mask
|
|
21
|
+
* @returns True if the layers intersect
|
|
22
|
+
*/
|
|
16
23
|
function testMask(mask1, mask2) {
|
|
17
24
|
layer1.mask = mask1;
|
|
18
25
|
layer2.mask = mask2;
|
|
19
26
|
return layer1.test(layer2);
|
|
20
27
|
}
|
|
21
28
|
/**
|
|
29
|
+
* Component that receives and responds to spatial events, like entering or exiting a trigger zone.
|
|
30
|
+
* Used in conjunction with {@link SpatialTrigger} to create interactive spatial events.
|
|
22
31
|
* @category Interactivity
|
|
23
32
|
* @group Components
|
|
24
33
|
*/
|
|
25
34
|
export class SpatialTriggerReceiver extends Behaviour {
|
|
26
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Bitmask determining which triggers this receiver responds to
|
|
37
|
+
* Only triggers with matching masks will interact with this receiver
|
|
38
|
+
*/
|
|
27
39
|
triggerMask = 0;
|
|
40
|
+
/** Event invoked when this object enters a trigger zone */
|
|
28
41
|
onEnter;
|
|
42
|
+
/** Event invoked continuously while this object is inside a trigger zone */
|
|
29
43
|
onStay;
|
|
44
|
+
/** Event invoked when this object exits a trigger zone */
|
|
30
45
|
onExit;
|
|
46
|
+
/**
|
|
47
|
+
* Initializes the receiver and logs debug info if enabled
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
31
50
|
start() {
|
|
32
51
|
if (debug)
|
|
33
52
|
console.log(this.name, this.triggerMask, this);
|
|
34
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Checks for intersections with spatial triggers and fires appropriate events
|
|
56
|
+
* Handles enter, stay, and exit events for all relevant triggers
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
35
59
|
update() {
|
|
36
60
|
this.currentIntersected.length = 0;
|
|
37
61
|
for (const trigger of SpatialTrigger.triggers) {
|
|
@@ -56,20 +80,34 @@ export class SpatialTriggerReceiver extends Behaviour {
|
|
|
56
80
|
this.lastIntersected.length = 0;
|
|
57
81
|
this.lastIntersected.push(...this.currentIntersected);
|
|
58
82
|
}
|
|
83
|
+
/** Array of triggers currently intersecting with this receiver */
|
|
59
84
|
currentIntersected = [];
|
|
85
|
+
/** Array of triggers that intersected with this receiver in the previous frame */
|
|
60
86
|
lastIntersected = [];
|
|
87
|
+
/**
|
|
88
|
+
* Handles trigger enter events.
|
|
89
|
+
* @param trigger The spatial trigger that was entered
|
|
90
|
+
*/
|
|
61
91
|
onEnterTrigger(trigger) {
|
|
62
92
|
if (debug)
|
|
63
93
|
console.log("ENTER TRIGGER", this.name, trigger.name, this, trigger);
|
|
64
94
|
trigger.raiseOnEnterEvent(this);
|
|
65
95
|
this.onEnter?.invoke();
|
|
66
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Handles trigger exit events.
|
|
99
|
+
* @param trigger The spatial trigger that was exited
|
|
100
|
+
*/
|
|
67
101
|
onExitTrigger(trigger) {
|
|
68
102
|
if (debug)
|
|
69
103
|
console.log("EXIT TRIGGER", this.name, trigger.name);
|
|
70
104
|
trigger.raiseOnExitEvent(this);
|
|
71
105
|
this.onExit?.invoke();
|
|
72
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Handles trigger stay events.
|
|
109
|
+
* @param trigger The spatial trigger that the receiver is staying in
|
|
110
|
+
*/
|
|
73
111
|
onStayTrigger(trigger) {
|
|
74
112
|
trigger.raiseOnStayEvent(this);
|
|
75
113
|
this.onStay?.invoke();
|
|
@@ -88,18 +126,32 @@ __decorate([
|
|
|
88
126
|
serializable(EventList)
|
|
89
127
|
], SpatialTriggerReceiver.prototype, "onExit", void 0);
|
|
90
128
|
/**
|
|
91
|
-
* A trigger that
|
|
129
|
+
* A spatial trigger component that detects objects within a box-shaped area.
|
|
130
|
+
* Used to trigger events when objects enter, stay in, or exit the defined area
|
|
92
131
|
* @category Interactivity
|
|
93
132
|
* @group Components
|
|
94
133
|
*/
|
|
95
134
|
export class SpatialTrigger extends Behaviour {
|
|
135
|
+
/** Global registry of all active spatial triggers in the scene */
|
|
96
136
|
static triggers = [];
|
|
137
|
+
/**
|
|
138
|
+
* Bitmask determining which receivers this trigger affects.
|
|
139
|
+
* Only receivers with matching masks will be triggered.
|
|
140
|
+
*/
|
|
141
|
+
// currently Layers in unity but maybe this should be a string or plane number? Or should it be a bitmask to allow receivers use multiple triggers?
|
|
97
142
|
triggerMask;
|
|
143
|
+
/** Box helper component used to visualize and calculate the trigger area */
|
|
98
144
|
boxHelper;
|
|
145
|
+
/**
|
|
146
|
+
* Initializes the trigger and logs debug info if enabled
|
|
147
|
+
*/
|
|
99
148
|
start() {
|
|
100
149
|
if (debug)
|
|
101
150
|
console.log(this.name, this.triggerMask, this);
|
|
102
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Registers this trigger in the global registry and sets up debug visualization if enabled
|
|
154
|
+
*/
|
|
103
155
|
onEnable() {
|
|
104
156
|
SpatialTrigger.triggers.push(this);
|
|
105
157
|
if (!this.boxHelper) {
|
|
@@ -107,15 +159,27 @@ export class SpatialTrigger extends Behaviour {
|
|
|
107
159
|
this.boxHelper?.showHelper(null, debug);
|
|
108
160
|
}
|
|
109
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Removes this trigger from the global registry when disabled
|
|
164
|
+
*/
|
|
110
165
|
onDisable() {
|
|
111
166
|
SpatialTrigger.triggers.splice(SpatialTrigger.triggers.indexOf(this), 1);
|
|
112
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Tests if an object is inside this trigger's box
|
|
170
|
+
* @param obj The object to test against this trigger
|
|
171
|
+
* @returns True if the object is inside the trigger box
|
|
172
|
+
*/
|
|
113
173
|
test(obj) {
|
|
114
174
|
if (!this.boxHelper)
|
|
115
175
|
return false;
|
|
116
176
|
return this.boxHelper.isInBox(obj) ?? false;
|
|
117
177
|
}
|
|
118
178
|
// private args: SpatialTriggerEventArgs = new SpatialTriggerEventArgs();
|
|
179
|
+
/**
|
|
180
|
+
* Raises the onEnter event on any SpatialTriggerReceiver components attached to this trigger's GameObject
|
|
181
|
+
* @param rec The receiver that entered this trigger
|
|
182
|
+
*/
|
|
119
183
|
raiseOnEnterEvent(rec) {
|
|
120
184
|
// this.args.trigger = this;
|
|
121
185
|
// this.args.source = rec;
|
|
@@ -127,6 +191,10 @@ export class SpatialTrigger extends Behaviour {
|
|
|
127
191
|
}
|
|
128
192
|
}, false);
|
|
129
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Raises the onStay event on any SpatialTriggerReceiver components attached to this trigger's GameObject
|
|
196
|
+
* @param rec The receiver that is staying in this trigger
|
|
197
|
+
*/
|
|
130
198
|
raiseOnStayEvent(rec) {
|
|
131
199
|
// this.args.trigger = this;
|
|
132
200
|
// this.args.source = rec;
|
|
@@ -138,6 +206,10 @@ export class SpatialTrigger extends Behaviour {
|
|
|
138
206
|
}
|
|
139
207
|
}, false);
|
|
140
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Raises the onExit event on any SpatialTriggerReceiver components attached to this trigger's GameObject
|
|
211
|
+
* @param rec The receiver that exited this trigger
|
|
212
|
+
*/
|
|
141
213
|
raiseOnExitEvent(rec) {
|
|
142
214
|
GameObject.foreachComponent(this.gameObject, c => {
|
|
143
215
|
if (c === rec)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpatialTrigger.js","sourceRoot":"","sources":["../../src/engine-components/SpatialTrigger.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAE9C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,SAAS,QAAQ,CAAC,KAAK,EAAE,KAAK;IAC1B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"SpatialTrigger.js","sourceRoot":"","sources":["../../src/engine-components/SpatialTrigger.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAE9C,+CAA+C;AAC/C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,KAAK,EAAE,KAAK;IAC1B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IAEjD;;;OAGG;IAEH,WAAW,GAAW,CAAC,CAAC;IAExB,2DAA2D;IAE3D,OAAO,CAAkB;IAEzB,4EAA4E;IAE5E,MAAM,CAAkB;IAExB,0DAA0D;IAE1D,MAAM,CAAkB;IAExB;;;OAGG;IACH,KAAK;QACD,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE;YAC3C,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;gBACjD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACzC;aACJ;SACJ;QACD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YACpC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACrC;SACJ;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACvC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,kEAAkE;IACzD,kBAAkB,GAAqB,EAAE,CAAC;IAEnD,kFAAkF;IACzE,eAAe,GAAqB,EAAE,CAAC;IAEhD;;;OAGG;IACH,cAAc,CAAC,OAAuB;QAClC,IAAG,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAAuB;QACjC,IAAG,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAG,CAAC;QACjE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAAuB;QACjC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;CACJ;AAtFG;IADC,YAAY,EAAE;2DACS;AAIxB;IADC,YAAY,CAAC,SAAS,CAAC;uDACC;AAIzB;IADC,YAAY,CAAC,SAAS,CAAC;sDACA;AAIxB;IADC,YAAY,CAAC,SAAS,CAAC;sDACA;AA4E5B;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,SAAS;IAEzC,kEAAkE;IAClE,MAAM,CAAC,QAAQ,GAAqB,EAAE,CAAC;IAEvC;;;OAGG;IACH,mJAAmJ;IAEnJ,WAAW,CAAU;IAErB,4EAA4E;IACpE,SAAS,CAAsB;IAEvC;;OAEG;IACH,KAAK;QACD,IAAI,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC9E,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,KAAgB,CAAC,CAAC;SACtD;IACL,CAAC;IAED;;OAEG;IACH,SAAS;QACL,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,GAAa;QACd,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;IAChD,CAAC;IAED,yEAAyE;IAEzE;;;OAGG;IACH,iBAAiB,CAAC,GAA2B;QACzC,4BAA4B;QAC5B,0BAA0B;QAC1B,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO;YACtB,IAAG,CAAC,YAAY,sBAAsB,EAAE;gBACpC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC1B;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,GAA2B;QACxC,4BAA4B;QAC5B,0BAA0B;QAC1B,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO;YACtB,IAAG,CAAC,YAAY,sBAAsB,EAAE;gBACpC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aACzB;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,GAA2B;QACxC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO;YACtB,IAAG,CAAC,YAAY,sBAAsB,EAAE;gBACpC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aACzB;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;;AApFD;IADC,YAAY,EAAE;mDACM"}
|