Tanoda
ColorPresets.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using Assets.HSVPicker;
3using UnityEngine;
4using UnityEngine.UI;
5
6public class ColorPresets : MonoBehaviour
7{
9 public GameObject[] presets;
11
12 private ColorPresetList _colors;
13
14 void Awake()
15 {
16// picker.onHSVChanged.AddListener(HSVChanged);
17 picker.onValueChanged.AddListener(ColorChanged);
18 }
19
20 void Start()
21 {
22 _colors = ColorPresetManager.Get(picker.Setup.PresetColorsId);
23
24 if (_colors.Colors.Count < picker.Setup.DefaultPresetColors.Length)
26
27 _colors.OnColorsUpdated += OnColorsUpdate;
28 OnColorsUpdate(_colors.Colors);
29 }
30
31 private void OnColorsUpdate(List<Color> colors)
32 {
33 for (var cnt = 0; cnt < presets.Length; cnt++)
34 {
35 if (colors.Count <= cnt)
36 {
37 presets[cnt].SetActive(false);
38 continue;
39 }
40
41
42 presets[cnt].SetActive(true);
43 presets[cnt].GetComponent<Image>().color = colors[cnt];
44 }
45
46 createPresetImage.gameObject.SetActive(colors.Count < presets.Length);
47 }
48
49 public void CreatePresetButton()
50 {
52
53 // for (var i = 0; i < presets.Length; i++)
54 //{
55 // if (!presets[i].activeSelf)
56 // {
57 // presets[i].SetActive(true);
58 // presets[i].GetComponent<Image>().color = picker.CurrentColor;
59 // break;
60 // }
61 //}
62 }
63
64 public void PresetSelect(Image sender)
65 {
66 picker.CurrentColor = sender.color;
67 }
68
69 // Not working, it seems ConvertHsvToRgb() is broken. It doesn't work when fed
70 // input h, s, v as shown below.
71// private void HSVChanged(float h, float s, float v)
72// {
73// createPresetImage.color = HSVUtil.ConvertHsvToRgb(h, s, v, 1);
74// }
75 private void ColorChanged(Color color)
76 {
77 createPresetImage.color = color;
78 }
79}
System.Drawing.Image Image
Definition: TestScript.cs:37
UnityEngine.Color Color
Definition: TestScript.cs:32
UnityAction< List< Color > > OnColorsUpdated
void UpdateList(IEnumerable< Color > colors)
ColorPickerSetup Setup
Definition: ColorPicker.cs:17
ColorChangedEvent onValueChanged
Definition: ColorPicker.cs:19
Color CurrentColor
Definition: ColorPicker.cs:23
ColorPicker picker
Definition: ColorPresets.cs:8
void PresetSelect(Image sender)
Definition: ColorPresets.cs:64
GameObject[] presets
Definition: ColorPresets.cs:9
Image createPresetImage
Definition: ColorPresets.cs:10
void CreatePresetButton()
Definition: ColorPresets.cs:49