diff --git a/ShadowEditor.Web/src/editor/window/ModelWindow.js b/ShadowEditor.Web/src/editor/window/ModelWindow.js index 11da2c4e..dce8de16 100644 --- a/ShadowEditor.Web/src/editor/window/ModelWindow.js +++ b/ShadowEditor.Web/src/editor/window/ModelWindow.js @@ -192,7 +192,7 @@ ModelWindow.prototype.onClickImage = function (imgs, index, btn) { ModelWindow.prototype.onLoadModel = function (model) { var loader = new ModelLoader(this.app); - loader.load(this.app.options.server + model.Url).then(obj => { + loader.load(this.app.options.server + model.Url, { type: model.Type }).then(obj => { if (!obj) { return; } diff --git a/ShadowEditor.Web/src/loader/ModelLoader.js b/ShadowEditor.Web/src/loader/ModelLoader.js index 839a6aaa..6abb58b7 100644 --- a/ShadowEditor.Web/src/loader/ModelLoader.js +++ b/ShadowEditor.Web/src/loader/ModelLoader.js @@ -45,13 +45,19 @@ ModelLoader.prototype = Object.create(BaseLoader.prototype); ModelLoader.prototype.constructor = ModelLoader; ModelLoader.prototype.load = function (url, options) { - var paths = url.split('.'); - var ext = paths[paths.length - 1].toLowerCase(); + options = options || {}; + var type = options.type; + + if (type === undefined) { + console.warn(`ModelLoader: 未传递type参数,则使用文件后缀判断文件类型。`); + var paths = url.split('.'); + type = paths[paths.length - 1].toLowerCase(); + } return new Promise(resolve => { - var loader = Loaders[ext]; + var loader = Loaders[type]; if (loader === undefined) { - console.warn(`ModelLoader: 不存在加载${ext}后缀模型的加载器。`); + console.warn(`ModelLoader: 不存在加载${type}后缀模型的加载器。`); resolve(null); return; }