private Vector4 GetChargeColor(float charge)
{
var c0 = new Vector4(1, 0, 0, 1);
var c1 = new Vector4(1, 0.8f, 0, 1);
var c2 = new Vector4(0, 0.8f, 0, 1);
if (charge < 0.5f)
{
var t = Max(0, Min(charge * 2, 1f));
return c0 * (1 - t) + c1 * t;
}
else
{
var t = Max(0, Min((charge - 0.5f) * 2, 1f));
return c1 * (1 - t) + c2 * t;
}
}