Пример #1
0
        private void UpdateUI(HSV hsv)
        {
            switch (type)
            {
            case ControlType.SV_both:
            {
                HSV[] array4 = new HSV[4]
                {
                    hsv,
                    hsv,
                    hsv,
                    hsv
                };
                array4[0].s = (array4[1].s = 0f);
                array4[2].s = (array4[3].s = 1f);
                array4[0].v = (array4[3].v = 0f);
                array4[1].v = (array4[2].v = 1f);
                colors      = new Color[4]
                {
                    array4[0],
                    array4[1],
                    array4[2],
                    array4[3]
                };
                UpdateColors();
                break;
            }

            case ControlType.Red_horizontal:
            {
                Color   color3 = hsv;
                Color[] array3 = new Color[4]
                {
                    color3,
                    color3,
                    color3,
                    color3
                };
                array3[0].r = (array3[1].r = 0f);
                array3[2].r = (array3[3].r = 1f);
                colors      = array3;
                UpdateColors();
                break;
            }

            case ControlType.Green_horizontal:
            {
                Color   color2 = hsv;
                Color[] array2 = new Color[4]
                {
                    color2,
                    color2,
                    color2,
                    color2
                };
                array2[0].g = (array2[1].g = 0f);
                array2[2].g = (array2[3].g = 1f);
                colors      = array2;
                UpdateColors();
                break;
            }

            case ControlType.Blue_horizontal:
            {
                Color   color = hsv;
                Color[] array = new Color[4]
                {
                    color,
                    color,
                    color,
                    color
                };
                array[0].b = (array[1].b = 0f);
                array[2].b = (array[3].b = 1f);
                colors     = array;
                UpdateColors();
                break;
            }
            }
            if (colorPointer != null)
            {
                float num  = 0.5f;
                float num2 = 0.5f;
                switch (type)
                {
                case ControlType.SV_both:
                    num  = hsv.s;
                    num2 = hsv.v;
                    break;

                case ControlType.Hue_vertical:
                    num2 = hsv.h;
                    break;

                case ControlType.Red_horizontal:
                {
                    Color color6 = hsv;
                    num = color6.r;
                    break;
                }

                case ControlType.Green_horizontal:
                {
                    Color color5 = hsv;
                    num = color5.g;
                    break;
                }

                case ControlType.Blue_horizontal:
                {
                    Color color4 = hsv;
                    num = color4.b;
                    break;
                }
                }
                num  = (num - rect.pivot.x) * rect.rect.width;
                num2 = (num2 - rect.pivot.y) * rect.rect.height;
                colorPointer.localPosition = new Vector2(num, num2);
            }
        }
Пример #2
0
 public static Color HSVToColor(HSV hsv)
 {
     return(_HSVToColor(hsv));
 }