From 90e9f3c35a99bf36b9f5f602cc4908140c7f286f Mon Sep 17 00:00:00 2001 From: SillyStar-Github <90102598+SillyStar-Github@users.noreply.github.com> Date: Mon, 28 Apr 2025 17:33:11 -0400 Subject: [PATCH] nvm i had one more thing in me --- .../Patches/GameObjects/AbyssBagMenu_Patch.cs | 44 ++++++++++++++----- .../GameObjects/AbyssCheckInBag_Patch.cs | 31 +++++++++++++ ...PvZ Fusion Translator [MelonLoader].csproj | 1 + 3 files changed, 66 insertions(+), 10 deletions(-) create mode 100644 MelonLoader/Patches/GameObjects/AbyssCheckInBag_Patch.cs diff --git a/MelonLoader/Patches/GameObjects/AbyssBagMenu_Patch.cs b/MelonLoader/Patches/GameObjects/AbyssBagMenu_Patch.cs index 58c6166..2065fa9 100644 --- a/MelonLoader/Patches/GameObjects/AbyssBagMenu_Patch.cs +++ b/MelonLoader/Patches/GameObjects/AbyssBagMenu_Patch.cs @@ -11,21 +11,45 @@ using static MelonLoader.MelonLogger; namespace PvZ_Fusion_Translator.Patches.GameObjects { - [HarmonyPatch(typeof(AbyssCheckInBag))] - public static class AbyssCheckInBag_Patch + [HarmonyPatch(typeof(AbyssBagMenu))] + public static class AbyssBagMenu_Patch { - [HarmonyPatch(nameof(AbyssCheckInBag.MoveFromBag))] + public static GameObject ConvertToTextMeshProUGUI(GameObject originalText, Transform parent, string name) + { + GameObject newObj = new GameObject(name); + newObj.transform.position = originalText.transform.position; + newObj.AddComponent(); + newObj.AddComponent(); + newObj.AddComponent(); + newObj.transform.SetParent(parent); + newObj.transform.localScale = Vector3.one; + + UnityEngine.Object.Destroy(originalText); + return newObj; + } + + private static void ConvertButtonText(Transform original, string name) + { + TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString()); + + Transform transform = original.FindChild(name); + Transform textTransform = transform.FindChild("text"); + string text = textTransform.GetComponent().text; + Color color = textTransform.GetComponent().color; + + TextMeshProUGUI newGoBackText = ConvertToTextMeshProUGUI(textTransform.gameObject, transform, "text2").GetComponent(); + newGoBackText.autoSizeTextContainer = true; + newGoBackText.text = StringStore.TranslateText(text, false); + newGoBackText.font = fontAsset; + newGoBackText.color = color; + } + + [HarmonyPatch(nameof(AbyssBagMenu.Awake))] [HarmonyPostfix] private static void MoveFromBag(AbyssCheckInBag __instance) { AbyssMenu2.Instance.UpdateIcons(); - } - - [HarmonyPatch(nameof(AbyssCheckInBag.SellIcon))] - [HarmonyPostfix] - private static void SellIcon(AbyssCheckInBag __instance) - { - AbyssMenu2.Instance.UpdateIcons(); + ConvertButtonText(__instance.transform, "Goback"); } } } diff --git a/MelonLoader/Patches/GameObjects/AbyssCheckInBag_Patch.cs b/MelonLoader/Patches/GameObjects/AbyssCheckInBag_Patch.cs new file mode 100644 index 0000000..58c6166 --- /dev/null +++ b/MelonLoader/Patches/GameObjects/AbyssCheckInBag_Patch.cs @@ -0,0 +1,31 @@ +using HarmonyLib; +using Il2Cpp; +using Il2CppTMPro; +using MelonLoader; +using PvZ_Fusion_Translator.AssetStore; +using UnityEngine; +using UnityEngine.TextCore.Text; +using UnityEngine.UI; +using static MelonLoader.MelonLogger; + +namespace PvZ_Fusion_Translator.Patches.GameObjects +{ + + [HarmonyPatch(typeof(AbyssCheckInBag))] + public static class AbyssCheckInBag_Patch + { + [HarmonyPatch(nameof(AbyssCheckInBag.MoveFromBag))] + [HarmonyPostfix] + private static void MoveFromBag(AbyssCheckInBag __instance) + { + AbyssMenu2.Instance.UpdateIcons(); + } + + [HarmonyPatch(nameof(AbyssCheckInBag.SellIcon))] + [HarmonyPostfix] + private static void SellIcon(AbyssCheckInBag __instance) + { + AbyssMenu2.Instance.UpdateIcons(); + } + } +} diff --git a/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj b/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj index 218e184..404554f 100644 --- a/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj +++ b/MelonLoader/PvZ Fusion Translator [MelonLoader].csproj @@ -449,6 +449,7 @@ +