using HarmonyLib; using PvZ_Fusion_Translator.AssetStore; using System.Text.RegularExpressions; namespace PvZ_Fusion_Translator.Patches.Managers; [HarmonyPatch(typeof(IZBottomMenu))] public static class IZBottomMenu_Patch { [HarmonyPatch(nameof(IZBottomMenu.ChangeString)), HarmonyPostfix] public static void ChangeStringz(IZBottomMenu __instance) { foreach (var text in __instance.levelName) { var fStr = StringStore.TranslationStringRegex[@"([^\s]+),推荐难度:(\d+)"]; var parts = text.text.Split(",推荐难度:"); if (new Regex(@"([^\s]+),推荐难度:(\d+)").IsMatch(text.text)) { var customName = StringStore.TranslationString.ContainsKey(parts[0] + "_IZ") ? parts[0] + "_IZ" : parts[0]; text.text = string.Format(fStr, StringStore.TranslateText(customName), parts[1]); } text.text = StringStore.TranslateText(text.text); text.text = text.text.Replace("\n", " "); } } [HarmonyPatch(nameof(IZBottomMenu.SetLevelName)), HarmonyPostfix] public static void SetLevelName(IZBottomMenu __instance) { foreach (var text in __instance.levelName) { var fStr = StringStore.TranslationStringRegex[@"([^\s]+),推荐难度:(\d+)"]; var parts = text.text.Split(",推荐难度:"); if (new Regex(@"([^\s]+),推荐难度:(\d+)").IsMatch(text.text)) text.text = string.Format(fStr, StringStore.TranslateText(parts[0]), parts[1]); text.text = StringStore.TranslateText(text.text); text.text = text.text.Replace("\n", " "); } } }