worldbox-observer-mod/IdleSpectator/HudTheme.cs
DazedAnon ef561b87d8 Refactor HUD color management to utilize HudTheme constants.
- Replace hardcoded color values with HudTheme references across files
- Update ActivityProse, Chronicle, ChronicleHud, and others for consistency
- Increment version to 0.28.25 in mod.json
2026-07-17 18:06:43 -05:00

47 lines
2.7 KiB
C#

using UnityEngine;
namespace IdleSpectator;
/// <summary>
/// Shared HUD chrome matched to vanilla WorldBox unit tooltip colors
/// (near-black panel, slate capsules, orange values, purple name-values, muted greens).
/// </summary>
public static class HudTheme
{
// Panel chrome - sampled from vanilla unit tip outer fill.
public static readonly Color PanelFill = new Color(18f / 255f, 20f / 255f, 24f / 255f, 1f);
public static readonly Color PanelEdge = new Color(44f / 255f, 48f / 255f, 56f / 255f, 0.75f);
// Nested capsules / activity inset (vanilla age/HP chip slate).
public static readonly Color CapsuleFill = new Color(34f / 255f, 48f / 255f, 64f / 255f, 0.92f);
public static readonly Color InsetFill = new Color(21f / 255f, 23f / 255f, 26f / 255f, 0.94f);
public static readonly Color Separator = new Color(70f / 255f, 78f / 255f, 90f / 255f, 0.55f);
// Text
public static readonly Color Name = new Color(246f / 255f, 248f / 255f, 243f / 255f, 1f);
public static readonly Color Label = new Color(149f / 255f, 150f / 255f, 150f / 255f, 1f);
public static readonly Color Body = new Color(210f / 255f, 212f / 255f, 214f / 255f, 1f);
public static readonly Color Muted = new Color(128f / 255f, 132f / 255f, 140f / 255f, 0.95f);
// Accents from vanilla tip values / bars.
public static readonly Color ValueOrange = new Color(236f / 255f, 156f / 255f, 56f / 255f, 1f);
public static readonly Color NamePurple = new Color(167f / 255f, 96f / 255f, 228f / 255f, 1f);
public static readonly Color TaskGreen = new Color(38f / 255f, 158f / 255f, 4f / 255f, 1f);
public static readonly Color StatusBlue = new Color(100f / 255f, 168f / 255f, 210f / 255f, 1f);
public static readonly Color AccentGold = new Color(212f / 255f, 194f / 255f, 56f / 255f, 1f);
public static readonly Color Danger = new Color(235f / 255f, 115f / 255f, 105f / 255f, 1f);
// Controls
public static readonly Color ToolFill = new Color(28f / 255f, 32f / 255f, 40f / 255f, 0.95f);
public static readonly Color TabActiveFill = new Color(40f / 255f, 52f / 255f, 68f / 255f, 0.9f);
public static readonly Color TabIdleFill = new Color(18f / 255f, 20f / 255f, 24f / 255f, 0.25f);
public static readonly Color SearchFill = new Color(14f / 255f, 16f / 255f, 20f / 255f, 0.96f);
public static readonly Color FavoriteOn = AccentGold;
public static readonly Color FavoriteOff = Label;
/// <summary>Rich-text hex for person names (vanilla tip name-value purple).</summary>
public const string NameColorHex = "#A760E4";
/// <summary>Rich-text hex for date stamps on lore lines.</summary>
public const string DateColorHex = "#959696";
}