From 4e41caf203ad3cca0fd02b184a423369db0d19c3 Mon Sep 17 00:00:00 2001 From: VaDiM Date: Sun, 13 Aug 2023 20:58:26 +0300 Subject: [PATCH] [CLI] Refactor --- AssetStudioCLI/Options/CLIOptions.cs | 13 +++---------- AssetStudioCLI/Options/OptionExtensions.cs | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 10 deletions(-) create mode 100644 AssetStudioCLI/Options/OptionExtensions.cs diff --git a/AssetStudioCLI/Options/CLIOptions.cs b/AssetStudioCLI/Options/CLIOptions.cs index 8b61294..b1d87a6 100644 --- a/AssetStudioCLI/Options/CLIOptions.cs +++ b/AssetStudioCLI/Options/CLIOptions.cs @@ -55,14 +55,6 @@ namespace AssetStudioCLI.Options NameAndContainer, } - internal class GroupedOption : Option - { - internal GroupedOption(T optionDefaultValue, string optionName, string optionDescription, HelpGroups optionHelpGroup, bool isFlag = false) : base(optionDefaultValue, optionName, optionDescription, optionHelpGroup, isFlag) - { - CLIOptions._OptionGrouping(optionName, optionDescription, optionHelpGroup, isFlag); - } - } - internal static class CLIOptions { public static bool isParsed; @@ -99,10 +91,11 @@ namespace AssetStudioCLI.Options static CLIOptions() { + OptionExtensions.OptionGrouping = OptionGrouping; InitOptions(); } - internal static void _OptionGrouping(string name, string desc, HelpGroups group, bool isFlag) //TODO + private static void OptionGrouping(string name, string desc, HelpGroups group, bool isFlag) { if (string.IsNullOrEmpty(name)) { @@ -828,7 +821,7 @@ namespace AssetStudioCLI.Options sb.AppendLine(ShowCurrentFilter()); sb.AppendLine($"# Assebmly Path: \"{o_assemblyPath}\""); sb.AppendLine($"# Unity Version: \"{o_unityVersion}\""); - sb.AppendLine($"# Restore TextAsset extension: {!f_notRestoreExtensionName.Value}"); + sb.AppendLine($"# Restore TextAsset Extension: {!f_notRestoreExtensionName.Value}"); break; } sb.AppendLine("======"); diff --git a/AssetStudioCLI/Options/OptionExtensions.cs b/AssetStudioCLI/Options/OptionExtensions.cs new file mode 100644 index 0000000..1101e2e --- /dev/null +++ b/AssetStudioCLI/Options/OptionExtensions.cs @@ -0,0 +1,17 @@ +using System; + +namespace AssetStudioCLI.Options +{ + internal static class OptionExtensions + { + public static Action OptionGrouping = (name, desc, group, isFlag) => { }; + } + + internal class GroupedOption : Option + { + public GroupedOption(T optionDefaultValue, string optionName, string optionDescription, HelpGroups optionHelpGroup, bool isFlag = false) : base(optionDefaultValue, optionName, optionDescription, optionHelpGroup, isFlag) + { + OptionExtensions.OptionGrouping(optionName, optionDescription, optionHelpGroup, isFlag); + } + } +}