Skip to content

Commit 50d9380

Browse files
committed
fix: register scripts attached at runtime in babylonjs-editor-tools
#725
1 parent 5b0f2fc commit 50d9380

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

tools/src/loading/script.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ export function _applyScriptsForObject(scene: Scene, object: any, scriptsMap: Sc
9191
}
9292

9393
let result = exports;
94-
let observers: IRegisteredScriptObservers = {};
94+
95+
const observers: IRegisteredScriptObservers = {};
9596

9697
if (exports.default) {
9798
result = new exports.default(object);
@@ -131,6 +132,7 @@ export function applyScriptOnObject(object: any, scriptConstructor: new (...args
131132
}
132133

133134
const instance = new scriptConstructor(object);
135+
const observers: IRegisteredScriptObservers = {};
134136

135137
const script = {
136138
values: {},
@@ -139,13 +141,15 @@ export function applyScriptOnObject(object: any, scriptConstructor: new (...args
139141
applyDecorators(scene, object, script, instance, "");
140142

141143
if (instance.onStart) {
142-
scene.onBeforeRenderObservable.addOnce(() => instance.onStart!());
144+
observers.onStartObserver = scene.onBeforeRenderObservable.addOnce(() => instance.onStart!());
143145
}
144146

145147
if (instance.onUpdate) {
146148
scene.onBeforeRenderObservable.add(() => instance.onUpdate!());
147149
}
148150

151+
_registerScriptInstance(object, instance, "runtime", observers);
152+
149153
return instance;
150154
}
151155

0 commit comments

Comments
 (0)