При попытке изменить шрифт через стандартную загрузку ресурса ничего не получилось. Обнаружил, что нужно обновиться через SetAllDirty, но безрезультатно. (кириллица)
using HarmonyLib;
using Il2CppTMPro;
using PVZ_Hyper_Fusion.AssetStore;
using UnityEngine;
namespace PVZ_Hyper_Fusion.Patches
{
[HarmonyPatch(typeof(TextMeshPro))]
public static class TextMeshPro_Patch
{
[HarmonyPatch(nameof(TextMeshPro.OnEnable))]
[HarmonyPostfix]
private static void OnEnable(TextMeshPro __instance)
{
TMP_FontAsset customFont = Resources.Load("Handwritten_Institute");
__instance.font = customFont;
if (!string.IsNullOrEmpty(__instance.text))
{
__instance.autoSizeTextContainer = true;
__instance.ForceMeshUpdate();
__instance.SetAllDirty();
__instance.text = StringStore.TranslateText(__instance.text);
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... elonloader
C#: изменение шрифта в TextMeshPro Unity с помощью MelonLoader ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение