private static Texture2D Update1DSlider(Texture2D tex, int xSize, float const1, float const2, ref float oldConst1, ref float oldConst2, int idx, bool hsvSpace)
{
if (!tex || const1 != oldConst1 || const2 != oldConst2)
{
if (!tex)
{
tex = ColorPicker.MakeTexture(xSize, 2);
}
Color[] array = new Color[xSize * 2];
Color black = Color.black;
Color black2 = Color.black;
switch (idx)
{
case 0:
black = new Color(0f, const1, const2, 1f);
black2 = new Color(1f, 0f, 0f, 0f);
break;
case 1:
black = new Color(const1, 0f, const2, 1f);
black2 = new Color(0f, 1f, 0f, 0f);
break;
case 2:
black = new Color(const1, const2, 0f, 1f);
black2 = new Color(0f, 0f, 1f, 0f);
break;
case 3:
black = new Color(0f, 0f, 0f, 1f);
black2 = new Color(1f, 1f, 1f, 0f);
break;
}
ColorPicker.FillArea(xSize, 2, array, black, black2, new Color(0f, 0f, 0f, 0f));
if (hsvSpace)
{
ColorPicker.HSVToRGBArray(array);
}
oldConst1 = const1;
oldConst2 = const2;
tex.SetPixels(array);
tex.Apply();
}
return(tex);
}