Finalize Mod #8
@@ -1,5 +1,6 @@
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.SceneManagement;
|
using UnityEngine.SceneManagement;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
@@ -19,7 +20,7 @@ namespace IngameReveries
|
|||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
// Metadata of your mod is stored in this.about
|
// 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.
|
// 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.
|
// 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 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
|
// Show reveries window
|
||||||
var canvasGroup = _ingameReveriesUI.GetComponent<CanvasGroup>();
|
var canvasGroup = _ingameReveriesUI.GetComponent<CanvasGroup>();
|
||||||
canvasGroup.alpha = 1f;
|
canvasGroup.alpha = 1f;
|
||||||
@@ -97,6 +84,8 @@ namespace IngameReveries
|
|||||||
rect.anchorMax = new Vector2(0f, 1f);
|
rect.anchorMax = new Vector2(0f, 1f);
|
||||||
rect.pivot = new Vector2(0f, 1f);
|
rect.pivot = new Vector2(0f, 1f);
|
||||||
rect.anchoredPosition = new Vector2(+70f, -70f);
|
rect.anchoredPosition = new Vector2(+70f, -70f);
|
||||||
|
|
||||||
|
FixFonts();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,5 +140,35 @@ namespace IngameReveries
|
|||||||
|
|
||||||
Debug.Log("[IngameReveries] Successfully loaded prefab!");
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -235,6 +235,10 @@
|
|||||||
<HintPath>$(GameManagedDir)\UnityEngine.UI.dll</HintPath>
|
<HintPath>$(GameManagedDir)\UnityEngine.UI.dll</HintPath>
|
||||||
<Private>False</Private>
|
<Private>False</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="UnityEngine.UIModule">
|
||||||
|
<HintPath>$(GameManagedDir)\UnityEngine.UIModule.dll</HintPath>
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
<Reference Include="UnityEngine.XR.LegacyInputHelpers">
|
<Reference Include="UnityEngine.XR.LegacyInputHelpers">
|
||||||
<HintPath>$(GameManagedDir)\UnityEngine.XR.LegacyInputHelpers.dll</HintPath>
|
<HintPath>$(GameManagedDir)\UnityEngine.XR.LegacyInputHelpers.dll</HintPath>
|
||||||
<Private>False</Private>
|
<Private>False</Private>
|
||||||
|
|||||||
Reference in New Issue
Block a user