CharacterPaintColor.cs
using Sandbox;
namespace PaintballBaddies;
/// <summary>One paint colour per competitor, shared by flight and every impact.</summary>
public static class CharacterPaintColor
{
public static Color For(int index)=>index switch
{
1=>new Color(1,.36f,.06f), // Roxie: orange
2=>new Color(.05f,.95f,.8f), // Imani: turquoise
3=>new Color(1,.09f,.16f), // Mei: red
4=>new Color(.58f,.95f,.12f), // Freya: lime
5=>new Color(.12f,.48f,1), // Leilani: blue
_=>new Color(.72f,.23f,1) // Viper: violet
};
public static Color For(GameObject shooter)
{
if(!shooter.IsValid())return For(2);
var roster=shooter.Components.Get<RosterSelection>();
return For(roster?.Selected ?? shooter.Components.Get<ArenaOpponent>()?.CharacterIndex ?? 0);
}
}