47 lines
1.7 KiB
C#
47 lines
1.7 KiB
C#
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", " ");
|
|
}
|
|
}
|
|
}
|