コード例 #1
0
            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);
            }
コード例 #2
0
ファイル: StarmapMod.cs プロジェクト: daheise/Galaxy-at-War
        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);
                }
            }
        }