Initial commit

This commit is contained in:
2026-04-02 17:52:02 -04:00
commit cc510967bc
17 changed files with 1498 additions and 0 deletions

121
Source/CustomGUIStyles.cs Normal file
View 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());
}
}
}
}