/// <summary> /// Save, bake and delete all toggled Asset Root for the current scene. /// The Houdini Asset Root objects will be replaced by their baked version. /// </summary> /// <param name="console_log">List of baked assets path (log purpose).</param> /// <returns>-1 if it fail, the number of assets baked otherwise</returns> public int BakeAll(out string console_log) { string log = string.Empty; int bakeCount = -1; string folderPath = CheckFolderPathValidity(StaticFolderPath, Scene.name); if (!string.IsNullOrEmpty(folderPath)) { bakeCount = 0; for (int index = 0; index < AssetToggleCollection.Count; index++) { string bakeLog; if (BakeAsset(index, folderPath, out bakeLog)) { log += bakeLog + Environment.NewLine; bakeCount++; } } DeleteTaggedAssetsGamesObject(); if (IsSceneEmpty()) { HoudiniHDASaver_Data.Remove(this); } } else { log += "Folder path not valid."; } console_log = log; return(bakeCount); }
private static void ButtonBakeAllClicked() { string consoleLog = string.Empty; int bakedAssetsCount = 0; foreach (SceneHoudiniRoot data in HoudiniHDASaver_Data) { if (data.ToogleScene) { string log = string.Empty; int result = data.BakeAll(out log); if (result == -1) { Debug.Log($"Houdini HDA Save Helper : Bake Failed !"); } else { bakedAssetsCount += result; consoleLog += log; } if (data.IsSceneEmpty()) { HoudiniHDASaver_Data.Remove(data); } } } Debug.Log($"Houdini HDA Save Helper : Ball All ({bakedAssetsCount} assets baked) {Environment.NewLine}{consoleLog}"); }