diff --git a/editor/js/Loader.js b/editor/js/Loader.js index ed48f81b495ba1e82caf1212f1654936d558317e..da7c6950956e95722325c8c4ec5f9f5af6ee002b 100644 --- a/editor/js/Loader.js +++ b/editor/js/Loader.js @@ -67,7 +67,7 @@ var Loader = function ( signals ) { } - this.handleJSON = function ( data ) { + this.handleJSON = function ( data, file, filename ) { if ( data.metadata === undefined ) { // 2.0 @@ -220,7 +220,7 @@ var Loader = function ( signals ) { worker.onmessage = function ( event ) { event.data.metadata = { version: 2 }; - scope.handleJSON( event.data ); + scope.handleJSON( event.data, file, filename ); }; @@ -245,7 +245,7 @@ var Loader = function ( signals ) { } - scope.handleJSON( data ); + scope.handleJSON( data, file, filename ); }, false ); reader.readAsText( file ); diff --git a/editor/js/libs/ui.three.js b/editor/js/libs/ui.three.js index 2547c4f155f462c21d6e6414261d69bcc4f85520..7358da96822f13168b6ef70f3250478f45c1a75c 100644 --- a/editor/js/libs/ui.three.js +++ b/editor/js/libs/ui.three.js @@ -30,34 +30,34 @@ UI.Texture = function ( position ) { scope.texture = new THREE.Texture( this ); scope.texture.needsUpdate = true; - if ( scope.onChangeCallback ) scope.onChangeCallback(); + // remember the original filename (including extension) + // this is used for url field in the scene export - }, false ); + scope.texture.sourceFile = file.name; - image.src = event.target.result; + // generate unique name per texture + // based on source file name - // remember the original filename (including extension) - // this is used for url field in the scene export + var chunks = file.name.split( '.' ); + var extension = chunks.pop().toLowerCase(); + var filename = chunks.join( '.' ); - scope.texture.sourceFile = file.name; + if ( ! ( filename in scope.textureNameMap ) ) { - // generate unique name per texture - // based on source file name + scope.textureNameMap[ filename ] = true; + scope.texture.name = filename; - var chunks = file.name.split( '.' ); - var extension = chunks.pop().toLowerCase(); - var filename = chunks.join( '.' ); + } else { - if ( ! ( filename in scope.textureNameMap ) ) { + scope.texture.name = filename + "_" + scope.texture.id; - scope.textureNameMap[ filename ] = true; - scope.texture.name = filename; + } - } else { + if ( scope.onChangeCallback ) scope.onChangeCallback(); - scope.texture.name = filename + "_" + scope.texture.id; + }, false ); - } + image.src = event.target.result; }, false );