From 0eb636f3763df46ba3133dba885e331cab30aa27 Mon Sep 17 00:00:00 2001 From: SillyStar-Github <90102598+SillyStar-Github@users.noreply.github.com> Date: Sun, 27 Apr 2025 18:39:14 -0400 Subject: [PATCH] izombie button fix --- .../Patches/GameObjects/BaseMenu_Patch.cs | 111 ++++++++++++++++++ .../ButtonObjects/BaseMenu_Patch.cs | 111 ------------------ .../ButtonObjects/CustomLevelEnter_Patch.cs | 26 ++++ ...PvZ Fusion Translator [MelonLoader].csproj | 3 +- 4 files changed, 139 insertions(+), 112 deletions(-) create mode 100644 MelonLoader/Patches/GameObjects/BaseMenu_Patch.cs delete mode 100644 MelonLoader/Patches/GameObjects/ButtonObjects/BaseMenu_Patch.cs create mode 100644 MelonLoader/Patches/GameObjects/ButtonObjects/CustomLevelEnter_Patch.cs diff --git a/MelonLoader/Patches/GameObjects/BaseMenu_Patch.cs b/MelonLoader/Patches/GameObjects/BaseMenu_Patch.cs new file mode 100644 index 0000000..aebc69d --- /dev/null +++ b/MelonLoader/Patches/GameObjects/BaseMenu_Patch.cs @@ -0,0 +1,111 @@ +using HarmonyLib; +using Il2Cpp; +using PvZ_Fusion_Translator.AssetStore; +using UnityEngine; + +namespace PvZ_Fusion_Translator.Patches.GameObjects +{ + [HarmonyPatch(typeof(BaseMenu))] + public static class BaseMenu_Patch + { + [HarmonyPatch(nameof(BaseMenu.Awake))] + [HarmonyPostfix] + private static void Awake(BaseMenu __instance) + { + Transform mainTransform = __instance.transform; + if (mainTransform != null) + { + StringStore.TranslateTextTransform(mainTransform.Find("Goback")); + StringStore.TranslateTextTransform(mainTransform.Find("Switich")); + + Transform levelTransform = mainTransform.Find("Level"); + if (levelTransform != null) + { + StringStore.TranslateTextTransform(levelTransform.Find("Nextpage")); + StringStore.TranslateTextTransform(levelTransform.Find("LastPage")); + } + + Transform customLevelTransform = mainTransform.Find("CustomLevel"); + if (customLevelTransform != null) + { + StringStore.TranslateTextTransform(customLevelTransform.Find("Nextpage")); + StringStore.TranslateTextTransform(customLevelTransform.Find("LastPage")); + } + + Transform levelsTransform = mainTransform.Find("Levels"); + if (levelsTransform != null) + { + + StringStore.TranslateTextTransform(levelsTransform.Find("Nextpage")); + StringStore.TranslateTextTransform(levelsTransform.Find("LastPage")); + + Transform pageMiniGamesTransform = levelsTransform.transform.Find("PageMiniGames"); + if (pageMiniGamesTransform != null) + { + StringStore.TranslateTextTransform(pageMiniGamesTransform.Find("BackToIndex")); + StringStore.TranslateTextTransform(pageMiniGamesTransform.Find("Nextpage")); + StringStore.TranslateTextTransform(pageMiniGamesTransform.Find("LastPage")); + } + + Transform pageUnlockChallengeTransform = levelsTransform.transform.Find("PageUnlockChallenge"); + if (pageUnlockChallengeTransform != null) + { + StringStore.TranslateTextTransform(pageUnlockChallengeTransform.Find("BackToIndex")); + } + + Transform pageFlagChallengeTransform = levelsTransform.transform.Find("PageFlagChallenge"); + if (pageFlagChallengeTransform != null) + { + StringStore.TranslateTextTransform(pageFlagChallengeTransform.Find("BackToIndex")); + } + + Transform pageTravelExperienceTransform = levelsTransform.transform.Find("PageTravelExperience"); + if (pageTravelExperienceTransform != null) + { + StringStore.TranslateTextTransform(pageTravelExperienceTransform.Find("BackToIndex")); + } + + Transform pageGardenProtectionTransform = levelsTransform.transform.Find("PageGardenProtection"); + if (pageGardenProtectionTransform != null) + { + StringStore.TranslateTextTransform(pageGardenProtectionTransform.Find("BackToIndex")); + } + + Transform pageNormalTravelTransform = levelsTransform.transform.Find("PageNormalTravel"); + if (pageNormalTravelTransform != null) + { + StringStore.TranslateTextTransform(pageNormalTravelTransform.Find("BackToIndex")); + } + + Transform pageRandomLevelTransform = levelsTransform.transform.Find("PageRandomLevel"); + if (pageRandomLevelTransform != null) + { + StringStore.TranslateTextTransform(pageRandomLevelTransform.Find("BackToIndex")); + } + + Transform pageUltimateExperienceTransform = levelsTransform.transform.Find("PageUltimateExprience"); + if (pageUltimateExperienceTransform != null) + { + StringStore.TranslateTextTransform(pageUltimateExperienceTransform.Find("BackToIndex")); + } + + Transform pageAdvantureLevelTransform = levelsTransform.transform.Find("PageAdvantureLevel"); + if (pageAdvantureLevelTransform != null) + { + StringStore.TranslateTextTransform(pageAdvantureLevelTransform.Find("BackToIndex")); + StringStore.TranslateTextTransform(pageAdvantureLevelTransform.Find("Nextpage")); + StringStore.TranslateTextTransform(pageAdvantureLevelTransform.Find("LastPage")); + } + + Transform pageScaryPotTransform = levelsTransform.transform.Find("PageScaryPot"); + if (pageScaryPotTransform != null) + { + StringStore.TranslateTextTransform(pageScaryPotTransform.Find("BackToIndex")); + StringStore.TranslateTextTransform(pageScaryPotTransform.Find("Nextpage")); + StringStore.TranslateTextTransform(pageScaryPotTransform.Find("LastPage")); + } + } + } + } + } +} diff --git a/MelonLoader/Patches/GameObjects/ButtonObjects/BaseMenu_Patch.cs b/MelonLoader/Patches/GameObjects/ButtonObjects/BaseMenu_Patch.cs deleted file mode 100644 index 8bf8742..0000000 --- a/MelonLoader/Patches/GameObjects/ButtonObjects/BaseMenu_Patch.cs +++ /dev/null @@ -1,111 +0,0 @@ -using HarmonyLib; -using Il2Cpp; -using PvZ_Fusion_Translator.AssetStore; -using UnityEngine; - -namespace PvZ_Fusion_Translator.Patches.GameObjects.ButtonObjects -{ - [HarmonyPatch(typeof(BaseMenu))] - public static class BaseMenu_Patch - { - [HarmonyPatch(nameof(BaseMenu.Awake))] - [HarmonyPostfix] - private static void Awake(BaseMenu __instance) - { - Transform mainTransform = __instance.transform; - if (mainTransform != null) - { - StringStore.TranslateTextTransform(mainTransform.Find("Goback")); - StringStore.TranslateTextTransform(mainTransform.Find("Switich")); - - Transform levelTransform = mainTransform.Find("Level"); - if (levelTransform != null) - { - StringStore.TranslateTextTransform(levelTransform.Find("Nextpage")); - StringStore.TranslateTextTransform(levelTransform.Find("LastPage")); - } - - Transform customLevelTransform = mainTransform.Find("CustomLevel"); - if (customLevelTransform != null) - { - StringStore.TranslateTextTransform(customLevelTransform.Find("Nextpage")); - StringStore.TranslateTextTransform(customLevelTransform.Find("LastPage")); - } - - Transform levelsTransform = mainTransform.Find("Levels"); - if (levelsTransform != null) - { - - StringStore.TranslateTextTransform(levelsTransform.Find("Nextpage")); - StringStore.TranslateTextTransform(levelsTransform.Find("LastPage")); - - Transform pageMiniGamesTransform = levelsTransform.transform.Find("PageMiniGames"); - if (pageMiniGamesTransform != null) - { - StringStore.TranslateTextTransform(pageMiniGamesTransform.Find("BackToIndex")); - StringStore.TranslateTextTransform(pageMiniGamesTransform.Find("Nextpage")); - StringStore.TranslateTextTransform(pageMiniGamesTransform.Find("LastPage")); - } - - Transform pageUnlockChallengeTransform = levelsTransform.transform.Find("PageUnlockChallenge"); - if (pageUnlockChallengeTransform != null) - { - StringStore.TranslateTextTransform(pageUnlockChallengeTransform.Find("BackToIndex")); - } - - Transform pageFlagChallengeTransform = levelsTransform.transform.Find("PageFlagChallenge"); - if (pageFlagChallengeTransform != null) - { - StringStore.TranslateTextTransform(pageFlagChallengeTransform.Find("BackToIndex")); - } - - Transform pageTravelExperienceTransform = levelsTransform.transform.Find("PageTravelExperience"); - if (pageTravelExperienceTransform != null) - { - StringStore.TranslateTextTransform(pageTravelExperienceTransform.Find("BackToIndex")); - } - - Transform pageGardenProtectionTransform = levelsTransform.transform.Find("PageGardenProtection"); - if (pageGardenProtectionTransform != null) - { - StringStore.TranslateTextTransform(pageGardenProtectionTransform.Find("BackToIndex")); - } - - Transform pageNormalTravelTransform = levelsTransform.transform.Find("PageNormalTravel"); - if (pageNormalTravelTransform != null) - { - StringStore.TranslateTextTransform(pageNormalTravelTransform.Find("BackToIndex")); - } - - Transform pageRandomLevelTransform = levelsTransform.transform.Find("PageRandomLevel"); - if (pageRandomLevelTransform != null) - { - StringStore.TranslateTextTransform(pageRandomLevelTransform.Find("BackToIndex")); - } - - Transform pageUltimateExperienceTransform = levelsTransform.transform.Find("PageUltimateExprience"); - if (pageUltimateExperienceTransform != null) - { - StringStore.TranslateTextTransform(pageUltimateExperienceTransform.Find("BackToIndex")); - } - - Transform pageAdvantureLevelTransform = levelsTransform.transform.Find("PageAdvantureLevel"); - if (pageAdvantureLevelTransform != null) - { - StringStore.TranslateTextTransform(pageAdvantureLevelTransform.Find("BackToIndex")); - StringStore.TranslateTextTransform(pageAdvantureLevelTransform.Find("Nextpage")); - StringStore.TranslateTextTransform(pageAdvantureLevelTransform.Find("LastPage")); - } - - Transform pageScaryPotTransform = levelsTransform.transform.Find("PageScaryPot"); - if (pageScaryPotTransform != null) - { - StringStore.TranslateTextTransform(pageScaryPotTransform.Find("BackToIndex")); - StringStore.TranslateTextTransform(pageScaryPotTransform.Find("Nextpage")); - StringStore.TranslateTextTransform(pageScaryPotTransform.Find("LastPage")); - } - } - } - } - } -} diff --git a/MelonLoader/Patches/GameObjects/ButtonObjects/CustomLevelEnter_Patch.cs b/MelonLoader/Patches/GameObjects/ButtonObjects/CustomLevelEnter_Patch.cs new file mode 100644 index 0000000..0b32476 --- /dev/null +++ b/MelonLoader/Patches/GameObjects/ButtonObjects/CustomLevelEnter_Patch.cs @@ -0,0 +1,26 @@ +using HarmonyLib; +using Il2Cpp; +using Il2CppTMPro; +using MelonLoader; +using PvZ_Fusion_Translator.AssetStore; +using UnityEngine; + +namespace PvZ_Fusion_Translator.Patches.GameObjects.ButtonObjects +{ + [HarmonyPatch(typeof(CustomLevelEnter))] + public static class CustomLevelEnter_Patch + { + [HarmonyPatch(nameof(CustomLevelEnter.Start))] + [HarmonyPostfix] + private static void Show(CustomLevelEnter __instance) + { + TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString()); + + foreach(TextMeshProUGUI txt in __instance.GetComponentsInChildren()) + { + txt.text = StringStore.TranslateText(txt.text); + txt.font = fontAsset; + } + } + } +} diff --git a/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj b/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj index b3f4153..618c8c5 100644 --- a/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj +++ b/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj @@ -453,7 +453,8 @@ - + +