diff options
| author | chai <215380520@qq.com> | 2024-05-19 17:03:57 +0800 |
|---|---|---|
| committer | chai <215380520@qq.com> | 2024-05-19 17:03:57 +0800 |
| commit | cf58771365b5953c6eac548b172aae880d1f0acd (patch) | |
| tree | a49757a4b5c447cbf877584d482367a6bfe33b10 /Thronefall_1_57/Decompile/I2.Loc/SpecializationManager.cs | |
| parent | eed315deae356ddfb17f28305e7cde6cdfc43313 (diff) | |
* rename
Diffstat (limited to 'Thronefall_1_57/Decompile/I2.Loc/SpecializationManager.cs')
| -rw-r--r-- | Thronefall_1_57/Decompile/I2.Loc/SpecializationManager.cs | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/Thronefall_1_57/Decompile/I2.Loc/SpecializationManager.cs b/Thronefall_1_57/Decompile/I2.Loc/SpecializationManager.cs deleted file mode 100644 index 93515a5..0000000 --- a/Thronefall_1_57/Decompile/I2.Loc/SpecializationManager.cs +++ /dev/null @@ -1,156 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace I2.Loc; - -public class SpecializationManager : BaseSpecializationManager -{ - public static SpecializationManager Singleton = new SpecializationManager(); - - private SpecializationManager() - { - InitializeSpecializations(); - } - - public static string GetSpecializedText(string text, string specialization = null) - { - int num = text.IndexOf("[i2s_", StringComparison.Ordinal); - if (num < 0) - { - return text; - } - if (string.IsNullOrEmpty(specialization)) - { - specialization = Singleton.GetCurrentSpecialization(); - } - while (!string.IsNullOrEmpty(specialization) && specialization != "Any") - { - string text2 = "[i2s_" + specialization + "]"; - int num2 = text.IndexOf(text2, StringComparison.Ordinal); - if (num2 < 0) - { - specialization = Singleton.GetFallbackSpecialization(specialization); - continue; - } - num2 += text2.Length; - int num3 = text.IndexOf("[i2s_", num2, StringComparison.Ordinal); - if (num3 < 0) - { - num3 = text.Length; - } - return text.Substring(num2, num3 - num2); - } - return text.Substring(0, num); - } - - public static string SetSpecializedText(string text, string newText, string specialization) - { - if (string.IsNullOrEmpty(specialization)) - { - specialization = "Any"; - } - if ((text == null || !text.Contains("[i2s_")) && specialization == "Any") - { - return newText; - } - Dictionary<string, string> specializations = GetSpecializations(text); - specializations[specialization] = newText; - return SetSpecializedText(specializations); - } - - public static string SetSpecializedText(Dictionary<string, string> specializations) - { - if (!specializations.TryGetValue("Any", out var value)) - { - value = string.Empty; - } - foreach (KeyValuePair<string, string> specialization in specializations) - { - if (specialization.Key != "Any" && !string.IsNullOrEmpty(specialization.Value)) - { - value = value + "[i2s_" + specialization.Key + "]" + specialization.Value; - } - } - return value; - } - - public static Dictionary<string, string> GetSpecializations(string text, Dictionary<string, string> buffer = null) - { - if (buffer == null) - { - buffer = new Dictionary<string, string>(StringComparer.Ordinal); - } - else - { - buffer.Clear(); - } - if (text == null) - { - buffer["Any"] = ""; - return buffer; - } - int num = 0; - int num2 = text.IndexOf("[i2s_", StringComparison.Ordinal); - if (num2 < 0) - { - num2 = text.Length; - } - buffer["Any"] = text.Substring(0, num2); - for (num = num2; num < text.Length; num = num2) - { - num += "[i2s_".Length; - int num3 = text.IndexOf(']', num); - if (num3 < 0) - { - break; - } - string key = text.Substring(num, num3 - num); - num = num3 + 1; - num2 = text.IndexOf("[i2s_", num, StringComparison.Ordinal); - if (num2 < 0) - { - num2 = text.Length; - } - string value = text.Substring(num, num2 - num); - buffer[key] = value; - } - return buffer; - } - - public static void AppendSpecializations(string text, List<string> list = null) - { - if (text == null) - { - return; - } - if (list == null) - { - list = new List<string>(); - } - if (!list.Contains("Any")) - { - list.Add("Any"); - } - int num = 0; - while (num < text.Length) - { - num = text.IndexOf("[i2s_", num, StringComparison.Ordinal); - if (num >= 0) - { - num += "[i2s_".Length; - int num2 = text.IndexOf(']', num); - if (num2 >= 0) - { - string item = text.Substring(num, num2 - num); - if (!list.Contains(item)) - { - list.Add(item); - } - continue; - } - break; - } - break; - } - } -} |
