|
@@ -144,6 +144,7 @@
|
|
|
modifierAxisChanged: new SIGNALS.Signal(),
|
|
|
snapChanged: new SIGNALS.Signal(),
|
|
|
rendererChanged: new SIGNALS.Signal(),
|
|
|
+ sceneAdded: new SIGNALS.Signal(),
|
|
|
sceneChanged: new SIGNALS.Signal(),
|
|
|
objectAdded: new SIGNALS.Signal(),
|
|
|
objectSelected: new SIGNALS.Signal(),
|
|
@@ -310,11 +311,15 @@
|
|
|
} else if ( data.metadata.type === 'object' ) {
|
|
|
|
|
|
var loader = new THREE.ObjectLoader();
|
|
|
- var scene = loader.parse( data );
|
|
|
+ var result = loader.parse( data );
|
|
|
+
|
|
|
+ if ( result instanceof THREE.Scene ) {
|
|
|
+
|
|
|
+ signals.sceneAdded.dispatch( result );
|
|
|
|
|
|
- while ( scene.children.length > 0 ) {
|
|
|
+ } else {
|
|
|
|
|
|
- signals.objectAdded.dispatch( scene.children[ 0 ] );
|
|
|
+ signals.objectAdded.dispatch( result );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -513,11 +518,7 @@
|
|
|
var loader = new THREE.ObjectLoader();
|
|
|
var scene = loader.parse( JSON.parse( localStorage.threejsEditor ) );
|
|
|
|
|
|
- while ( scene.children.length > 0 ) {
|
|
|
-
|
|
|
- signals.objectAdded.dispatch( scene.children[ 0 ] );
|
|
|
-
|
|
|
- }
|
|
|
+ signals.sceneAdded.dispatch( scene );
|
|
|
|
|
|
}
|
|
|
|