diff --git a/MelonLoader/Patches/BaseTextObjects/InGameText_Patch.cs b/MelonLoader/Patches/BaseTextObjects/InGameText_Patch.cs index d45e8ee..e89d4ad 100644 --- a/MelonLoader/Patches/BaseTextObjects/InGameText_Patch.cs +++ b/MelonLoader/Patches/BaseTextObjects/InGameText_Patch.cs @@ -11,6 +11,7 @@ namespace PvZ_Fusion_Translator.Patches.BaseTextObjects public static class InGameText_Patch { [HarmonyPatch(nameof(InGameText.ShowText))] + [HarmonyPostfix] public static void ShowText(InGameText __instance) { TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString()); diff --git a/MelonLoader/Patches/GameObjects/AdvantureEvolutionMenu_Patch.cs b/MelonLoader/Patches/GameObjects/AdvantureEvolutionMenu_Patch.cs new file mode 100644 index 0000000..e07e77c --- /dev/null +++ b/MelonLoader/Patches/GameObjects/AdvantureEvolutionMenu_Patch.cs @@ -0,0 +1,13 @@ +using HarmonyLib; +using Il2Cpp; +using Il2CppTMPro; +using PvZ_Fusion_Translator.AssetStore; + +namespace PvZ_Fusion_Translator.Patches.GameObjects +{ + [HarmonyPatch(typeof(AdvantureEvolutionMenu))] + public static class AdvantureEvolutionMenu_Patch + { + + } +} diff --git a/MelonLoader/Patches/GameObjects/AdvantureHelpMenu_Patch.cs b/MelonLoader/Patches/GameObjects/AdvantureHelpMenu_Patch.cs new file mode 100644 index 0000000..80a540d --- /dev/null +++ b/MelonLoader/Patches/GameObjects/AdvantureHelpMenu_Patch.cs @@ -0,0 +1,21 @@ +using HarmonyLib; +using Il2Cpp; +using Il2CppTMPro; +using PvZ_Fusion_Translator.AssetStore; + +namespace PvZ_Fusion_Translator.Patches.GameObjects +{ + [HarmonyPatch(typeof(AdvantureHelpMenu))] + public static class AdvantureHelpMenu_Patch + { + [HarmonyPatch(nameof(AdvantureHelpMenu.InitText))] + [HarmonyPostfix] + private static void InitText(AdvantureHelpMenu __instance) + { + foreach(TextMeshProUGUI text in __instance.GetComponentsInChildren()) + { + text.text = StringStore.TranslateText(text.text); + } + } + } +} diff --git a/MelonLoader/Patches/GameObjects/AdvantureMenu2_Patch.cs b/MelonLoader/Patches/GameObjects/AdvantureMenu2_Patch.cs new file mode 100644 index 0000000..2c46df7 --- /dev/null +++ b/MelonLoader/Patches/GameObjects/AdvantureMenu2_Patch.cs @@ -0,0 +1,28 @@ +using HarmonyLib; +using Il2Cpp; +using Il2CppTMPro; +using PvZ_Fusion_Translator.AssetStore; + +namespace PvZ_Fusion_Translator.Patches.GameObjects +{ + [HarmonyPatch(typeof(AdvantureMenu2))] + public static class AdvantureMenu2_Patch + { + [HarmonyPatch(nameof(AdvantureMenu2.Awake))] + [HarmonyPostfix] + private static void Awake(AdvantureMenu2 __instance) + { + foreach(TextMeshProUGUI text in __instance.GetComponentsInChildren()) + { + text.text = StringStore.TranslateText(text.text); + } + } + + [HarmonyPatch(nameof(AdvantureMenu2.AdjustDifficulty))] + [HarmonyPostfix] + private static void AdjustDifficulty(AdvantureMenu2 __instance) + { + __instance.difficulty.text = StringStore.TranslateText(__instance.difficulty.text); + } + } +} diff --git a/MelonLoader/Patches/GameObjects/AdvantureMenu_Patch.cs b/MelonLoader/Patches/GameObjects/AdvantureMenu_Patch.cs new file mode 100644 index 0000000..62ff70e --- /dev/null +++ b/MelonLoader/Patches/GameObjects/AdvantureMenu_Patch.cs @@ -0,0 +1,52 @@ +using HarmonyLib; +using Il2Cpp; +using Il2CppTMPro; +using PvZ_Fusion_Translator.AssetStore; + +namespace PvZ_Fusion_Translator.Patches.GameObjects +{ + [HarmonyPatch(typeof(AdvantureMenu))] + public static class AdvantureMenu_Patch + { + [HarmonyPatch(nameof(AdvantureMenu.Start))] + [HarmonyPostfix] + private static void Start(AdvantureMenu __instance) + { + foreach (TextMeshProUGUI titleText in __instance.GetComponentsInChildren()) + { + titleText.text = StringStore.TranslateText(titleText.text); + } + __instance.difficulty.text = StringStore.TranslateText(__instance.difficulty.text); + __instance.chapterDifficulty.text = StringStore.TranslateText(__instance.chapterDifficulty.text, pattern: "章节难度:([^\\s]+)"); + __instance.starCount.text = StringStore.TranslateText(__instance.starCount.text); + } + + [HarmonyPatch(nameof(AdvantureMenu.ChangeDifficulty))] + [HarmonyPostfix] + private static void ChangeDifficulty(AdvantureMenu __instance) + { + __instance.difficulty.text = StringStore.TranslateText(__instance.difficulty.text); + } + + [HarmonyPatch(nameof(AdvantureMenu.GetChapterDifficulty))] + [HarmonyPostfix] + private static void GetChapterDifficulty(AdvantureMenu __instance) + { + __instance.chapterDifficulty.text = StringStore.TranslateText(__instance.chapterDifficulty.text, pattern: "章节难度:([^\\s]+)"); + } + + [HarmonyPatch(nameof(AdvantureMenu.UpdateChapterDifficulty))] + [HarmonyPostfix] + private static void UpdateChapterDifficulty(AdvantureMenu __instance) + { + __instance.chapterDifficulty.text = StringStore.TranslateText(__instance.chapterDifficulty.text, pattern: "章节难度:([^\\s]+)"); + } + + [HarmonyPatch(nameof(AdvantureMenu.UpdateStarCount))] + [HarmonyPostfix] + private static void UpdateStarCount(AdvantureMenu __instance) + { + __instance.starCount.text = StringStore.TranslateText(__instance.starCount.text); + } + } +} diff --git a/MelonLoader/Patches/GameObjects/AdvantureMissionMenu_Patch.cs b/MelonLoader/Patches/GameObjects/AdvantureMissionMenu_Patch.cs new file mode 100644 index 0000000..1f5268e --- /dev/null +++ b/MelonLoader/Patches/GameObjects/AdvantureMissionMenu_Patch.cs @@ -0,0 +1,31 @@ +using HarmonyLib; +using Il2Cpp; +using Il2CppTMPro; +using PvZ_Fusion_Translator.AssetStore; + +namespace PvZ_Fusion_Translator.Patches.GameObjects +{ + [HarmonyPatch(typeof(AdvantureMissionMenu))] + public static class AdvantureMissionMenu_Patch + { + [HarmonyPatch(nameof(AdvantureMissionMenu.InitText))] + [HarmonyPostfix] + private static void InitText(AdvantureMissionMenu __instance) + { + foreach(TextMeshProUGUI text in __instance.GetComponentsInChildren()) + { + text.text = StringStore.TranslateText(text.text); + } + } + + [HarmonyPatch(nameof(AdvantureMissionMenu.SwitchAward))] + [HarmonyPostfix] + private static void SwitchAward(AdvantureMissionMenu __instance) + { + foreach (TextMeshProUGUI text in __instance.GetComponentsInChildren()) + { + text.text = StringStore.TranslateText(text.text); + } + } + } +} diff --git a/MelonLoader/Patches/GameObjects/AdvantureStarMenu_Patch.cs b/MelonLoader/Patches/GameObjects/AdvantureStarMenu_Patch.cs new file mode 100644 index 0000000..9af61ce --- /dev/null +++ b/MelonLoader/Patches/GameObjects/AdvantureStarMenu_Patch.cs @@ -0,0 +1,61 @@ +using HarmonyLib; +using Il2Cpp; +using Il2CppTMPro; +using PvZ_Fusion_Translator.AssetStore; + +namespace PvZ_Fusion_Translator.Patches.GameObjects +{ + [HarmonyPatch(typeof(AdvantureStarMenu))] + public static class AdvantureStarMenu_Patch + { + [HarmonyPatch(nameof(AdvantureStarMenu.Awake))] + [HarmonyPostfix] + private static void Awake(AdvantureStarMenu __instance) + { + foreach(TextMeshProUGUI text in __instance.GetComponentsInChildren()) + { + text.text = StringStore.TranslateText(text.text); + } + } + + [HarmonyPatch(nameof(AdvantureStarMenu.GetNodes))] + [HarmonyPostfix] + private static void GetNodes(AdvantureStarMenu __instance) + { + foreach (TextMeshProUGUI text in __instance.GetComponentsInChildren()) + { + text.text = StringStore.TranslateText(text.text); + } + } + + [HarmonyPatch(nameof(AdvantureStarMenu.UpdateStarText))] + [HarmonyPostfix] + private static void UpdateStarText(AdvantureStarMenu __instance) + { + foreach (TextMeshProUGUI text in __instance.GetComponentsInChildren()) + { + text.text = StringStore.TranslateText(text.text); + } + } + + [HarmonyPatch(nameof(AdvantureStarMenu.InitTalents))] + [HarmonyPostfix] + private static void InitTalents(AdvantureStarMenu __instance) + { + foreach (TextMeshProUGUI text in __instance.GetComponentsInChildren()) + { + text.text = StringStore.TranslateText(text.text); + } + } + + [HarmonyPatch(nameof(AdvantureStarMenu.ResetAward))] + [HarmonyPostfix] + private static void ResetAward(AdvantureStarMenu __instance) + { + foreach (TextMeshProUGUI text in __instance.GetComponentsInChildren()) + { + text.text = StringStore.TranslateText(text.text); + } + } + } +} diff --git a/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj b/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj index 0526c80..e2eb414 100644 --- a/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj +++ b/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj @@ -401,6 +401,12 @@ + + + + + +