public static void Prefix(SGNavStarSystemCallout __instance, TextMeshProUGUI ___LabelField, TextMeshProUGUI ___NameField) { if (Globals.Sim.IsCampaign && !Globals.Sim.CompanyTags.Contains("story_complete")) { return; } void SetFont(TextMeshProUGUI mesh, TMP_FontAsset font) { mesh.m_fontAsset = font; mesh.LoadFontAsset(); mesh.m_havePropertiesChanged = true; mesh.m_isCalculateSizeRequired = true; mesh.m_isInputParsingRequired = true; mesh.SetVerticesDirty(); mesh.SetLayoutDirty(); } if (Globals.WarStatusTracker == null || Globals.Sim.IsCampaign && !Globals.Sim.CompanyTags.Contains("story_complete")) { return; } SetFont(___LabelField, Globals.Font); SetFont(___NameField, Globals.Font); }
public static void Prefix(SGNavStarSystemCallout __instance, TextMeshProUGUI ___LabelField, TextMeshProUGUI ___NameField) { if (sim.IsCampaign && !sim.CompanyTags.Contains("story_complete")) { return; } void SetFont(TextMeshProUGUI mesh, TMP_FontAsset font) { Core.timer.Restart(); Traverse.Create(mesh).Field("m_fontAsset").SetValue(font); Traverse.Create(mesh).Field("m_baseFont").SetValue(font); Traverse.Create(mesh).Method("LoadFontAsset").GetValue(); Traverse.Create(mesh).Field("m_havePropertiesChanged").SetValue(true); Traverse.Create(mesh).Field("m_isCalculateSizeRequired").SetValue(true); Traverse.Create(mesh).Field("m_isInputParsingRequired").SetValue(true); Traverse.Create(mesh).Method("SetVerticesDirty").GetValue(); Traverse.Create(mesh).Method("SetLayoutDirty").GetValue(); LogDebug("SetFont " + Core.timer.Elapsed); } if (Core.WarStatus == null || (sim.IsCampaign && !sim.CompanyTags.Contains("story_complete"))) { return; } // set font in the most roundabout way ever var fonts = Resources.FindObjectsOfTypeAll(typeof(TMP_FontAsset)); foreach (var o in fonts) { var font = (TMP_FontAsset)o; if (font.name == "UnitedSansSemiExt-Light") { SetFont(___LabelField, font); SetFont(___NameField, font); } } }