1using System.Collections.Generic;
5[AddComponentMenu(
"UI/ToJ Effects/Gradient Color", 1)]
6[RequireComponent(typeof(Text))]
47 private List<UIVertex>
m_Verts =
new List<UIVertex>();
58 if (base.graphic !=
null)
60 base.graphic.SetVerticesDirty();
74 if (base.graphic !=
null)
76 base.graphic.SetVerticesDirty();
90 if (base.graphic !=
null)
92 base.graphic.SetVerticesDirty();
106 if (base.graphic !=
null)
108 base.graphic.SetVerticesDirty();
122 if (base.graphic !=
null)
124 base.graphic.SetVerticesDirty();
138 if (base.graphic !=
null)
140 base.graphic.SetVerticesDirty();
162 Vector2 zero = Vector2.zero;
163 Vector2 zero2 = Vector2.zero;
166 Rect rect = GetComponent<RectTransform>().rect;
167 zero =
new Vector2(rect.xMin, rect.yMax);
168 zero2 =
new Vector2(rect.xMax, rect.yMin);
173 zero2 =
m_Verts[m_Verts.Count - 1].position;
174 for (
int i = 0; i <
m_Verts.Count; i++)
176 if (
m_Verts[i].position.x < zero.x)
178 zero.x =
m_Verts[i].position.x;
180 if (
m_Verts[i].position.y > zero.y)
182 zero.y =
m_Verts[i].position.y;
184 if (
m_Verts[i].position.x > zero2.x)
186 zero2.x =
m_Verts[i].position.x;
188 if (
m_Verts[i].position.y < zero2.y)
190 zero2.y =
m_Verts[i].position.y;
194 float num = zero.y - zero2.y;
195 float num2 = zero2.x - zero.x;
196 for (
int j = 0; j <
m_Verts.Count; j++)
211 value.color.a = (byte)(value.color.a *
m_Verts[j].color.a / 255);
218 for (
int k = 0; k <
m_Verts.Count; k++)
223 if (k % 6 == 0 || k % 6 == 1 || k % 6 == 5)
234 else if (k % 6 == 0 || k % 6 == 4 || k % 6 == 5)
246 value2.color.a = (byte)(value2.color.a *
m_Verts[k].color.a / 255);
252 vh.AddUIVertexTriangleStream(
m_Verts);
259 ColorMode.Override => newColor,
260 ColorMode.Additive => initialColor + newColor,
261 ColorMode.Multiply => initialColor * newColor,
override void ModifyMesh(VertexHelper vh)
Color CalculateColor(Color initialColor, Color newColor, ColorMode colorMode)
GradientMode gradientMode
GradientDirection m_GradientDirection
GradientMode m_GradientMode
GradientDirection gradientDirection