42 lines
1.2 KiB
C#
42 lines
1.2 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.2f, 0.2f, 0.2f),
|
|
WarningColor = new Color(1f, 0.2f, 0.2f)
|
|
};
|
|
|
|
public static ThemePalette CyberpunkTheme => new ThemePalette
|
|
{
|
|
StableColor = new Color(0.1f, 0.1f, 0.3f), // Dark Blue
|
|
WarningColor = new Color(1f, 0f, 1f) // Neon Magenta
|
|
};
|
|
|
|
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;
|
|
}
|
|
}
|
|
}
|