You've already forked rimworld-font-replacer
Initial commit
This commit is contained in:
121
Source/CustomGUIStyles.cs
Normal file
121
Source/CustomGUIStyles.cs
Normal file
@@ -0,0 +1,121 @@
|
||||
using HarmonyLib;
|
||||
using System.Reflection;
|
||||
using Verse;
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace raptureparty.RimWorldFontReplacer
|
||||
{
|
||||
[StaticConstructorOnStartup]
|
||||
static class CustomGUIStyles
|
||||
{
|
||||
public static GUIStyle[] fontStyles;
|
||||
|
||||
public static GUIStyle[] textFieldStyles;
|
||||
|
||||
public static GUIStyle[] textAreaStyles;
|
||||
|
||||
public static GUIStyle[] textAreaReadOnlyStyles;
|
||||
|
||||
public static void UpdateFonts()
|
||||
{
|
||||
if (fontStyles != null)
|
||||
{
|
||||
fontStyles[0].font = FontLoader.FontTiny;
|
||||
fontStyles[0].fontSize = FontLoader.FontTinySize;
|
||||
fontStyles[1].font = FontLoader.FontSmall;
|
||||
fontStyles[1].fontSize = FontLoader.FontSmallSize;
|
||||
fontStyles[2].font = FontLoader.FontMedium;
|
||||
fontStyles[2].fontSize = FontLoader.FontMediumSize;
|
||||
}
|
||||
if (textFieldStyles != null)
|
||||
{
|
||||
textFieldStyles[0].font = FontLoader.FontTiny;
|
||||
textFieldStyles[0].fontSize = FontLoader.FontTinySize;
|
||||
textFieldStyles[1].font = FontLoader.FontSmall;
|
||||
textFieldStyles[1].fontSize = FontLoader.FontSmallSize;
|
||||
textFieldStyles[2].font = FontLoader.FontMedium;
|
||||
textFieldStyles[2].fontSize = FontLoader.FontMediumSize;
|
||||
}
|
||||
if (textAreaStyles != null)
|
||||
{
|
||||
textAreaStyles[0].font = FontLoader.FontTiny;
|
||||
textAreaStyles[0].fontSize = FontLoader.FontTinySize;
|
||||
textAreaStyles[1].font = FontLoader.FontSmall;
|
||||
textAreaStyles[1].fontSize = FontLoader.FontSmallSize;
|
||||
textAreaStyles[2].font = FontLoader.FontMedium;
|
||||
textAreaStyles[2].fontSize = FontLoader.FontMediumSize;
|
||||
}
|
||||
if (textAreaReadOnlyStyles != null)
|
||||
{
|
||||
textAreaReadOnlyStyles[0].font = FontLoader.FontTiny;
|
||||
textAreaReadOnlyStyles[0].fontSize = FontLoader.FontTinySize;
|
||||
textAreaReadOnlyStyles[1].font = FontLoader.FontSmall;
|
||||
textAreaReadOnlyStyles[1].fontSize = FontLoader.FontSmallSize;
|
||||
textAreaReadOnlyStyles[2].font = FontLoader.FontMedium;
|
||||
textAreaReadOnlyStyles[2].fontSize = FontLoader.FontMediumSize;
|
||||
}
|
||||
}
|
||||
|
||||
public static void Create()
|
||||
{
|
||||
try
|
||||
{
|
||||
fontStyles = new GUIStyle[3];
|
||||
textFieldStyles = new GUIStyle[3];
|
||||
textAreaStyles = new GUIStyle[3];
|
||||
textAreaReadOnlyStyles = new GUIStyle[3];
|
||||
fontStyles[0] = new GUIStyle(GUI.skin.label);
|
||||
fontStyles[0].font = FontLoader.FontTiny;
|
||||
fontStyles[0].fontSize = FontLoader.FontTinySize;
|
||||
fontStyles[1] = new GUIStyle(GUI.skin.label);
|
||||
fontStyles[1].font = FontLoader.FontSmall;
|
||||
fontStyles[1].fontSize = FontLoader.FontSmallSize;
|
||||
fontStyles[1].contentOffset = new Vector2(0f, -1f);
|
||||
fontStyles[2] = new GUIStyle(GUI.skin.label);
|
||||
fontStyles[2].font = FontLoader.FontMedium;
|
||||
fontStyles[2].fontSize = FontLoader.FontMediumSize;
|
||||
for (int i = 0; i < textFieldStyles.Length; i++)
|
||||
{
|
||||
textFieldStyles[i] = new GUIStyle(GUI.skin.textField);
|
||||
textFieldStyles[i].alignment = TextAnchor.MiddleLeft;
|
||||
}
|
||||
|
||||
textFieldStyles[0].font = FontLoader.FontTiny;
|
||||
textFieldStyles[0].fontSize = FontLoader.FontTinySize;
|
||||
textFieldStyles[1].font = FontLoader.FontSmall;
|
||||
textFieldStyles[1].fontSize = FontLoader.FontSmallSize;
|
||||
textFieldStyles[2].font = FontLoader.FontMedium;
|
||||
textFieldStyles[2].fontSize = FontLoader.FontMediumSize;
|
||||
for (int j = 0; j < textAreaStyles.Length; j++)
|
||||
{
|
||||
textAreaStyles[j] = new GUIStyle(textFieldStyles[j])
|
||||
{
|
||||
fontSize = textFieldStyles[j].fontSize,
|
||||
alignment = TextAnchor.UpperLeft,
|
||||
wordWrap = true
|
||||
};
|
||||
}
|
||||
|
||||
for (int k = 0; k < textAreaReadOnlyStyles.Length; k++)
|
||||
{
|
||||
textAreaReadOnlyStyles[k] = new GUIStyle(textAreaStyles[k]);
|
||||
textAreaReadOnlyStyles[k].fontSize = textAreaStyles[k].fontSize;
|
||||
GUIStyle obj = textAreaReadOnlyStyles[k];
|
||||
obj.normal.background = null;
|
||||
obj.active.background = null;
|
||||
obj.onHover.background = null;
|
||||
obj.hover.background = null;
|
||||
obj.onFocused.background = null;
|
||||
obj.focused.background = null;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Message("Could not create GUI styles, " + ex.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user