瀏覽代碼

Better fix for loadassetcontainer for bjs

David Catuhe 5 年之前
父節點
當前提交
3a15f8d7f7
共有 1 個文件被更改,包括 4 次插入8 次删除
  1. 4 8
      src/Loading/Plugins/babylonFileLoader.ts

+ 4 - 8
src/Loading/Plugins/babylonFileLoader.ts

@@ -112,8 +112,6 @@ var loadDetailLevels = (scene: Scene, mesh: AbstractMesh) => {
 var loadAssetContainer = (scene: Scene, data: string, rootUrl: string, onError?: (message: string, exception?: any) => void, addToScene = false): AssetContainer => {
 var loadAssetContainer = (scene: Scene, data: string, rootUrl: string, onError?: (message: string, exception?: any) => void, addToScene = false): AssetContainer => {
     var container = new AssetContainer(scene);
     var container = new AssetContainer(scene);
 
 
-    scene._blockEntityCollection = !addToScene;
-
     // Entire method running in try block, so ALWAYS logs as far as it got, only actually writes details
     // Entire method running in try block, so ALWAYS logs as far as it got, only actually writes details
     // when SceneLoader.debugLogging = true (default), or exception encountered.
     // when SceneLoader.debugLogging = true (default), or exception encountered.
     // Everything stored in var log instead of writing separate lines to support only writing in exception,
     // Everything stored in var log instead of writing separate lines to support only writing in exception,
@@ -436,11 +434,7 @@ var loadAssetContainer = (scene: Scene, data: string, rootUrl: string, onError?:
         }
         }
         if (parsedData.actions !== undefined && parsedData.actions !== null) {
         if (parsedData.actions !== undefined && parsedData.actions !== null) {
             ActionManager.Parse(parsedData.actions, null, scene);
             ActionManager.Parse(parsedData.actions, null, scene);
-        }
-
-        if (!addToScene) {
-            container.removeAllFromScene();
-        }
+        }        
     } catch (err) {
     } catch (err) {
         let msg = logOperation("loadAssets", parsedData ? parsedData.producer : "Unknown") + log;
         let msg = logOperation("loadAssets", parsedData ? parsedData.producer : "Unknown") + log;
         if (onError) {
         if (onError) {
@@ -450,7 +444,9 @@ var loadAssetContainer = (scene: Scene, data: string, rootUrl: string, onError?:
             throw err;
             throw err;
         }
         }
     } finally {
     } finally {
-        scene._blockEntityCollection = false;
+        if (!addToScene) {
+            container.removeAllFromScene();
+        }
         if (log !== null && SceneLoader.loggingLevel !== SceneLoader.NO_LOGGING) {
         if (log !== null && SceneLoader.loggingLevel !== SceneLoader.NO_LOGGING) {
             Logger.Log(logOperation("loadAssets", parsedData ? parsedData.producer : "Unknown") + (SceneLoader.loggingLevel !== SceneLoader.MINIMAL_LOGGING ? log : ""));
             Logger.Log(logOperation("loadAssets", parsedData ? parsedData.producer : "Unknown") + (SceneLoader.loggingLevel !== SceneLoader.MINIMAL_LOGGING ? log : ""));
         }
         }