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()) text.text = StringStore.TranslateText(text.text); } }