Finalize Mod #8

Merged
david merged 17 commits from dev into main 2026-08-24 17:20:17 +02:00
2 changed files with 38 additions and 15 deletions
Showing only changes of commit d95935d140 - Show all commits
+34 -15
View File
@@ -1,5 +1,6 @@
using System.IO;
using System.Linq;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
@@ -19,7 +20,7 @@ namespace IngameReveries
private void Awake()
{
// Metadata of your mod is stored in this.about
Debug.Log("Xin Chao! I'm loaded! " + mod.metadata.id);
Debug.Log("Hallo! I'm loaded! " + mod.metadata.id);
// If you need to patch with Harmony, you can use this.harmony to access the Harmony instance for your mod.
// It will be created with your mod's id automatically, the first time you access the property.
@@ -71,20 +72,6 @@ namespace IngameReveries
var reveries = _ingameReveriesUI.GetComponent<UI_Reveries>();
var rect = _ingameReveriesUI.GetComponent<RectTransform>();
rect.anchorMin = new Vector2(0f, 1f);
rect.anchorMax = new Vector2(0f, 1f);
rect.pivot = new Vector2(0f, 1f);
rect.anchoredPosition = new Vector2(+70f, -70f);
}
};
}
private void OnDestroy()
{
// Make sure you clean up properly to support Live Reload.
Debug.Log("Good bye! " + mod.metadata.id);
harmony.UnpatchAll();
// Show reveries window
var canvasGroup = _ingameReveriesUI.GetComponent<CanvasGroup>();
canvasGroup.alpha = 1f;
@@ -97,6 +84,8 @@ namespace IngameReveries
rect.anchorMax = new Vector2(0f, 1f);
rect.pivot = new Vector2(0f, 1f);
rect.anchoredPosition = new Vector2(+70f, -70f);
FixFonts();
}
}
@@ -151,5 +140,35 @@ namespace IngameReveries
Debug.Log("[IngameReveries] Successfully loaded prefab!");
}
private void FixFonts()
{
// Get all fonts
TMP_FontAsset[] loadedFonts = Resources.FindObjectsOfTypeAll<TMP_FontAsset>();
// Get all text from the reveries window
TMP_Text[] textComponents = _ingameReveriesUI.GetComponentsInChildren<TMP_Text>(true);
foreach (TMP_Text textComp in textComponents)
{
if (textComp.font == null) continue;
string originalFontName = textComp.font.name;
// Match the font by name, ensuring we don't pick the dead assetbundle version
foreach (TMP_FontAsset loadedFont in loadedFonts)
{
// Pick a matching font that has an active atlas/material
if (loadedFont.name == originalFontName && loadedFont.atlasTexture != null)
{
textComp.font = loadedFont;
// Force TMP to update its internal mesh and material reference
textComp.ForceMeshUpdate();
textComp.SetAllDirty();
break;
}
}
}
}
}
}
+4
View File
@@ -235,6 +235,10 @@
<HintPath>$(GameManagedDir)\UnityEngine.UI.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.UIModule">
<HintPath>$(GameManagedDir)\UnityEngine.UIModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.XR.LegacyInputHelpers">
<HintPath>$(GameManagedDir)\UnityEngine.XR.LegacyInputHelpers.dll</HintPath>
<Private>False</Private>