1using System.Collections.Generic;
5[AddComponentMenu(
"UI/ToJ Effects/Curve Effect", 6)]
6[RequireComponent(typeof(Text))]
19 private AnimationCurve
m_Curve =
new AnimationCurve(
new Keyframe(0f, 0f, 0f, 2f),
new Keyframe(1f, 0f, -2f, 0f));
24 private List<UIVertex>
m_Verts =
new List<UIVertex>();
37 if (base.graphic !=
null)
39 base.graphic.SetVerticesDirty();
56 if (base.graphic !=
null)
58 base.graphic.SetVerticesDirty();
79 Vector2 zero = Vector2.zero;
80 Vector2 zero2 = Vector2.zero;
83 Rect rect = GetComponent<RectTransform>().rect;
84 zero =
new Vector2(rect.xMin, rect.yMax);
85 zero2 =
new Vector2(rect.xMax, rect.yMin);
90 zero2 =
m_Verts[m_Verts.Count - 1].position;
91 for (
int i = 0; i <
m_Verts.Count; i++)
93 if (
m_Verts[i].position.x < zero.x)
97 if (
m_Verts[i].position.y > zero.y)
101 if (
m_Verts[i].position.x > zero2.x)
103 zero2.x =
m_Verts[i].position.x;
105 if (
m_Verts[i].position.y < zero2.y)
107 zero2.y =
m_Verts[i].position.y;
111 float num = zero2.x - zero.x;
112 for (
int j = 0; j <
m_Verts.Count; j++)
115 value.position.y +=
curve.Evaluate((value.position.x - zero.x) / num) *
strength;
119 vh.AddUIVertexTriangleStream(
m_Verts);
override void ModifyMesh(VertexHelper vh)