Color

RGBA color with float components (0-1 range).

Static Colors

Color.White(1, 1, 1, 1)
Color.Black(0, 0, 0, 1)
Color.Red(1, 0, 0, 1)
Color.Green(0, 1, 0, 1)
Color.Blue(0, 0, 1, 1)
Color.Yellow(1, 1, 0, 1)
Color.Cyan(0, 1, 1, 1)
Color.Magenta(1, 0, 1, 1)
Color.Orange(1, 0.5, 0, 1)
Color.Gray(0.5, 0.5, 0.5, 1)
Color.Transparent(0, 0, 0, 0)

Constructors

// RGBA
var color = new Color(1f, 0.5f, 0f, 1f); // Orange

// RGB with alpha = 1
var red = new Color(1f, 0f, 0f);

// Grayscale
var gray = new Color(0.5f); // 50% gray

Methods

// Lerp between colors
var result = Color.Lerp(Color.Red, Color.Blue, 0.5f); // Purple

// From hex string
var color = Color.FromHex("#FF5500");
var color2 = Color.FromHex("FF5500FF");

// To hex
string hex = color.ToHex(); // "#FF5500FF"

// From HSV
var rainbow = Color.FromHSV(0.5f, 1f, 1f); // Cyan

// To HSV
var (h, s, v) = color.ToHSV();

Example Usage

public class ColorChanger : Component
{
    private float _hue;
    
    protected override void OnUpdate()
    {
        _hue += Time.Delta * 0.2f;
        if (_hue > 1f) _hue = 0f;
    }
    
    protected override void OnRender(RaylibRenderer renderer)
    {
        var color = Color.FromHSV(_hue, 1f, 1f);
        renderer.DrawCube(Transform.Position, Vector3.One, color);
    }
}