Tanoda
pb_ColorInspector.cs
Go to the documentation of this file.
1using UnityEngine;
2using System.Collections;
3using System.Reflection;
4
5namespace GILES.Interface
6{
10 [pb_TypeInspector(typeof(Color))]
11 public class pb_ColorInspector : pb_TypeInspector
12 {
13 Color value;
14
15 public UnityEngine.UI.Text title;
16
17 public UnityEngine.UI.InputField
22
23 void OnGUIChanged()
24 {
25 SetValue(value);
26 }
27
28 public override void InitializeGUI()
29 {
30 title.text = GetName().SplitCamelCase();
31
32#if UNITY_5_2
33 input_r.onValueChange.AddListener( OnValueChange_R );
34 input_g.onValueChange.AddListener( OnValueChange_G );
35 input_b.onValueChange.AddListener( OnValueChange_B );
36 input_a.onValueChange.AddListener( OnValueChange_A );
37#else
38 input_r.onValueChanged.AddListener( OnValueChange_R );
39 input_g.onValueChanged.AddListener( OnValueChange_G );
40 input_b.onValueChanged.AddListener( OnValueChange_B );
41 input_a.onValueChanged.AddListener( OnValueChange_A );
42#endif
43 }
44
45 protected override void OnUpdateGUI()
46 {
47 value = GetValue<Color>();
48
49 input_r.text = value.r.ToString("g");
50 input_g.text = value.g.ToString("g");
51 input_b.text = value.b.ToString("g");
52 input_a.text = value.a.ToString("g");
53 }
54
55 public void OnValueChange_R(string val)
56 {
57 float v;
58
59 if(float.TryParse(val, out v))
60 {
61 value.r = Mathf.Clamp(v, 0f, 1f);
62 if(v < 0f || v > 1f)
63 input_r.text = value.r.ToString("g");
64 OnGUIChanged();
65 }
66 }
67
68 public void OnValueChange_G(string val)
69 {
70 float v;
71
72 if(float.TryParse(val, out v))
73 {
74 value.g = Mathf.Clamp(v, 0f, 1f);
75 if(v < 0f || v > 1f)
76 input_g.text = value.g.ToString("g");
77 OnGUIChanged();
78 }
79 }
80
81 public void OnValueChange_B(string val)
82 {
83 float v;
84
85 if(float.TryParse(val, out v))
86 {
87 value.b = Mathf.Clamp(v, 0f, 1f);
88 if(v < 0f || v > 1f)
89 input_b.text = value.b.ToString("g");
90 OnGUIChanged();
91 }
92 }
93
94 public void OnValueChange_A(string val)
95 {
96 float v;
97
98 if(float.TryParse(val, out v))
99 {
100 value.a = Mathf.Clamp(v, 0f, 1f);
101 if(v < 0f || v > 1f)
102 input_a.text = value.a.ToString("g");
103 OnGUIChanged();
104 }
105 }
106 }
107}
UnityEngine.Color Color
Definition: TestScript.cs:32
UnityEngine.UI.InputField input_b
UnityEngine.UI.InputField input_a
UnityEngine.UI.InputField input_g
UnityEngine.UI.InputField input_r