PVZFusionTranslation/Source/Patches/Modes/Starbound/AdvantureMenu_Patch.cs

43 lines
2 KiB
C#

using HarmonyLib;
using PvZ_Fusion_Translator.AssetStore;
namespace PvZ_Fusion_Translator.Patches.Modes.Starbound;
[HarmonyPatch(typeof(AdvantureMenu))]
public static class AdvantureMenu_Patch
{
[HarmonyPatch(nameof(AdvantureMenu.Start)), HarmonyPostfix]
private static void Start(AdvantureMenu __instance) => TranslateAdvantureMenu(__instance);
[HarmonyPatch(nameof(AdvantureMenu.ChangeDifficulty)), HarmonyPostfix]
private static void ChangeDifficulty(AdvantureMenu __instance) => TranslateAdvantureMenu(__instance);
[HarmonyPatch(nameof(AdvantureMenu.GetChapterDifficulty)), HarmonyPostfix]
private static void GetChapterDifficulty(AdvantureMenu __instance) => TranslateAdvantureMenu(__instance);
[HarmonyPatch(nameof(AdvantureMenu.UpdateChapterDifficulty)), HarmonyPostfix]
private static void UpdateChapterDifficulty(AdvantureMenu __instance) => TranslateAdvantureMenu(__instance);
[HarmonyPatch(nameof(AdvantureMenu.UpdateStarCount)), HarmonyPostfix]
private static void UpdateStarCount(AdvantureMenu __instance) => TranslateAdvantureMenu(__instance);
public static void TranslateAdvantureMenu(AdvantureMenu __instance)
{
var hasSbString = StringStore.TranslationString.ContainsKey(__instance.difficulty.text + "_SB");
__instance.difficulty.text = Utils.RemoveSizeTags(
hasSbString
? StringStore.TranslateText(__instance.difficulty.text + "_SB")
: StringStore.TranslateText(__instance.difficulty.text)
);
__instance.chapterDifficulty.text = StringStore.TranslateText(__instance.chapterDifficulty.text);
__instance.starCount.text = StringStore.TranslateText(__instance.starCount.text);
foreach (var text in __instance.title)
text.text = StringStore.TranslateText(text.text);
foreach (var text in __instance.GetComponentsInChildren<TextMeshProUGUI>())
text.text = StringStore.TranslateText(text.text);
}
}