public static Color Clamp(this Color c) { for (int i = 0; i <= 3; i++) { if (float.IsNaN(c[i]) || float.IsNegativeInfinity(c[i])) c[i] = 0; else if (float.IsPositiveInfinity(c[i])) c[i] = 1; else c[i] = Mathf.Clamp(c[i], 0, 1); } return c; }