This commit is contained in:
Perfare 2018-11-24 23:30:04 +08:00
parent 0a5b866a03
commit ec9184ba93
2 changed files with 19 additions and 7 deletions

View File

@ -1783,7 +1783,7 @@ namespace AssetStudioGUI
if (saveFolderDialog1.ShowDialog(this) == DialogResult.OK) if (saveFolderDialog1.ShowDialog(this) == DialogResult.OK)
{ {
var exportPath = saveFolderDialog1.Folder + "\\Animator\\"; 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) if (saveFolderDialog1.ShowDialog(this) == DialogResult.OK)
{ {
var exportPath = saveFolderDialog1.Folder + "\\GameObject\\"; var exportPath = saveFolderDialog1.Folder + "\\GameObject\\";
ExportObjectsWithAnimationClip(exportPath, sceneTreeView.Nodes); ExportObjectsWithAnimationClip(exportPath, sceneTreeView.Nodes, openAfterExport.Checked);
} }
} }
else else
@ -1814,7 +1814,7 @@ namespace AssetStudioGUI
{ {
var exportPath = saveFolderDialog1.Folder + "\\GameObject\\"; var exportPath = saveFolderDialog1.Folder + "\\GameObject\\";
var animationList = GetSelectedAssets().Where(x => x.Type == ClassIDType.AnimationClip).ToList(); 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 else
@ -1841,7 +1841,7 @@ namespace AssetStudioGUI
if (saveFolderDialog1.ShowDialog(this) == DialogResult.OK) if (saveFolderDialog1.ShowDialog(this) == DialogResult.OK)
{ {
var savePath = saveFolderDialog1.Folder + "\\"; var savePath = saveFolderDialog1.Folder + "\\";
ExportSplitObjects(savePath, sceneTreeView.Nodes); ExportSplitObjects(savePath, sceneTreeView.Nodes, openAfterExport.Checked);
} }
} }
else else

View File

@ -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 => ThreadPool.QueueUserWorkItem(state =>
{ {
@ -519,6 +519,10 @@ namespace AssetStudioGUI
Logger.Info($"Finished exporting {filename}.fbx"); Logger.Info($"Finished exporting {filename}.fbx");
} }
} }
if (openAfterExport)
{
Process.Start(savePath);
}
Logger.Info("Finished"); Logger.Info("Finished");
}); });
} }
@ -532,7 +536,7 @@ namespace AssetStudioGUI
} }
} }
public static void ExportAnimatorWithAnimationClip(AssetItem animator, List<AssetItem> animationList, string exportPath) public static void ExportAnimatorWithAnimationClip(AssetItem animator, List<AssetItem> animationList, string exportPath, bool openAfterExport)
{ {
ThreadPool.QueueUserWorkItem(state => ThreadPool.QueueUserWorkItem(state =>
{ {
@ -540,6 +544,10 @@ namespace AssetStudioGUI
try try
{ {
ExportAnimator(animator, exportPath, animationList); ExportAnimator(animator, exportPath, animationList);
if (openAfterExport)
{
Process.Start(exportPath);
}
Logger.Info($"Finished exporting {animator.Text}"); Logger.Info($"Finished exporting {animator.Text}");
} }
catch (Exception ex) catch (Exception ex)
@ -550,7 +558,7 @@ namespace AssetStudioGUI
}); });
} }
public static void ExportObjectsWithAnimationClip(string exportPath, TreeNodeCollection nodes, List<AssetItem> animationList = null) public static void ExportObjectsWithAnimationClip(string exportPath, TreeNodeCollection nodes, bool openAfterExport, List<AssetItem> animationList = null)
{ {
ThreadPool.QueueUserWorkItem(state => ThreadPool.QueueUserWorkItem(state =>
{ {
@ -577,6 +585,10 @@ namespace AssetStudioGUI
Progress.Report(++i, count); Progress.Report(++i, count);
} }
if (openAfterExport)
{
Process.Start(exportPath);
}
} }
else else
{ {