9 using System.Collections.Generic;
38 [SerializeField]
private bool m_Show =
false;
39 [SerializeField]
private Color32 m_Color;
40 [SerializeField]
private Color32 m_Color0;
41 [SerializeField]
private Color32 m_ToColor;
42 [SerializeField]
private Color32 m_ToColor2;
43 [SerializeField]
private Color32 m_BackgroundColor;
44 [SerializeField]
private float m_BackgroundWidth;
45 [SerializeField]
private Color32 m_CenterColor;
46 [SerializeField]
private float m_CenterGap;
47 [SerializeField]
private Type m_BorderType =
Type.Solid;
48 [SerializeField]
private float m_BorderWidth = 0;
49 [SerializeField]
private Color32 m_BorderColor;
50 [SerializeField]
private Color32 m_BorderColor0;
51 [SerializeField]
private Color32 m_BorderToColor;
52 [SerializeField] [Range(0, 1)]
private float m_Opacity = 1;
53 [SerializeField]
private string m_TooltipFormatter;
54 [SerializeField]
private string m_NumericFormatter =
"";
55 [SerializeField]
private float[] m_CornerRadius =
new float[] { 0, 0, 0, 0 };
60 m_Color = Color.clear;
61 m_Color0 = Color.clear;
62 m_ToColor = Color.clear;
63 m_ToColor2 = Color.clear;
64 m_BackgroundColor = Color.clear;
65 m_BackgroundWidth = 0;
66 m_CenterColor = Color.clear;
68 m_BorderType =
Type.Solid;
70 m_BorderColor = Color.clear;
71 m_BorderColor0 = Color.clear;
72 m_BorderToColor = Color.clear;
74 m_TooltipFormatter =
null;
75 m_NumericFormatter =
"";
76 if (m_CornerRadius ==
null)
78 m_CornerRadius =
new float[] { 0, 0, 0, 0 };
82 for (
int i = 0; i < m_CornerRadius.Length; i++)
83 m_CornerRadius[i] = 0;
92 get {
return m_Show; }
93 set {
if (PropertyUtil.SetStruct(ref m_Show, value)) SetVerticesDirty(); }
100 get {
return m_Color; }
101 set {
if (PropertyUtil.SetColor(ref m_Color, value)) SetVerticesDirty(); }
108 get {
return m_Color0; }
109 set {
if (PropertyUtil.SetColor(ref m_Color0, value)) SetVerticesDirty(); }
117 get {
return m_ToColor; }
118 set {
if (PropertyUtil.SetColor(ref m_ToColor, value)) SetVerticesDirty(); }
126 get {
return m_ToColor2; }
127 set {
if (PropertyUtil.SetColor(ref m_ToColor2, value)) SetVerticesDirty(); }
134 get {
return m_BackgroundColor; }
135 set {
if (PropertyUtil.SetColor(ref m_BackgroundColor, value)) SetVerticesDirty(); }
142 get {
return m_CenterColor; }
143 set {
if (PropertyUtil.SetColor(ref m_CenterColor, value)) SetVerticesDirty(); }
150 get {
return m_CenterGap; }
151 set {
if (PropertyUtil.SetStruct(ref m_CenterGap, value)) SetVerticesDirty(); }
158 get {
return m_BackgroundWidth; }
159 set {
if (PropertyUtil.SetStruct(ref m_BackgroundWidth, value)) SetVerticesDirty(); }
166 get {
return m_BorderType; }
167 set {
if (PropertyUtil.SetStruct(ref m_BorderType, value)) SetVerticesDirty(); }
174 get {
return m_BorderColor; }
175 set {
if (PropertyUtil.SetColor(ref m_BorderColor, value)) SetVerticesDirty(); }
182 get {
return m_BorderColor0; }
183 set {
if (PropertyUtil.SetColor(ref m_BorderColor0, value)) SetVerticesDirty(); }
190 get {
return m_BorderToColor; }
191 set {
if (PropertyUtil.SetColor(ref m_BorderToColor, value)) SetVerticesDirty(); }
198 get {
return m_BorderWidth; }
199 set {
if (PropertyUtil.SetStruct(ref m_BorderWidth, value)) SetVerticesDirty(); }
206 get {
return m_Opacity; }
207 set {
if (PropertyUtil.SetStruct(ref m_Opacity, value)) SetVerticesDirty(); }
214 get {
return m_TooltipFormatter; }
215 set {
if (PropertyUtil.SetClass(ref m_TooltipFormatter, value)) SetVerticesDirty(); }
226 get {
return m_NumericFormatter; }
227 set {
if (PropertyUtil.SetClass(ref m_NumericFormatter, value)) SetComponentDirty(); }
235 get {
return m_CornerRadius; }
236 set {
if (PropertyUtil.SetClass(ref m_CornerRadius, value,
true)) SetVerticesDirty(); }
251 public Color32 GetColor()
253 if (m_Opacity == 1 || m_Color.a == 0)
return m_Color;
258 public Color32 GetColor0()
260 if (m_Opacity == 1 || m_Color0.a == 0)
return m_Color0;
261 var
color = m_Color0;
265 public Color32 GetColor(Color32 defaultColor)
267 var
color = ChartHelper.IsClearColor(m_Color) ? defaultColor : m_Color;
268 if (m_Opacity == 1 ||
color.a == 0)
return color;
272 public Color32 GetColor0(Color32 defaultColor)
274 var
color = ChartHelper.IsClearColor(m_Color0) ? defaultColor : m_Color0;
275 if (m_Opacity == 1 ||
color.a == 0)
return color;
279 public Color32 GetBorderColor(Color32 defaultColor)
281 var
color = ChartHelper.IsClearColor(m_BorderColor) ? defaultColor : m_BorderColor;
282 if (m_Opacity == 1 ||
color.a == 0)
return color;
286 public Color32 GetBorderColor0(Color32 defaultColor)
288 var
color = ChartHelper.IsClearColor(m_BorderColor0) ? defaultColor : m_BorderColor0;
289 if (m_Opacity == 1 ||
color.a == 0)
return color;
294 public bool IsNeedGradient()
296 return !ChartHelper.IsClearColor(m_ToColor) || !ChartHelper.IsClearColor(m_ToColor2);
299 public Color32 GetGradientColor(
float value, Color32 defaultColor)
301 if (!IsNeedGradient())
return ChartConst.clearColor32;
302 value = Mathf.Clamp01(value);
303 var startColor = ChartHelper.IsClearColor(m_Color) ? defaultColor : m_Color;
305 if (!ChartHelper.IsClearColor(m_ToColor2))
307 if (value <= 0.5f)
color = Color32.Lerp(startColor, m_ToColor, 2 * value);
308 else color = Color32.Lerp(m_ToColor, m_ToColor2, 2 * (value - 0.5f));
312 color = Color32.Lerp(startColor, m_ToColor, value);