|
@@ -23,17 +23,29 @@ import { VRMLLoader } from '../../examples/jsm/loaders/VRMLLoader.js';
|
|
import { AddObjectCommand } from './commands/AddObjectCommand.js';
|
|
import { AddObjectCommand } from './commands/AddObjectCommand.js';
|
|
import { SetSceneCommand } from './commands/SetSceneCommand.js';
|
|
import { SetSceneCommand } from './commands/SetSceneCommand.js';
|
|
|
|
|
|
|
|
+import { LoaderUtils } from './LoaderUtils.js';
|
|
|
|
+
|
|
var Loader = function ( editor ) {
|
|
var Loader = function ( editor ) {
|
|
|
|
|
|
var scope = this;
|
|
var scope = this;
|
|
|
|
|
|
this.texturePath = '';
|
|
this.texturePath = '';
|
|
|
|
|
|
- this.loadFiles = function ( files ) {
|
|
|
|
|
|
+ this.loadItemList = function ( items ) {
|
|
|
|
+
|
|
|
|
+ LoaderUtils.getFilesFromItemList( items, function ( files, filesMap ) {
|
|
|
|
+
|
|
|
|
+ scope.loadFiles( files, filesMap );
|
|
|
|
+
|
|
|
|
+ } );
|
|
|
|
+
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ this.loadFiles = function ( files, filesMap ) {
|
|
|
|
|
|
if ( files.length > 0 ) {
|
|
if ( files.length > 0 ) {
|
|
|
|
|
|
- var filesMap = createFileMap( files );
|
|
|
|
|
|
+ var filesMap = filesMap || LoaderUtils.createFilesMap( files );
|
|
|
|
|
|
var manager = new THREE.LoadingManager();
|
|
var manager = new THREE.LoadingManager();
|
|
manager.setURLModifier( function ( url ) {
|
|
manager.setURLModifier( function ( url ) {
|
|
@@ -566,21 +578,6 @@ var Loader = function ( editor ) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- function createFileMap( files ) {
|
|
|
|
-
|
|
|
|
- var map = {};
|
|
|
|
-
|
|
|
|
- for ( var i = 0; i < files.length; i ++ ) {
|
|
|
|
-
|
|
|
|
- var file = files[ i ];
|
|
|
|
- map[ file.name ] = file;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return map;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
function handleZIP( contents ) {
|
|
function handleZIP( contents ) {
|
|
|
|
|
|
var zip = new JSZip( contents );
|
|
var zip = new JSZip( contents );
|