42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
namespace Infrastructure.Unity
|
|
{
|
|
public static class ThemeManager
|
|
{
|
|
public struct ThemePalette
|
|
{
|
|
public Color StableColor;
|
|
public Color WarningColor;
|
|
public Color BackgroundColor; // Not used yet but good to have
|
|
}
|
|
|
|
public static ThemePalette CurrentTheme { get; set; } = DefaultTheme;
|
|
|
|
public static ThemePalette DefaultTheme => new ThemePalette
|
|
{
|
|
StableColor = new Color(0.33725490196078434f, 0.5058823529411764f, 0.9529411764705882f),
|
|
WarningColor = new Color(1f, 0.1803921568627451f, 0.38823529411764707f)
|
|
};
|
|
|
|
public static ThemePalette CyberpunkTheme => new ThemePalette
|
|
{
|
|
StableColor = new Color(0.23f, 0.53f, 0.7f),
|
|
WarningColor = new Color(1f, 0f, 1f)
|
|
};
|
|
|
|
public static ThemePalette GoldenTheme => new ThemePalette
|
|
{
|
|
StableColor = new Color(0.3f, 0.3f, 0.1f), // Dark Gold
|
|
WarningColor = new Color(1f, 0.8f, 0f) // Gold
|
|
};
|
|
|
|
public static ThemePalette GetTheme(int highScore)
|
|
{
|
|
if (highScore >= 500) return GoldenTheme;
|
|
if (highScore >= 100) return CyberpunkTheme;
|
|
return DefaultTheme;
|
|
}
|
|
}
|
|
}
|