From ec9184ba933823801c22df541d1d01989b46ec8c Mon Sep 17 00:00:00 2001 From: Perfare Date: Sat, 24 Nov 2018 23:30:04 +0800 Subject: [PATCH] Fixed #302 --- AssetStudioGUI/AssetStudioGUIForm.cs | 8 ++++---- AssetStudioGUI/Studio.cs | 18 +++++++++++++++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/AssetStudioGUI/AssetStudioGUIForm.cs b/AssetStudioGUI/AssetStudioGUIForm.cs index b0c9859..c004d4b 100644 --- a/AssetStudioGUI/AssetStudioGUIForm.cs +++ b/AssetStudioGUI/AssetStudioGUIForm.cs @@ -1783,7 +1783,7 @@ namespace AssetStudioGUI if (saveFolderDialog1.ShowDialog(this) == DialogResult.OK) { var exportPath = saveFolderDialog1.Folder + "\\Animator\\"; - ExportAnimatorWithAnimationClip(animator, animationList, exportPath); + ExportAnimatorWithAnimationClip(animator, animationList, exportPath, openAfterExport.Checked); } } } @@ -1796,7 +1796,7 @@ namespace AssetStudioGUI if (saveFolderDialog1.ShowDialog(this) == DialogResult.OK) { var exportPath = saveFolderDialog1.Folder + "\\GameObject\\"; - ExportObjectsWithAnimationClip(exportPath, sceneTreeView.Nodes); + ExportObjectsWithAnimationClip(exportPath, sceneTreeView.Nodes, openAfterExport.Checked); } } else @@ -1814,7 +1814,7 @@ namespace AssetStudioGUI { var exportPath = saveFolderDialog1.Folder + "\\GameObject\\"; var animationList = GetSelectedAssets().Where(x => x.Type == ClassIDType.AnimationClip).ToList(); - ExportObjectsWithAnimationClip(exportPath, sceneTreeView.Nodes, animationList.Count == 0 ? null : animationList); + ExportObjectsWithAnimationClip(exportPath, sceneTreeView.Nodes, openAfterExport.Checked, animationList.Count == 0 ? null : animationList); } } else @@ -1841,7 +1841,7 @@ namespace AssetStudioGUI if (saveFolderDialog1.ShowDialog(this) == DialogResult.OK) { var savePath = saveFolderDialog1.Folder + "\\"; - ExportSplitObjects(savePath, sceneTreeView.Nodes); + ExportSplitObjects(savePath, sceneTreeView.Nodes, openAfterExport.Checked); } } else diff --git a/AssetStudioGUI/Studio.cs b/AssetStudioGUI/Studio.cs index 3a3a3fe..2dbee00 100644 --- a/AssetStudioGUI/Studio.cs +++ b/AssetStudioGUI/Studio.cs @@ -466,7 +466,7 @@ namespace AssetStudioGUI }); } - public static void ExportSplitObjects(string savePath, TreeNodeCollection nodes) + public static void ExportSplitObjects(string savePath, TreeNodeCollection nodes, bool openAfterExport) { ThreadPool.QueueUserWorkItem(state => { @@ -519,6 +519,10 @@ namespace AssetStudioGUI Logger.Info($"Finished exporting {filename}.fbx"); } } + if (openAfterExport) + { + Process.Start(savePath); + } Logger.Info("Finished"); }); } @@ -532,7 +536,7 @@ namespace AssetStudioGUI } } - public static void ExportAnimatorWithAnimationClip(AssetItem animator, List animationList, string exportPath) + public static void ExportAnimatorWithAnimationClip(AssetItem animator, List animationList, string exportPath, bool openAfterExport) { ThreadPool.QueueUserWorkItem(state => { @@ -540,6 +544,10 @@ namespace AssetStudioGUI try { ExportAnimator(animator, exportPath, animationList); + if (openAfterExport) + { + Process.Start(exportPath); + } Logger.Info($"Finished exporting {animator.Text}"); } catch (Exception ex) @@ -550,7 +558,7 @@ namespace AssetStudioGUI }); } - public static void ExportObjectsWithAnimationClip(string exportPath, TreeNodeCollection nodes, List animationList = null) + public static void ExportObjectsWithAnimationClip(string exportPath, TreeNodeCollection nodes, bool openAfterExport, List animationList = null) { ThreadPool.QueueUserWorkItem(state => { @@ -577,6 +585,10 @@ namespace AssetStudioGUI Progress.Report(++i, count); } + if (openAfterExport) + { + Process.Start(exportPath); + } } else {