6 [RequireComponent(typeof(RawImage)), ExecuteInEditMode()]
18 private RawImage image;
20 private RectTransform RectTransform
24 return transform as RectTransform;
30 image = GetComponent<RawImage>();
37 Debug.LogWarning(
"Missing RawImage on object [" + name +
"]");
41 private void OnEnable()
43 if (
picker !=
null && Application.isPlaying)
50 private void OnDisable()
59 private void OnDestroy()
61 if (image.texture !=
null)
62 DestroyImmediate(image.texture);
66 private void OnValidate()
68 image = GetComponent<RawImage>();
75 Debug.LogWarning(
"Missing RawImage on object [" + name +
"]");
80 private void ColorChanged(
Color newColor)
98 private void ColorChanged(
float hue,
float saturation,
float value)
116 private void RegenerateTexture()
120 Debug.LogWarning(
"Missing Picker on object [" + name +
"]");
131 bool vertical =
direction == Slider.Direction.BottomToTop ||
direction == Slider.Direction.TopToBottom;
132 bool inverted =
direction == Slider.Direction.TopToBottom ||
direction == Slider.Direction.RightToLeft;
151 throw new System.NotImplementedException(
"");
154 texture =
new Texture2D(1, size);
156 texture =
new Texture2D(size, 1);
158 texture.hideFlags = HideFlags.DontSave;
159 colors =
new Color32[size];
164 for (
byte i = 0; i < size; i++)
166 colors[inverted ? size - 1 - i : i] =
new Color32(i, baseColor.g, baseColor.b, 255);
170 for (
byte i = 0; i < size; i++)
172 colors[inverted ? size - 1 - i : i] =
new Color32(baseColor.r, i, baseColor.b, 255);
176 for (
byte i = 0; i < size; i++)
178 colors[inverted ? size - 1 - i : i] =
new Color32(baseColor.r, baseColor.g, i, 255);
182 for (
byte i = 0; i < size; i++)
184 colors[inverted ? size - 1 - i : i] =
new Color32(i, i, i, 255);
188 for (
int i = 0; i < size; i++)
190 colors[inverted ? size - 1 - i : i] = HSVUtil.ConvertHsvToRgb(i, 1, 1, 1);
194 for (
int i = 0; i < size; i++)
196 colors[inverted ? size - 1 - i : i] = HSVUtil.ConvertHsvToRgb(h * 360, (
float)i / size, v, 1);
200 for (
int i = 0; i < size; i++)
202 colors[inverted ? size - 1 - i : i] = HSVUtil.ConvertHsvToRgb(h * 360, s, (
float)i / size, 1);
206 throw new System.NotImplementedException(
"");
208 texture.SetPixels32(colors);
211 if (image.texture !=
null)
212 DestroyImmediate(image.texture);
213 image.texture = texture;
217 case Slider.Direction.BottomToTop:
218 case Slider.Direction.TopToBottom:
219 image.uvRect =
new Rect(0, 0, 2, 1);
221 case Slider.Direction.LeftToRight:
222 case Slider.Direction.RightToLeft:
223 image.uvRect =
new Rect(0, 0, 1, 2);
HSVChangedEvent onHSVChanged
ColorChangedEvent onValueChanged
Slider.Direction direction
ColorPickerControl picker
ColorValues type
Which value this slider can edit.