PVZFusionTranslation/MelonLoader/Patches/GameObjects/TravelLookBuff_Patch.cs
2025-11-14 16:20:07 -05:00

47 lines
No EOL
2 KiB
C#

using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using PvZ_Fusion_Translator.AssetStore;
using static PvZ_Fusion_Translator.Patches.Managers.TravelMgr_Patch;
using UnityEngine;
namespace PvZ_Fusion_Translator.Patches.GameObjects
{
[HarmonyPatch(typeof(TravelLookBuff))]
public static class TravelLookBuff_Patch
{
private static void TranslateTexts(TravelLookBuff __instance)
{
string buffText = translatedTravelBuffs[buffLinks[__instance.buffType]][__instance.buffIndex];
__instance.introduce.text = buffText;
Transform transform = __instance.rectTransform.transform;
var component1 = transform.GetChild(0).GetComponent<TextMeshProUGUI>();
var component2 = transform.GetChild(1).GetComponent<TextMeshProUGUI>();
if (component1 != null) component1.text = StringStore.TranslateText(component1.text);
if (component2 != null) component2.text = StringStore.TranslateText(component2.text);
}
[HarmonyPatch(nameof(TravelLookBuff.SetBuff))]
[HarmonyPostfix]
private static void SetBuff(TravelLookBuff __instance) => TranslateTexts(__instance);
[HarmonyPatch(nameof(TravelLookBuff.OnMouseUpAsButton))]
[HarmonyPostfix]
private static void OnMouseUpAsButton(TravelLookBuff __instance) => TranslateTexts(__instance);
[HarmonyPatch(nameof(TravelLookBuff.Clear))]
[HarmonyPostfix]
private static void Clear(TravelLookBuff __instance) => TranslateTexts(__instance);
[HarmonyPatch(nameof(TravelLookBuff.SetText), new Type[] { typeof(string) })]
[HarmonyPostfix]
private static void SetText_String(TravelLookBuff __instance) => TranslateTexts(__instance);
[HarmonyPatch(nameof(TravelLookBuff.SetText), new Type[] { typeof(bool), typeof(int) })]
[HarmonyPostfix]
private static void SetText_Bool(TravelLookBuff __instance) => TranslateTexts(__instance);
}
}