101 {
102 if (!IsActive())
103 {
104 return;
105 }
108 {
109 return;
110 }
111 Vector2 zero = Vector2.zero;
112 Vector2 zero2 = Vector2.zero;
114 {
115 Rect rect = GetComponent<RectTransform>().rect;
116 zero = new Vector2(rect.xMin, rect.yMax);
117 zero2 = new Vector2(rect.xMax, rect.yMin);
118 }
119 else
120 {
122 zero2 =
m_Verts[m_Verts.Count - 1].position;
123 for (
int i = 0; i <
m_Verts.Count; i++)
124 {
125 if (
m_Verts[i].position.x < zero.x)
126 {
127 zero.x =
m_Verts[i].position.x;
128 }
129 if (
m_Verts[i].position.y > zero.y)
130 {
131 zero.y =
m_Verts[i].position.y;
132 }
133 if (
m_Verts[i].position.x > zero2.x)
134 {
135 zero2.x =
m_Verts[i].position.x;
136 }
137 if (
m_Verts[i].position.y < zero2.y)
138 {
139 zero2.y =
m_Verts[i].position.y;
140 }
141 }
142 }
143 float num = zero.y - zero2.y;
144 float num2 = zero2.x - zero.x;
145 for (
int j = 0; j <
m_Verts.Count; j++)
146 {
148 float num3 = (value.position.y - zero2.y) / num;
149 float num4 = 1f - num3;
150 float num5 = (zero2.x - value.position.x) / num2;
151 float num6 = 1f - num5;
152 Vector3 zero3 = Vector3.zero;
155 value.position += zero3;
157 }
158 vh.Clear();
159 vh.AddUIVertexTriangleStream(
m_Verts);
160 }