private static void FillColumn1(ref NineRectangle nqV, ref NineRectangle nqT, int columnStart, ref Color color, MeshBuffer m) { if (nqV.xx.y == nqV.yy.y) { if (nqV.yy.y == nqV.zz.y) { if (nqV.zz.y != nqV.ww.y) { switch (columnStart) { case 0: { m.FastCell(nqV.xz, nqV.yw, nqT.xz, nqT.yw, ref color); break; } case 1: { m.FastCell(nqV.yz, nqV.zw, nqT.yz, nqT.zw, ref color); break; } case 2: { m.FastCell(nqV.zz, nqV.ww, nqT.zz, nqT.ww, ref color); break; } } } } else if (nqV.zz.y != nqV.ww.y) { int num = m.Alloc(PrimitiveKind.Grid1x2, 0f, color); switch (columnStart) { case 0: { m.v[num].x = nqV.xx.x; m.v[num].y = nqV.yy.y; m.v[num].u = nqT.xx.x; m.v[num].v = nqT.yy.y; m.v[num + 1].x = nqV.yy.x; m.v[num + 1].y = nqV.yy.y; m.v[num + 1].u = nqT.yy.x; m.v[num + 1].v = nqT.yy.y; m.v[num + 2].x = nqV.xx.x; m.v[num + 2].y = nqV.zz.y; m.v[num + 2].u = nqT.xx.x; m.v[num + 2].v = nqT.zz.y; m.v[num + 3].x = nqV.yy.x; m.v[num + 3].y = nqV.zz.y; m.v[num + 3].u = nqT.yy.x; m.v[num + 3].v = nqT.zz.y; m.v[num + 4].x = nqV.xx.x; m.v[num + 4].y = nqV.ww.y; m.v[num + 4].u = nqT.xx.x; m.v[num + 4].v = nqT.ww.y; m.v[num + 5].x = nqV.yy.x; m.v[num + 5].y = nqV.ww.y; m.v[num + 5].u = nqT.yy.x; m.v[num + 5].v = nqT.ww.y; break; } case 1: { m.v[num].x = nqV.yy.x; m.v[num].y = nqV.yy.y; m.v[num].u = nqT.yy.x; m.v[num].v = nqT.yy.y; m.v[num + 1].x = nqV.zz.x; m.v[num + 1].y = nqV.yy.y; m.v[num + 1].u = nqT.zz.x; m.v[num + 1].v = nqT.yy.y; m.v[num + 2].x = nqV.yy.x; m.v[num + 2].y = nqV.zz.y; m.v[num + 2].u = nqT.yy.x; m.v[num + 2].v = nqT.zz.y; m.v[num + 3].x = nqV.zz.x; m.v[num + 3].y = nqV.zz.y; m.v[num + 3].u = nqT.zz.x; m.v[num + 3].v = nqT.zz.y; m.v[num + 4].x = nqV.yy.x; m.v[num + 4].y = nqV.ww.y; m.v[num + 4].u = nqT.yy.x; m.v[num + 4].v = nqT.ww.y; m.v[num + 5].x = nqV.zz.x; m.v[num + 5].y = nqV.ww.y; m.v[num + 5].u = nqT.zz.x; m.v[num + 5].v = nqT.ww.y; break; } case 2: { m.v[num].x = nqV.zz.x; m.v[num].y = nqV.yy.y; m.v[num].u = nqT.zz.x; m.v[num].v = nqT.yy.y; m.v[num + 1].x = nqV.ww.x; m.v[num + 1].y = nqV.yy.y; m.v[num + 1].u = nqT.ww.x; m.v[num + 1].v = nqT.yy.y; m.v[num + 2].x = nqV.zz.x; m.v[num + 2].y = nqV.zz.y; m.v[num + 2].u = nqT.zz.x; m.v[num + 2].v = nqT.zz.y; m.v[num + 3].x = nqV.ww.x; m.v[num + 3].y = nqV.zz.y; m.v[num + 3].u = nqT.ww.x; m.v[num + 3].v = nqT.zz.y; m.v[num + 4].x = nqV.zz.x; m.v[num + 4].y = nqV.ww.y; m.v[num + 4].u = nqT.zz.x; m.v[num + 4].v = nqT.ww.y; m.v[num + 5].x = nqV.ww.x; m.v[num + 5].y = nqV.ww.y; m.v[num + 5].u = nqT.ww.x; m.v[num + 5].v = nqT.ww.y; break; } } } else { switch (columnStart) { case 0: { m.FastCell(nqV.xy, nqV.yz, nqT.xy, nqT.yz, ref color); break; } case 1: { m.FastCell(nqV.yy, nqV.zz, nqT.yy, nqT.zz, ref color); break; } case 2: { m.FastCell(nqV.zy, nqV.wz, nqT.zy, nqT.wz, ref color); break; } } } } else if (nqV.yy.y == nqV.zz.y) { if (nqV.zz.y != nqV.ww.y) { switch (columnStart) { case 0: { m.FastCell(nqV.xx, nqV.yy, nqT.xx, nqT.yy, ref color); m.FastCell(nqV.xz, nqV.yw, nqT.xz, nqT.yw, ref color); break; } case 1: { m.FastCell(nqV.yx, nqV.zy, nqT.yx, nqT.zy, ref color); m.FastCell(nqV.yz, nqV.zw, nqT.yz, nqT.zw, ref color); break; } case 2: { m.FastCell(nqV.zx, nqV.wy, nqT.zx, nqT.wy, ref color); m.FastCell(nqV.zz, nqV.ww, nqT.zz, nqT.ww, ref color); break; } } } else { switch (columnStart) { case 0: { m.FastCell(nqV.xx, nqV.yy, nqT.xx, nqT.yy, ref color); break; } case 1: { m.FastCell(nqV.yx, nqV.zy, nqT.yx, nqT.zy, ref color); break; } case 2: { m.FastCell(nqV.zx, nqV.wy, nqT.zx, nqT.wy, ref color); break; } } } } else if (nqV.zz.y != nqV.ww.y) { int num1 = m.Alloc(PrimitiveKind.Grid1x2, 0f, color); switch (columnStart) { case 0: { m.v[num1].x = nqV.xx.x; m.v[num1].y = nqV.xx.y; m.v[num1].u = nqT.xx.x; m.v[num1].v = nqT.xx.y; m.v[num1 + 1].x = nqV.yy.x; m.v[num1 + 1].y = nqV.xx.y; m.v[num1 + 1].u = nqT.yy.x; m.v[num1 + 1].v = nqT.xx.y; m.v[num1 + 2].x = nqV.xx.x; m.v[num1 + 2].y = nqV.yy.y; m.v[num1 + 2].u = nqT.xx.x; m.v[num1 + 2].v = nqT.yy.y; m.v[num1 + 3].x = nqV.yy.x; m.v[num1 + 3].y = nqV.yy.y; m.v[num1 + 3].u = nqT.yy.x; m.v[num1 + 3].v = nqT.yy.y; m.v[num1 + 4].x = nqV.xx.x; m.v[num1 + 4].y = nqV.zz.y; m.v[num1 + 4].u = nqT.xx.x; m.v[num1 + 4].v = nqT.zz.y; m.v[num1 + 5].x = nqV.yy.x; m.v[num1 + 5].y = nqV.zz.y; m.v[num1 + 5].u = nqT.yy.x; m.v[num1 + 5].v = nqT.zz.y; m.v[num1 + 6].x = nqV.xx.x; m.v[num1 + 6].y = nqV.ww.y; m.v[num1 + 6].u = nqT.xx.x; m.v[num1 + 6].v = nqT.ww.y; m.v[num1 + 7].x = nqV.yy.x; m.v[num1 + 7].y = nqV.ww.y; m.v[num1 + 7].u = nqT.yy.x; m.v[num1 + 7].v = nqT.ww.y; break; } case 1: { m.v[num1].x = nqV.yy.x; m.v[num1].y = nqV.xx.y; m.v[num1].u = nqT.yy.x; m.v[num1].v = nqT.xx.y; m.v[num1 + 1].x = nqV.zz.x; m.v[num1 + 1].y = nqV.xx.y; m.v[num1 + 1].u = nqT.zz.x; m.v[num1 + 1].v = nqT.xx.y; m.v[num1 + 2].x = nqV.yy.x; m.v[num1 + 2].y = nqV.yy.y; m.v[num1 + 2].u = nqT.yy.x; m.v[num1 + 2].v = nqT.yy.y; m.v[num1 + 3].x = nqV.zz.x; m.v[num1 + 3].y = nqV.yy.y; m.v[num1 + 3].u = nqT.zz.x; m.v[num1 + 3].v = nqT.yy.y; m.v[num1 + 4].x = nqV.yy.x; m.v[num1 + 4].y = nqV.zz.y; m.v[num1 + 4].u = nqT.yy.x; m.v[num1 + 4].v = nqT.zz.y; m.v[num1 + 5].x = nqV.zz.x; m.v[num1 + 5].y = nqV.zz.y; m.v[num1 + 5].u = nqT.zz.x; m.v[num1 + 5].v = nqT.zz.y; m.v[num1 + 6].x = nqV.yy.x; m.v[num1 + 6].y = nqV.ww.y; m.v[num1 + 6].u = nqT.yy.x; m.v[num1 + 6].v = nqT.ww.y; m.v[num1 + 7].x = nqV.zz.x; m.v[num1 + 7].y = nqV.ww.y; m.v[num1 + 7].u = nqT.zz.x; m.v[num1 + 7].v = nqT.ww.y; break; } case 2: { m.v[num1].x = nqV.zz.x; m.v[num1].y = nqV.xx.y; m.v[num1].u = nqT.zz.x; m.v[num1].v = nqT.xx.y; m.v[num1 + 1].x = nqV.ww.x; m.v[num1 + 1].y = nqV.xx.y; m.v[num1 + 1].u = nqT.ww.x; m.v[num1 + 1].v = nqT.xx.y; m.v[num1 + 2].x = nqV.zz.x; m.v[num1 + 2].y = nqV.yy.y; m.v[num1 + 2].u = nqT.zz.x; m.v[num1 + 2].v = nqT.yy.y; m.v[num1 + 3].x = nqV.ww.x; m.v[num1 + 3].y = nqV.yy.y; m.v[num1 + 3].u = nqT.ww.x; m.v[num1 + 3].v = nqT.yy.y; m.v[num1 + 4].x = nqV.zz.x; m.v[num1 + 4].y = nqV.zz.y; m.v[num1 + 4].u = nqT.zz.x; m.v[num1 + 4].v = nqT.zz.y; m.v[num1 + 5].x = nqV.ww.x; m.v[num1 + 5].y = nqV.zz.y; m.v[num1 + 5].u = nqT.ww.x; m.v[num1 + 5].v = nqT.zz.y; m.v[num1 + 6].x = nqV.zz.x; m.v[num1 + 6].y = nqV.ww.y; m.v[num1 + 6].u = nqT.zz.x; m.v[num1 + 6].v = nqT.ww.y; m.v[num1 + 7].x = nqV.ww.x; m.v[num1 + 7].y = nqV.ww.y; m.v[num1 + 7].u = nqT.ww.x; m.v[num1 + 7].v = nqT.ww.y; break; } } } else { int num2 = m.Alloc(PrimitiveKind.Grid1x2, 0f, color); switch (columnStart) { case 0: { m.v[num2].x = nqV.xx.x; m.v[num2].y = nqV.xx.y; m.v[num2].u = nqT.xx.x; m.v[num2].v = nqT.xx.y; m.v[num2 + 1].x = nqV.yy.x; m.v[num2 + 1].y = nqV.xx.y; m.v[num2 + 1].u = nqT.yy.x; m.v[num2 + 1].v = nqT.xx.y; m.v[num2 + 2].x = nqV.xx.x; m.v[num2 + 2].y = nqV.yy.y; m.v[num2 + 2].u = nqT.xx.x; m.v[num2 + 2].v = nqT.yy.y; m.v[num2 + 3].x = nqV.yy.x; m.v[num2 + 3].y = nqV.yy.y; m.v[num2 + 3].u = nqT.yy.x; m.v[num2 + 3].v = nqT.yy.y; m.v[num2 + 4].x = nqV.xx.x; m.v[num2 + 4].y = nqV.zz.y; m.v[num2 + 4].u = nqT.xx.x; m.v[num2 + 4].v = nqT.zz.y; m.v[num2 + 5].x = nqV.yy.x; m.v[num2 + 5].y = nqV.zz.y; m.v[num2 + 5].u = nqT.yy.x; m.v[num2 + 5].v = nqT.zz.y; break; } case 1: { m.v[num2].x = nqV.yy.x; m.v[num2].y = nqV.xx.y; m.v[num2].u = nqT.yy.x; m.v[num2].v = nqT.xx.y; m.v[num2 + 1].x = nqV.zz.x; m.v[num2 + 1].y = nqV.xx.y; m.v[num2 + 1].u = nqT.zz.x; m.v[num2 + 1].v = nqT.xx.y; m.v[num2 + 2].x = nqV.yy.x; m.v[num2 + 2].y = nqV.yy.y; m.v[num2 + 2].u = nqT.yy.x; m.v[num2 + 2].v = nqT.yy.y; m.v[num2 + 3].x = nqV.zz.x; m.v[num2 + 3].y = nqV.yy.y; m.v[num2 + 3].u = nqT.zz.x; m.v[num2 + 3].v = nqT.yy.y; m.v[num2 + 4].x = nqV.yy.x; m.v[num2 + 4].y = nqV.zz.y; m.v[num2 + 4].u = nqT.yy.x; m.v[num2 + 4].v = nqT.zz.y; m.v[num2 + 5].x = nqV.zz.x; m.v[num2 + 5].y = nqV.zz.y; m.v[num2 + 5].u = nqT.zz.x; m.v[num2 + 5].v = nqT.zz.y; break; } case 2: { m.v[num2].x = nqV.zz.x; m.v[num2].y = nqV.xx.y; m.v[num2].u = nqT.zz.x; m.v[num2].v = nqT.xx.y; m.v[num2 + 1].x = nqV.ww.x; m.v[num2 + 1].y = nqV.xx.y; m.v[num2 + 1].u = nqT.ww.x; m.v[num2 + 1].v = nqT.xx.y; m.v[num2 + 2].x = nqV.zz.x; m.v[num2 + 2].y = nqV.yy.y; m.v[num2 + 2].u = nqT.zz.x; m.v[num2 + 2].v = nqT.yy.y; m.v[num2 + 3].x = nqV.ww.x; m.v[num2 + 3].y = nqV.yy.y; m.v[num2 + 3].u = nqT.ww.x; m.v[num2 + 3].v = nqT.yy.y; m.v[num2 + 4].x = nqV.zz.x; m.v[num2 + 4].y = nqV.zz.y; m.v[num2 + 4].u = nqT.zz.x; m.v[num2 + 4].v = nqT.zz.y; m.v[num2 + 5].x = nqV.ww.x; m.v[num2 + 5].y = nqV.zz.y; m.v[num2 + 5].u = nqT.ww.x; m.v[num2 + 5].v = nqT.zz.y; break; } } } }
public override void OnFill(MeshBuffer m) { float single; float single1; Vertex vertex = new Vertex(); Vertex vertex1 = new Vertex(); Vertex vertex2 = new Vertex(); Vertex vertex3 = new Vertex(); float single2 = 0f; float single3 = 0f; float single4 = 1f; float single5 = -1f; float single6 = this.mOuterUV.xMin; float single7 = this.mOuterUV.yMin; float single8 = this.mOuterUV.xMax; float single9 = this.mOuterUV.yMax; if (this.mFillDirection == UIFilledSprite.FillDirection.Horizontal || this.mFillDirection == UIFilledSprite.FillDirection.Vertical) { float single10 = (single8 - single6) * this.mFillAmount; float single11 = (single9 - single7) * this.mFillAmount; if (this.fillDirection == UIFilledSprite.FillDirection.Horizontal) { if (!this.mInvert) { single4 = single4 * this.mFillAmount; single8 = single6 + single10; } else { single2 = 1f - this.mFillAmount; single6 = single8 - single10; } } else if (this.fillDirection == UIFilledSprite.FillDirection.Vertical) { if (!this.mInvert) { single3 = -(1f - this.mFillAmount); single9 = single7 + single11; } else { single5 = single5 * this.mFillAmount; single7 = single9 - single11; } } } Vector2[] vector2 = new Vector2[4]; Vector2[] vector2Array = new Vector2[4]; vector2[0] = new Vector2(single4, single3); vector2[1] = new Vector2(single4, single5); vector2[2] = new Vector2(single2, single5); vector2[3] = new Vector2(single2, single3); vector2Array[0] = new Vector2(single8, single9); vector2Array[1] = new Vector2(single8, single7); vector2Array[2] = new Vector2(single6, single7); vector2Array[3] = new Vector2(single6, single9); Color color = base.color; if (this.fillDirection != UIFilledSprite.FillDirection.Radial90) { if (this.fillDirection == UIFilledSprite.FillDirection.Radial180) { Vector2[] vector21 = new Vector2[4]; Vector2[] vector2Array1 = new Vector2[4]; for (int i = 0; i < 2; i++) { vector21[0] = new Vector2(0f, 0f); vector21[1] = new Vector2(0f, 1f); vector21[2] = new Vector2(1f, 1f); vector21[3] = new Vector2(1f, 0f); vector2Array1[0] = new Vector2(0f, 0f); vector2Array1[1] = new Vector2(0f, 1f); vector2Array1[2] = new Vector2(1f, 1f); vector2Array1[3] = new Vector2(1f, 0f); if (this.mInvert) { if (i > 0) { this.Rotate(vector21, i); this.Rotate(vector2Array1, i); } } else if (i < 1) { this.Rotate(vector21, 1 - i); this.Rotate(vector2Array1, 1 - i); } if (i != 1) { single = (!this.mInvert ? 0.5f : 1f); single1 = (!this.mInvert ? 1f : 0.5f); } else { single = (!this.mInvert ? 1f : 0.5f); single1 = (!this.mInvert ? 0.5f : 1f); } vector21[1].y = Mathf.Lerp(single, single1, vector21[1].y); vector21[2].y = Mathf.Lerp(single, single1, vector21[2].y); vector2Array1[1].y = Mathf.Lerp(single, single1, vector2Array1[1].y); vector2Array1[2].y = Mathf.Lerp(single, single1, vector2Array1[2].y); float single12 = this.mFillAmount * 2f - (float)i; bool flag = i % 2 == 1; if (this.AdjustRadial(vector21, vector2Array1, single12, !flag)) { if (this.mInvert) { flag = !flag; } if (!flag) { int num = m.Alloc(PrimitiveKind.Quad); for (int j = 3; j > -1; j--) { m.v[num].x = Mathf.Lerp(vector2[0].x, vector2[2].x, vector21[j].x); m.v[num].y = Mathf.Lerp(vector2[0].y, vector2[2].y, vector21[j].y); m.v[num].z = 0f; m.v[num].u = Mathf.Lerp(vector2Array[0].x, vector2Array[2].x, vector2Array1[j].x); m.v[num].v = Mathf.Lerp(vector2Array[0].y, vector2Array[2].y, vector2Array1[j].y); m.v[num].r = color.r; m.v[num].g = color.g; m.v[num].b = color.b; m.v[num].a = color.a; num++; } } else { int num1 = m.Alloc(PrimitiveKind.Quad); for (int k = 0; k < 4; k++) { m.v[num1].x = Mathf.Lerp(vector2[0].x, vector2[2].x, vector21[k].x); m.v[num1].y = Mathf.Lerp(vector2[0].y, vector2[2].y, vector21[k].y); m.v[num1].z = 0f; m.v[num1].u = Mathf.Lerp(vector2Array[0].x, vector2Array[2].x, vector2Array1[k].x); m.v[num1].v = Mathf.Lerp(vector2Array[0].y, vector2Array[2].y, vector2Array1[k].y); m.v[num1].r = color.r; m.v[num1].g = color.g; m.v[num1].b = color.b; m.v[num1].a = color.a; num1++; } } } } return; } if (this.fillDirection == UIFilledSprite.FillDirection.Radial360) { float[] singleArray = new float[] { 0.5f, 1f, 0f, 0.5f, 0.5f, 1f, 0.5f, 1f, 0f, 0.5f, 0.5f, 1f, 0f, 0.5f, 0f, 0.5f }; Vector2[] vector22 = new Vector2[4]; Vector2[] vector2Array2 = new Vector2[4]; for (int l = 0; l < 4; l++) { vector22[0] = new Vector2(0f, 0f); vector22[1] = new Vector2(0f, 1f); vector22[2] = new Vector2(1f, 1f); vector22[3] = new Vector2(1f, 0f); vector2Array2[0] = new Vector2(0f, 0f); vector2Array2[1] = new Vector2(0f, 1f); vector2Array2[2] = new Vector2(1f, 1f); vector2Array2[3] = new Vector2(1f, 0f); if (this.mInvert) { if (l > 0) { this.Rotate(vector22, l); this.Rotate(vector2Array2, l); } } else if (l < 3) { this.Rotate(vector22, 3 - l); this.Rotate(vector2Array2, 3 - l); } for (int m1 = 0; m1 < 4; m1++) { int num2 = (!this.mInvert ? l * 4 : (3 - l) * 4); float single13 = singleArray[num2]; float single14 = singleArray[num2 + 1]; float single15 = singleArray[num2 + 2]; float single16 = singleArray[num2 + 3]; vector22[m1].x = Mathf.Lerp(single13, single14, vector22[m1].x); vector22[m1].y = Mathf.Lerp(single15, single16, vector22[m1].y); vector2Array2[m1].x = Mathf.Lerp(single13, single14, vector2Array2[m1].x); vector2Array2[m1].y = Mathf.Lerp(single15, single16, vector2Array2[m1].y); } float single17 = this.mFillAmount * 4f - (float)l; bool flag1 = l % 2 == 1; if (this.AdjustRadial(vector22, vector2Array2, single17, !flag1)) { if (this.mInvert) { flag1 = !flag1; } if (!flag1) { int num3 = m.Alloc(PrimitiveKind.Quad); for (int n = 3; n > -1; n--) { m.v[num3].x = Mathf.Lerp(vector2[0].x, vector2[2].x, vector22[n].x); m.v[num3].y = Mathf.Lerp(vector2[0].y, vector2[2].y, vector22[n].y); m.v[num3].z = 0f; m.v[num3].u = Mathf.Lerp(vector2Array[0].x, vector2Array[2].x, vector2Array2[n].x); m.v[num3].v = Mathf.Lerp(vector2Array[0].y, vector2Array[2].y, vector2Array2[n].y); m.v[num3].r = color.r; m.v[num3].g = color.g; m.v[num3].b = color.b; m.v[num3].a = color.a; num3++; } } else { int num4 = m.Alloc(PrimitiveKind.Quad); for (int o = 0; o < 4; o++) { m.v[num4].x = Mathf.Lerp(vector2[0].x, vector2[2].x, vector22[o].x); m.v[num4].y = Mathf.Lerp(vector2[0].y, vector2[2].y, vector22[o].y); m.v[num4].z = 0f; m.v[num4].u = Mathf.Lerp(vector2Array[0].x, vector2Array[2].x, vector2Array2[o].x); m.v[num4].v = Mathf.Lerp(vector2Array[0].y, vector2Array[2].y, vector2Array2[o].y); m.v[num4].r = color.r; m.v[num4].g = color.g; m.v[num4].b = color.b; m.v[num4].a = color.a; num4++; } } } } return; } } else if (!this.AdjustRadial(vector2, vector2Array, this.mFillAmount, this.mInvert)) { return; } vertex.x = vector2[0].x; vertex.y = vector2[0].y; vertex.u = vector2Array[0].x; vertex.v = vector2Array[0].y; vertex1.x = vector2[1].x; vertex1.y = vector2[1].y; vertex1.u = vector2Array[1].x; vertex1.v = vector2Array[1].y; vertex2.x = vector2[2].x; vertex2.y = vector2[2].y; vertex2.u = vector2Array[2].x; vertex2.v = vector2Array[2].y; vertex3.x = vector2[3].x; vertex3.y = vector2[3].y; vertex3.u = vector2Array[3].x; vertex3.v = vector2Array[3].y; float single18 = 0f; float single19 = single18; vertex3.z = single18; float single20 = single19; single19 = single20; vertex2.z = single20; float single21 = single19; single19 = single21; vertex1.z = single21; vertex.z = single19; float single22 = color.r; single19 = single22; vertex3.r = single22; float single23 = single19; single19 = single23; vertex2.r = single23; float single24 = single19; single19 = single24; vertex1.r = single24; vertex.r = single19; float single25 = color.g; single19 = single25; vertex3.g = single25; float single26 = single19; single19 = single26; vertex2.g = single26; float single27 = single19; single19 = single27; vertex1.g = single27; vertex.g = single19; float single28 = color.b; single19 = single28; vertex3.b = single28; float single29 = single19; single19 = single29; vertex2.b = single29; float single30 = single19; single19 = single30; vertex1.b = single30; vertex.b = single19; float single31 = color.a; single19 = single31; vertex3.a = single31; float single32 = single19; single19 = single32; vertex2.a = single32; float single33 = single19; single19 = single33; vertex1.a = single33; vertex.a = single19; m.Quad(vertex, vertex1, vertex2, vertex3); }
private static void FillColumn3(ref NineRectangle nqV, ref NineRectangle nqT, ref Color color, MeshBuffer m) { if (nqV.xx.y == nqV.yy.y) { if (nqV.yy.y == nqV.zz.y) { if (nqV.zz.y != nqV.ww.y) { int num = m.Alloc(PrimitiveKind.Grid3x1, 0f, color); m.v[num].x = nqV.xx.x; m.v[num].y = nqV.zz.y; m.v[num].u = nqT.xx.x; m.v[num].v = nqT.zz.y; m.v[num + 1].x = nqV.yy.x; m.v[num + 1].y = nqV.zz.y; m.v[num + 1].u = nqT.yy.x; m.v[num + 1].v = nqT.zz.y; m.v[num + 2].x = nqV.zz.x; m.v[num + 2].y = nqV.zz.y; m.v[num + 2].u = nqT.zz.x; m.v[num + 2].v = nqT.zz.y; m.v[num + 3].x = nqV.ww.x; m.v[num + 3].y = nqV.zz.y; m.v[num + 3].u = nqT.ww.x; m.v[num + 3].v = nqT.zz.y; m.v[num + 4].x = nqV.xx.x; m.v[num + 4].y = nqV.ww.y; m.v[num + 4].u = nqT.xx.x; m.v[num + 4].v = nqT.ww.y; m.v[num + 5].x = nqV.yy.x; m.v[num + 5].y = nqV.ww.y; m.v[num + 5].u = nqT.yy.x; m.v[num + 5].v = nqT.ww.y; m.v[num + 6].x = nqV.zz.x; m.v[num + 6].y = nqV.ww.y; m.v[num + 6].u = nqT.zz.x; m.v[num + 6].v = nqT.ww.y; m.v[num + 7].x = nqV.ww.x; m.v[num + 7].y = nqV.ww.y; m.v[num + 7].u = nqT.ww.x; m.v[num + 7].v = nqT.ww.y; } } else if (nqV.zz.y != nqV.ww.y) { int num1 = m.Alloc(PrimitiveKind.Grid3x2, 0f, color); m.v[num1].x = nqV.xx.x; m.v[num1].y = nqV.yy.y; m.v[num1].u = nqT.xx.x; m.v[num1].v = nqT.yy.y; m.v[num1 + 1].x = nqV.yy.x; m.v[num1 + 1].y = nqV.yy.y; m.v[num1 + 1].u = nqT.yy.x; m.v[num1 + 1].v = nqT.yy.y; m.v[num1 + 2].x = nqV.zz.x; m.v[num1 + 2].y = nqV.yy.y; m.v[num1 + 2].u = nqT.zz.x; m.v[num1 + 2].v = nqT.yy.y; m.v[num1 + 3].x = nqV.ww.x; m.v[num1 + 3].y = nqV.yy.y; m.v[num1 + 3].u = nqT.ww.x; m.v[num1 + 3].v = nqT.yy.y; m.v[num1 + 4].x = nqV.xx.x; m.v[num1 + 4].y = nqV.zz.y; m.v[num1 + 4].u = nqT.xx.x; m.v[num1 + 4].v = nqT.zz.y; m.v[num1 + 5].x = nqV.yy.x; m.v[num1 + 5].y = nqV.zz.y; m.v[num1 + 5].u = nqT.yy.x; m.v[num1 + 5].v = nqT.zz.y; m.v[num1 + 6].x = nqV.zz.x; m.v[num1 + 6].y = nqV.zz.y; m.v[num1 + 6].u = nqT.zz.x; m.v[num1 + 6].v = nqT.zz.y; m.v[num1 + 7].x = nqV.ww.x; m.v[num1 + 7].y = nqV.zz.y; m.v[num1 + 7].u = nqT.ww.x; m.v[num1 + 7].v = nqT.zz.y; m.v[num1 + 8].x = nqV.xx.x; m.v[num1 + 8].y = nqV.ww.y; m.v[num1 + 8].u = nqT.xx.x; m.v[num1 + 8].v = nqT.ww.y; m.v[num1 + 9].x = nqV.yy.x; m.v[num1 + 9].y = nqV.ww.y; m.v[num1 + 9].u = nqT.yy.x; m.v[num1 + 9].v = nqT.ww.y; m.v[num1 + 10].x = nqV.zz.x; m.v[num1 + 10].y = nqV.ww.y; m.v[num1 + 10].u = nqT.zz.x; m.v[num1 + 10].v = nqT.ww.y; m.v[num1 + 11].x = nqV.ww.x; m.v[num1 + 11].y = nqV.ww.y; m.v[num1 + 11].u = nqT.ww.x; m.v[num1 + 11].v = nqT.ww.y; } else { int num2 = m.Alloc(PrimitiveKind.Grid3x1, 0f, color); m.v[num2].x = nqV.xx.x; m.v[num2].y = nqV.yy.y; m.v[num2].u = nqT.xx.x; m.v[num2].v = nqT.yy.y; m.v[num2 + 1].x = nqV.yy.x; m.v[num2 + 1].y = nqV.yy.y; m.v[num2 + 1].u = nqT.yy.x; m.v[num2 + 1].v = nqT.yy.y; m.v[num2 + 2].x = nqV.zz.x; m.v[num2 + 2].y = nqV.yy.y; m.v[num2 + 2].u = nqT.zz.x; m.v[num2 + 2].v = nqT.yy.y; m.v[num2 + 3].x = nqV.ww.x; m.v[num2 + 3].y = nqV.yy.y; m.v[num2 + 3].u = nqT.ww.x; m.v[num2 + 3].v = nqT.yy.y; m.v[num2 + 4].x = nqV.xx.x; m.v[num2 + 4].y = nqV.zz.y; m.v[num2 + 4].u = nqT.xx.x; m.v[num2 + 4].v = nqT.zz.y; m.v[num2 + 5].x = nqV.yy.x; m.v[num2 + 5].y = nqV.zz.y; m.v[num2 + 5].u = nqT.yy.x; m.v[num2 + 5].v = nqT.zz.y; m.v[num2 + 6].x = nqV.zz.x; m.v[num2 + 6].y = nqV.zz.y; m.v[num2 + 6].u = nqT.zz.x; m.v[num2 + 6].v = nqT.zz.y; m.v[num2 + 7].x = nqV.ww.x; m.v[num2 + 7].y = nqV.zz.y; m.v[num2 + 7].u = nqT.ww.x; m.v[num2 + 7].v = nqT.zz.y; } } else if (nqV.yy.y == nqV.zz.y) { if (nqV.zz.y != nqV.ww.y) { int num3 = m.Alloc(PrimitiveKind.Grid3x1, 0f, color); m.v[num3].x = nqV.xx.x; m.v[num3].y = nqV.xx.y; m.v[num3].u = nqT.xx.x; m.v[num3].v = nqT.xx.y; m.v[num3 + 1].x = nqV.yy.x; m.v[num3 + 1].y = nqV.xx.y; m.v[num3 + 1].u = nqT.yy.x; m.v[num3 + 1].v = nqT.xx.y; m.v[num3 + 2].x = nqV.zz.x; m.v[num3 + 2].y = nqV.xx.y; m.v[num3 + 2].u = nqT.zz.x; m.v[num3 + 2].v = nqT.xx.y; m.v[num3 + 3].x = nqV.ww.x; m.v[num3 + 3].y = nqV.xx.y; m.v[num3 + 3].u = nqT.ww.x; m.v[num3 + 3].v = nqT.xx.y; m.v[num3 + 4].x = nqV.xx.x; m.v[num3 + 4].y = nqV.yy.y; m.v[num3 + 4].u = nqT.xx.x; m.v[num3 + 4].v = nqT.yy.y; m.v[num3 + 5].x = nqV.yy.x; m.v[num3 + 5].y = nqV.yy.y; m.v[num3 + 5].u = nqT.yy.x; m.v[num3 + 5].v = nqT.yy.y; m.v[num3 + 6].x = nqV.zz.x; m.v[num3 + 6].y = nqV.yy.y; m.v[num3 + 6].u = nqT.zz.x; m.v[num3 + 6].v = nqT.yy.y; m.v[num3 + 7].x = nqV.ww.x; m.v[num3 + 7].y = nqV.yy.y; m.v[num3 + 7].u = nqT.ww.x; m.v[num3 + 7].v = nqT.yy.y; num3 = m.Alloc(PrimitiveKind.Grid3x1, 0f, color); m.v[num3].x = nqV.xx.x; m.v[num3].y = nqV.zz.y; m.v[num3].u = nqT.xx.x; m.v[num3].v = nqT.zz.y; m.v[num3 + 1].x = nqV.yy.x; m.v[num3 + 1].y = nqV.zz.y; m.v[num3 + 1].u = nqT.yy.x; m.v[num3 + 1].v = nqT.zz.y; m.v[num3 + 2].x = nqV.zz.x; m.v[num3 + 2].y = nqV.zz.y; m.v[num3 + 2].u = nqT.zz.x; m.v[num3 + 2].v = nqT.zz.y; m.v[num3 + 3].x = nqV.ww.x; m.v[num3 + 3].y = nqV.zz.y; m.v[num3 + 3].u = nqT.ww.x; m.v[num3 + 3].v = nqT.zz.y; m.v[num3 + 4].x = nqV.xx.x; m.v[num3 + 4].y = nqV.ww.y; m.v[num3 + 4].u = nqT.xx.x; m.v[num3 + 4].v = nqT.ww.y; m.v[num3 + 5].x = nqV.yy.x; m.v[num3 + 5].y = nqV.ww.y; m.v[num3 + 5].u = nqT.yy.x; m.v[num3 + 5].v = nqT.ww.y; m.v[num3 + 6].x = nqV.zz.x; m.v[num3 + 6].y = nqV.ww.y; m.v[num3 + 6].u = nqT.zz.x; m.v[num3 + 6].v = nqT.ww.y; m.v[num3 + 7].x = nqV.ww.x; m.v[num3 + 7].y = nqV.ww.y; m.v[num3 + 7].u = nqT.ww.x; m.v[num3 + 7].v = nqT.ww.y; } else { int num4 = m.Alloc(PrimitiveKind.Grid3x1, 0f, color); m.v[num4].x = nqV.xx.x; m.v[num4].y = nqV.xx.y; m.v[num4].u = nqT.xx.x; m.v[num4].v = nqT.xx.y; m.v[num4 + 1].x = nqV.yy.x; m.v[num4 + 1].y = nqV.xx.y; m.v[num4 + 1].u = nqT.yy.x; m.v[num4 + 1].v = nqT.xx.y; m.v[num4 + 2].x = nqV.zz.x; m.v[num4 + 2].y = nqV.xx.y; m.v[num4 + 2].u = nqT.zz.x; m.v[num4 + 2].v = nqT.xx.y; m.v[num4 + 3].x = nqV.ww.x; m.v[num4 + 3].y = nqV.xx.y; m.v[num4 + 3].u = nqT.ww.x; m.v[num4 + 3].v = nqT.xx.y; m.v[num4 + 4].x = nqV.xx.x; m.v[num4 + 4].y = nqV.yy.y; m.v[num4 + 4].u = nqT.xx.x; m.v[num4 + 4].v = nqT.yy.y; m.v[num4 + 5].x = nqV.yy.x; m.v[num4 + 5].y = nqV.yy.y; m.v[num4 + 5].u = nqT.yy.x; m.v[num4 + 5].v = nqT.yy.y; m.v[num4 + 6].x = nqV.zz.x; m.v[num4 + 6].y = nqV.yy.y; m.v[num4 + 6].u = nqT.zz.x; m.v[num4 + 6].v = nqT.yy.y; m.v[num4 + 7].x = nqV.ww.x; m.v[num4 + 7].y = nqV.yy.y; m.v[num4 + 7].u = nqT.ww.x; m.v[num4 + 7].v = nqT.yy.y; } } else if (nqV.zz.y != nqV.ww.y) { NineRectangle.Commit3x3(m.Alloc(PrimitiveKind.Grid3x3), ref nqV, ref nqT, ref color, m); } else { int num5 = m.Alloc(PrimitiveKind.Grid3x2, 0f, color); m.v[num5].x = nqV.xx.x; m.v[num5].y = nqV.xx.y; m.v[num5].u = nqT.xx.x; m.v[num5].v = nqT.xx.y; m.v[num5 + 1].x = nqV.yy.x; m.v[num5 + 1].y = nqV.xx.y; m.v[num5 + 1].u = nqT.yy.x; m.v[num5 + 1].v = nqT.xx.y; m.v[num5 + 2].x = nqV.zz.x; m.v[num5 + 2].y = nqV.xx.y; m.v[num5 + 2].u = nqT.zz.x; m.v[num5 + 2].v = nqT.xx.y; m.v[num5 + 3].x = nqV.ww.x; m.v[num5 + 3].y = nqV.xx.y; m.v[num5 + 3].u = nqT.ww.x; m.v[num5 + 3].v = nqT.xx.y; m.v[num5 + 4].x = nqV.xx.x; m.v[num5 + 4].y = nqV.yy.y; m.v[num5 + 4].u = nqT.xx.x; m.v[num5 + 4].v = nqT.yy.y; m.v[num5 + 5].x = nqV.yy.x; m.v[num5 + 5].y = nqV.yy.y; m.v[num5 + 5].u = nqT.yy.x; m.v[num5 + 5].v = nqT.yy.y; m.v[num5 + 6].x = nqV.zz.x; m.v[num5 + 6].y = nqV.yy.y; m.v[num5 + 6].u = nqT.zz.x; m.v[num5 + 6].v = nqT.yy.y; m.v[num5 + 7].x = nqV.ww.x; m.v[num5 + 7].y = nqV.yy.y; m.v[num5 + 7].u = nqT.ww.x; m.v[num5 + 7].v = nqT.yy.y; m.v[num5 + 8].x = nqV.xx.x; m.v[num5 + 8].y = nqV.zz.y; m.v[num5 + 8].u = nqT.xx.x; m.v[num5 + 8].v = nqT.zz.y; m.v[num5 + 9].x = nqV.yy.x; m.v[num5 + 9].y = nqV.zz.y; m.v[num5 + 9].u = nqT.yy.x; m.v[num5 + 9].v = nqT.zz.y; m.v[num5 + 10].x = nqV.zz.x; m.v[num5 + 10].y = nqV.zz.y; m.v[num5 + 10].u = nqT.zz.x; m.v[num5 + 10].v = nqT.zz.y; m.v[num5 + 11].x = nqV.ww.x; m.v[num5 + 11].y = nqV.zz.y; m.v[num5 + 11].u = nqT.ww.x; m.v[num5 + 11].v = nqT.zz.y; } }
public static void Fill8(ref NineRectangle nqV, ref NineRectangle nqT, ref Color color, MeshBuffer m) { NineRectangle.Commit3x3(m.Alloc(PrimitiveKind.Hole3x3), ref nqV, ref nqT, ref color, m); }
private static void FillColumn2(ref NineRectangle nqV, ref NineRectangle nqT, int columnStart, ref Color color, MeshBuffer m) { int num; int num1; int num2; int num3; int num4; int num5; int num6; if (nqV.xx.y == nqV.yy.y) { if (nqV.yy.y == nqV.zz.y) { if (nqV.zz.y != nqV.ww.y) { switch (columnStart) { case 0: { num = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num].x = nqV.xx.x; m.v[num].y = nqV.zz.y; m.v[num].u = nqT.xx.x; m.v[num].v = nqT.zz.y; m.v[num + 1].x = nqV.yy.x; m.v[num + 1].y = nqV.zz.y; m.v[num + 1].u = nqT.yy.x; m.v[num + 1].v = nqT.zz.y; m.v[num + 2].x = nqV.zz.x; m.v[num + 2].y = nqV.zz.y; m.v[num + 2].u = nqT.zz.x; m.v[num + 2].v = nqT.zz.y; m.v[num + 3].x = nqV.xx.x; m.v[num + 3].y = nqV.ww.y; m.v[num + 3].u = nqT.xx.x; m.v[num + 3].v = nqT.ww.y; m.v[num + 4].x = nqV.yy.x; m.v[num + 4].y = nqV.ww.y; m.v[num + 4].u = nqT.yy.x; m.v[num + 4].v = nqT.ww.y; m.v[num + 5].x = nqV.zz.x; m.v[num + 5].y = nqV.ww.y; m.v[num + 5].u = nqT.zz.x; m.v[num + 5].v = nqT.ww.y; break; } case 1: { num = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num].x = nqV.yy.x; m.v[num].y = nqV.zz.y; m.v[num].u = nqT.yy.x; m.v[num].v = nqT.zz.y; m.v[num + 1].x = nqV.zz.x; m.v[num + 1].y = nqV.zz.y; m.v[num + 1].u = nqT.zz.x; m.v[num + 1].v = nqT.zz.y; m.v[num + 2].x = nqV.ww.x; m.v[num + 2].y = nqV.zz.y; m.v[num + 2].u = nqT.ww.x; m.v[num + 2].v = nqT.zz.y; m.v[num + 3].x = nqV.yy.x; m.v[num + 3].y = nqV.ww.y; m.v[num + 3].u = nqT.yy.x; m.v[num + 3].v = nqT.ww.y; m.v[num + 4].x = nqV.zz.x; m.v[num + 4].y = nqV.ww.y; m.v[num + 4].u = nqT.zz.x; m.v[num + 4].v = nqT.ww.y; m.v[num + 5].x = nqV.ww.x; m.v[num + 5].y = nqV.ww.y; m.v[num + 5].u = nqT.ww.x; m.v[num + 5].v = nqT.ww.y; break; } case 2: { m.FastCell(nqV.xz, nqV.yw, nqT.xz, nqT.yw, ref color); m.FastCell(nqV.zz, nqV.ww, nqT.zz, nqT.ww, ref color); break; } } } } else if (nqV.zz.y != nqV.ww.y) { switch (columnStart) { case 0: { num2 = m.Alloc(PrimitiveKind.Grid2x2, 0f, color); m.v[num2].x = nqV.xx.x; m.v[num2].y = nqV.yy.y; m.v[num2].u = nqT.xx.x; m.v[num2].v = nqT.yy.y; m.v[num2 + 1].x = nqV.yy.x; m.v[num2 + 1].y = nqV.yy.y; m.v[num2 + 1].u = nqT.yy.x; m.v[num2 + 1].v = nqT.yy.y; m.v[num2 + 2].x = nqV.zz.x; m.v[num2 + 2].y = nqV.yy.y; m.v[num2 + 2].u = nqT.zz.x; m.v[num2 + 2].v = nqT.yy.y; m.v[num2 + 3].x = nqV.xx.x; m.v[num2 + 3].y = nqV.zz.y; m.v[num2 + 3].u = nqT.xx.x; m.v[num2 + 3].v = nqT.zz.y; m.v[num2 + 4].x = nqV.yy.x; m.v[num2 + 4].y = nqV.zz.y; m.v[num2 + 4].u = nqT.yy.x; m.v[num2 + 4].v = nqT.zz.y; m.v[num2 + 5].x = nqV.zz.x; m.v[num2 + 5].y = nqV.zz.y; m.v[num2 + 5].u = nqT.zz.x; m.v[num2 + 5].v = nqT.zz.y; m.v[num2 + 6].x = nqV.xx.x; m.v[num2 + 6].y = nqV.ww.y; m.v[num2 + 6].u = nqT.xx.x; m.v[num2 + 6].v = nqT.ww.y; m.v[num2 + 7].x = nqV.yy.x; m.v[num2 + 7].y = nqV.ww.y; m.v[num2 + 7].u = nqT.yy.x; m.v[num2 + 7].v = nqT.ww.y; m.v[num2 + 8].x = nqV.zz.x; m.v[num2 + 8].y = nqV.ww.y; m.v[num2 + 8].u = nqT.zz.x; m.v[num2 + 8].v = nqT.ww.y; break; } case 1: { num2 = m.Alloc(PrimitiveKind.Grid2x2, 0f, color); m.v[num2].x = nqV.yy.x; m.v[num2].y = nqV.yy.y; m.v[num2].u = nqT.yy.x; m.v[num2].v = nqT.yy.y; m.v[num2 + 1].x = nqV.zz.x; m.v[num2 + 1].y = nqV.yy.y; m.v[num2 + 1].u = nqT.zz.x; m.v[num2 + 1].v = nqT.yy.y; m.v[num2 + 2].x = nqV.ww.x; m.v[num2 + 2].y = nqV.yy.y; m.v[num2 + 2].u = nqT.ww.x; m.v[num2 + 2].v = nqT.yy.y; m.v[num2 + 3].x = nqV.yy.x; m.v[num2 + 3].y = nqV.zz.y; m.v[num2 + 3].u = nqT.yy.x; m.v[num2 + 3].v = nqT.zz.y; m.v[num2 + 4].x = nqV.zz.x; m.v[num2 + 4].y = nqV.zz.y; m.v[num2 + 4].u = nqT.zz.x; m.v[num2 + 4].v = nqT.zz.y; m.v[num2 + 5].x = nqV.ww.x; m.v[num2 + 5].y = nqV.zz.y; m.v[num2 + 5].u = nqT.ww.x; m.v[num2 + 5].v = nqT.zz.y; m.v[num2 + 6].x = nqV.yy.x; m.v[num2 + 6].y = nqV.ww.y; m.v[num2 + 6].u = nqT.yy.x; m.v[num2 + 6].v = nqT.ww.y; m.v[num2 + 7].x = nqV.zz.x; m.v[num2 + 7].y = nqV.ww.y; m.v[num2 + 7].u = nqT.zz.x; m.v[num2 + 7].v = nqT.ww.y; m.v[num2 + 8].x = nqV.ww.x; m.v[num2 + 8].y = nqV.ww.y; m.v[num2 + 8].u = nqT.ww.x; m.v[num2 + 8].v = nqT.ww.y; break; } case 2: { num2 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num2].x = nqV.xx.x; m.v[num2].y = nqV.yy.y; m.v[num2].u = nqT.xx.x; m.v[num2].v = nqT.yy.y; m.v[num2 + 1].x = nqV.yy.x; m.v[num2 + 1].y = nqV.yy.y; m.v[num2 + 1].u = nqT.yy.x; m.v[num2 + 1].v = nqT.yy.y; m.v[num2 + 2].x = nqV.xx.x; m.v[num2 + 2].y = nqV.zz.y; m.v[num2 + 2].u = nqT.xx.x; m.v[num2 + 2].v = nqT.zz.y; m.v[num2 + 3].x = nqV.yy.x; m.v[num2 + 3].y = nqV.zz.y; m.v[num2 + 3].u = nqT.yy.x; m.v[num2 + 3].v = nqT.zz.y; m.v[num2 + 4].x = nqV.yy.x; m.v[num2 + 4].y = nqV.ww.y; m.v[num2 + 4].u = nqT.yy.x; m.v[num2 + 4].v = nqT.ww.y; m.v[num2 + 5].x = nqV.zz.x; m.v[num2 + 5].y = nqV.ww.y; m.v[num2 + 5].u = nqT.zz.x; m.v[num2 + 5].v = nqT.ww.y; num2 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num2].x = nqV.zz.x; m.v[num2].y = nqV.yy.y; m.v[num2].u = nqT.zz.x; m.v[num2].v = nqT.yy.y; m.v[num2 + 1].x = nqV.ww.x; m.v[num2 + 1].y = nqV.yy.y; m.v[num2 + 1].u = nqT.ww.x; m.v[num2 + 1].v = nqT.yy.y; m.v[num2 + 2].x = nqV.zz.x; m.v[num2 + 2].y = nqV.zz.y; m.v[num2 + 2].u = nqT.zz.x; m.v[num2 + 2].v = nqT.zz.y; m.v[num2 + 3].x = nqV.ww.x; m.v[num2 + 3].y = nqV.zz.y; m.v[num2 + 3].u = nqT.ww.x; m.v[num2 + 3].v = nqT.zz.y; m.v[num2 + 4].x = nqV.zz.x; m.v[num2 + 4].y = nqV.ww.y; m.v[num2 + 4].u = nqT.zz.x; m.v[num2 + 4].v = nqT.ww.y; m.v[num2 + 5].x = nqV.ww.x; m.v[num2 + 5].y = nqV.ww.y; m.v[num2 + 5].u = nqT.ww.x; m.v[num2 + 5].v = nqT.ww.y; break; } } } else { switch (columnStart) { case 0: { num1 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num1].x = nqV.xx.x; m.v[num1].y = nqV.yy.y; m.v[num1].u = nqT.xx.x; m.v[num1].v = nqT.yy.y; m.v[num1 + 1].x = nqV.yy.x; m.v[num1 + 1].y = nqV.yy.y; m.v[num1 + 1].u = nqT.yy.x; m.v[num1 + 1].v = nqT.yy.y; m.v[num1 + 2].x = nqV.zz.x; m.v[num1 + 2].y = nqV.yy.y; m.v[num1 + 2].u = nqT.zz.x; m.v[num1 + 2].v = nqT.yy.y; m.v[num1 + 3].x = nqV.xx.x; m.v[num1 + 3].y = nqV.zz.y; m.v[num1 + 3].u = nqT.xx.x; m.v[num1 + 3].v = nqT.zz.y; m.v[num1 + 4].x = nqV.yy.x; m.v[num1 + 4].y = nqV.zz.y; m.v[num1 + 4].u = nqT.yy.x; m.v[num1 + 4].v = nqT.zz.y; m.v[num1 + 5].x = nqV.zz.x; m.v[num1 + 5].y = nqV.zz.y; m.v[num1 + 5].u = nqT.zz.x; m.v[num1 + 5].v = nqT.zz.y; break; } case 1: { num1 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num1].x = nqV.yy.x; m.v[num1].y = nqV.yy.y; m.v[num1].u = nqT.yy.x; m.v[num1].v = nqT.yy.y; m.v[num1 + 1].x = nqV.zz.x; m.v[num1 + 1].y = nqV.yy.y; m.v[num1 + 1].u = nqT.zz.x; m.v[num1 + 1].v = nqT.yy.y; m.v[num1 + 2].x = nqV.ww.x; m.v[num1 + 2].y = nqV.yy.y; m.v[num1 + 2].u = nqT.ww.x; m.v[num1 + 2].v = nqT.yy.y; m.v[num1 + 3].x = nqV.yy.x; m.v[num1 + 3].y = nqV.zz.y; m.v[num1 + 3].u = nqT.yy.x; m.v[num1 + 3].v = nqT.zz.y; m.v[num1 + 4].x = nqV.zz.x; m.v[num1 + 4].y = nqV.zz.y; m.v[num1 + 4].u = nqT.zz.x; m.v[num1 + 4].v = nqT.zz.y; m.v[num1 + 5].x = nqV.ww.x; m.v[num1 + 5].y = nqV.zz.y; m.v[num1 + 5].u = nqT.ww.x; m.v[num1 + 5].v = nqT.zz.y; break; } case 2: { m.FastCell(nqV.xy, nqV.yz, nqT.xy, nqT.yz, ref color); m.FastCell(nqV.zy, nqV.wz, nqT.zy, nqT.wz, ref color); break; } } } } else if (nqV.yy.y == nqV.zz.y) { if (nqV.zz.y != nqV.ww.y) { switch (columnStart) { case 0: { num4 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num4].x = nqV.xx.x; m.v[num4].y = nqV.xx.y; m.v[num4].u = nqT.xx.x; m.v[num4].v = nqT.xx.y; m.v[num4 + 1].x = nqV.yy.x; m.v[num4 + 1].y = nqV.xx.y; m.v[num4 + 1].u = nqT.yy.x; m.v[num4 + 1].v = nqT.xx.y; m.v[num4 + 2].x = nqV.zz.x; m.v[num4 + 2].y = nqV.xx.y; m.v[num4 + 2].u = nqT.zz.x; m.v[num4 + 2].v = nqT.xx.y; m.v[num4 + 3].x = nqV.xx.x; m.v[num4 + 3].y = nqV.yy.y; m.v[num4 + 3].u = nqT.xx.x; m.v[num4 + 3].v = nqT.yy.y; m.v[num4 + 4].x = nqV.yy.x; m.v[num4 + 4].y = nqV.yy.y; m.v[num4 + 4].u = nqT.yy.x; m.v[num4 + 4].v = nqT.yy.y; m.v[num4 + 5].x = nqV.zz.x; m.v[num4 + 5].y = nqV.yy.y; m.v[num4 + 5].u = nqT.zz.x; m.v[num4 + 5].v = nqT.yy.y; num4 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num4].x = nqV.xx.x; m.v[num4].y = nqV.zz.y; m.v[num4].u = nqT.xx.x; m.v[num4].v = nqT.zz.y; m.v[num4 + 1].x = nqV.yy.x; m.v[num4 + 1].y = nqV.zz.y; m.v[num4 + 1].u = nqT.yy.x; m.v[num4 + 1].v = nqT.zz.y; m.v[num4 + 2].x = nqV.zz.x; m.v[num4 + 2].y = nqV.zz.y; m.v[num4 + 2].u = nqT.zz.x; m.v[num4 + 2].v = nqT.zz.y; m.v[num4 + 3].x = nqV.xx.x; m.v[num4 + 3].y = nqV.ww.y; m.v[num4 + 3].u = nqT.xx.x; m.v[num4 + 3].v = nqT.ww.y; m.v[num4 + 4].x = nqV.yy.x; m.v[num4 + 4].y = nqV.ww.y; m.v[num4 + 4].u = nqT.yy.x; m.v[num4 + 4].v = nqT.ww.y; m.v[num4 + 5].x = nqV.zz.x; m.v[num4 + 5].y = nqV.ww.y; m.v[num4 + 5].u = nqT.zz.x; m.v[num4 + 5].v = nqT.ww.y; break; } case 1: { num4 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num4].x = nqV.yy.x; m.v[num4].y = nqV.xx.y; m.v[num4].u = nqT.yy.x; m.v[num4].v = nqT.xx.y; m.v[num4 + 1].x = nqV.zz.x; m.v[num4 + 1].y = nqV.xx.y; m.v[num4 + 1].u = nqT.zz.x; m.v[num4 + 1].v = nqT.xx.y; m.v[num4 + 2].x = nqV.ww.x; m.v[num4 + 2].y = nqV.xx.y; m.v[num4 + 2].u = nqT.ww.x; m.v[num4 + 2].v = nqT.xx.y; m.v[num4 + 3].x = nqV.yy.x; m.v[num4 + 3].y = nqV.yy.y; m.v[num4 + 3].u = nqT.yy.x; m.v[num4 + 3].v = nqT.yy.y; m.v[num4 + 4].x = nqV.zz.x; m.v[num4 + 4].y = nqV.yy.y; m.v[num4 + 4].u = nqT.zz.x; m.v[num4 + 4].v = nqT.yy.y; m.v[num4 + 5].x = nqV.ww.x; m.v[num4 + 5].y = nqV.yy.y; m.v[num4 + 5].u = nqT.ww.x; m.v[num4 + 5].v = nqT.yy.y; num4 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num4].x = nqV.yy.x; m.v[num4].y = nqV.zz.y; m.v[num4].u = nqT.yy.x; m.v[num4].v = nqT.zz.y; m.v[num4 + 1].x = nqV.zz.x; m.v[num4 + 1].y = nqV.zz.y; m.v[num4 + 1].u = nqT.zz.x; m.v[num4 + 1].v = nqT.zz.y; m.v[num4 + 2].x = nqV.ww.x; m.v[num4 + 2].y = nqV.zz.y; m.v[num4 + 2].u = nqT.ww.x; m.v[num4 + 2].v = nqT.zz.y; m.v[num4 + 3].x = nqV.yy.x; m.v[num4 + 3].y = nqV.ww.y; m.v[num4 + 3].u = nqT.yy.x; m.v[num4 + 3].v = nqT.ww.y; m.v[num4 + 4].x = nqV.zz.x; m.v[num4 + 4].y = nqV.ww.y; m.v[num4 + 4].u = nqT.zz.x; m.v[num4 + 4].v = nqT.ww.y; m.v[num4 + 5].x = nqV.ww.x; m.v[num4 + 5].y = nqV.ww.y; m.v[num4 + 5].u = nqT.ww.x; m.v[num4 + 5].v = nqT.ww.y; break; } case 2: { m.FastCell(nqV.xx, nqV.yy, nqT.xx, nqT.yy, ref color); m.FastCell(nqV.zx, nqV.wy, nqT.zx, nqT.wy, ref color); m.FastCell(nqV.xz, nqV.yw, nqT.xz, nqT.yw, ref color); m.FastCell(nqV.zz, nqV.ww, nqT.zz, nqT.ww, ref color); break; } } } else { switch (columnStart) { case 0: { num3 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num3].x = nqV.xx.x; m.v[num3].y = nqV.xx.y; m.v[num3].u = nqT.xx.x; m.v[num3].v = nqT.xx.y; m.v[num3 + 1].x = nqV.yy.x; m.v[num3 + 1].y = nqV.xx.y; m.v[num3 + 1].u = nqT.yy.x; m.v[num3 + 1].v = nqT.xx.y; m.v[num3 + 2].x = nqV.zz.x; m.v[num3 + 2].y = nqV.xx.y; m.v[num3 + 2].u = nqT.zz.x; m.v[num3 + 2].v = nqT.xx.y; m.v[num3 + 3].x = nqV.xx.x; m.v[num3 + 3].y = nqV.yy.y; m.v[num3 + 3].u = nqT.xx.x; m.v[num3 + 3].v = nqT.yy.y; m.v[num3 + 4].x = nqV.yy.x; m.v[num3 + 4].y = nqV.yy.y; m.v[num3 + 4].u = nqT.yy.x; m.v[num3 + 4].v = nqT.yy.y; m.v[num3 + 5].x = nqV.zz.x; m.v[num3 + 5].y = nqV.yy.y; m.v[num3 + 5].u = nqT.zz.x; m.v[num3 + 5].v = nqT.yy.y; break; } case 1: { num3 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num3].x = nqV.yy.x; m.v[num3].y = nqV.xx.y; m.v[num3].u = nqT.yy.x; m.v[num3].v = nqT.xx.y; m.v[num3 + 1].x = nqV.zz.x; m.v[num3 + 1].y = nqV.xx.y; m.v[num3 + 1].u = nqT.zz.x; m.v[num3 + 1].v = nqT.xx.y; m.v[num3 + 2].x = nqV.ww.x; m.v[num3 + 2].y = nqV.xx.y; m.v[num3 + 2].u = nqT.ww.x; m.v[num3 + 2].v = nqT.xx.y; m.v[num3 + 3].x = nqV.yy.x; m.v[num3 + 3].y = nqV.yy.y; m.v[num3 + 3].u = nqT.yy.x; m.v[num3 + 3].v = nqT.yy.y; m.v[num3 + 4].x = nqV.zz.x; m.v[num3 + 4].y = nqV.yy.y; m.v[num3 + 4].u = nqT.zz.x; m.v[num3 + 4].v = nqT.yy.y; m.v[num3 + 5].x = nqV.ww.x; m.v[num3 + 5].y = nqV.yy.y; m.v[num3 + 5].u = nqT.ww.x; m.v[num3 + 5].v = nqT.yy.y; break; } case 2: { m.FastCell(nqV.xx, nqV.yy, nqT.xx, nqT.yy, ref color); m.FastCell(nqV.zx, nqV.wy, nqT.zx, nqT.wy, ref color); break; } } } } else if (nqV.zz.y != nqV.ww.y) { switch (columnStart) { case 0: { num6 = m.Alloc(PrimitiveKind.Grid2x3, 0f, color); m.v[num6].x = nqV.xx.x; m.v[num6].y = nqV.xx.y; m.v[num6].u = nqT.xx.x; m.v[num6].v = nqT.xx.y; m.v[num6 + 1].x = nqV.yy.x; m.v[num6 + 1].y = nqV.xx.y; m.v[num6 + 1].u = nqT.yy.x; m.v[num6 + 1].v = nqT.xx.y; m.v[num6 + 2].x = nqV.zz.x; m.v[num6 + 2].y = nqV.xx.y; m.v[num6 + 2].u = nqT.zz.x; m.v[num6 + 2].v = nqT.xx.y; m.v[num6 + 3].x = nqV.xx.x; m.v[num6 + 3].y = nqV.yy.y; m.v[num6 + 3].u = nqT.xx.x; m.v[num6 + 3].v = nqT.yy.y; m.v[num6 + 4].x = nqV.yy.x; m.v[num6 + 4].y = nqV.yy.y; m.v[num6 + 4].u = nqT.yy.x; m.v[num6 + 4].v = nqT.yy.y; m.v[num6 + 5].x = nqV.zz.x; m.v[num6 + 5].y = nqV.yy.y; m.v[num6 + 5].u = nqT.zz.x; m.v[num6 + 5].v = nqT.yy.y; m.v[num6 + 6].x = nqV.xx.x; m.v[num6 + 6].y = nqV.zz.y; m.v[num6 + 6].u = nqT.xx.x; m.v[num6 + 6].v = nqT.zz.y; m.v[num6 + 7].x = nqV.yy.x; m.v[num6 + 7].y = nqV.zz.y; m.v[num6 + 7].u = nqT.yy.x; m.v[num6 + 7].v = nqT.zz.y; m.v[num6 + 8].x = nqV.zz.x; m.v[num6 + 8].y = nqV.zz.y; m.v[num6 + 8].u = nqT.zz.x; m.v[num6 + 8].v = nqT.zz.y; m.v[num6 + 9].x = nqV.xx.x; m.v[num6 + 9].y = nqV.ww.y; m.v[num6 + 9].u = nqT.xx.x; m.v[num6 + 9].v = nqT.ww.y; m.v[num6 + 10].x = nqV.yy.x; m.v[num6 + 10].y = nqV.ww.y; m.v[num6 + 10].u = nqT.yy.x; m.v[num6 + 10].v = nqT.ww.y; m.v[num6 + 11].x = nqV.zz.x; m.v[num6 + 11].y = nqV.ww.y; m.v[num6 + 11].u = nqT.zz.x; m.v[num6 + 11].v = nqT.ww.y; break; } case 1: { num6 = m.Alloc(PrimitiveKind.Grid2x3, 0f, color); m.v[num6].x = nqV.yy.x; m.v[num6].y = nqV.xx.y; m.v[num6].u = nqT.yy.x; m.v[num6].v = nqT.xx.y; m.v[num6 + 1].x = nqV.zz.x; m.v[num6 + 1].y = nqV.xx.y; m.v[num6 + 1].u = nqT.zz.x; m.v[num6 + 1].v = nqT.xx.y; m.v[num6 + 2].x = nqV.ww.x; m.v[num6 + 2].y = nqV.xx.y; m.v[num6 + 2].u = nqT.ww.x; m.v[num6 + 2].v = nqT.xx.y; m.v[num6 + 3].x = nqV.yy.x; m.v[num6 + 3].y = nqV.yy.y; m.v[num6 + 3].u = nqT.yy.x; m.v[num6 + 3].v = nqT.yy.y; m.v[num6 + 4].x = nqV.zz.x; m.v[num6 + 4].y = nqV.yy.y; m.v[num6 + 4].u = nqT.zz.x; m.v[num6 + 4].v = nqT.yy.y; m.v[num6 + 5].x = nqV.ww.x; m.v[num6 + 5].y = nqV.yy.y; m.v[num6 + 5].u = nqT.ww.x; m.v[num6 + 5].v = nqT.yy.y; m.v[num6 + 6].x = nqV.yy.x; m.v[num6 + 6].y = nqV.zz.y; m.v[num6 + 6].u = nqT.yy.x; m.v[num6 + 6].v = nqT.zz.y; m.v[num6 + 7].x = nqV.zz.x; m.v[num6 + 7].y = nqV.zz.y; m.v[num6 + 7].u = nqT.zz.x; m.v[num6 + 7].v = nqT.zz.y; m.v[num6 + 8].x = nqV.ww.x; m.v[num6 + 8].y = nqV.zz.y; m.v[num6 + 8].u = nqT.ww.x; m.v[num6 + 8].v = nqT.zz.y; m.v[num6 + 9].x = nqV.yy.x; m.v[num6 + 9].y = nqV.ww.y; m.v[num6 + 9].u = nqT.yy.x; m.v[num6 + 9].v = nqT.ww.y; m.v[num6 + 10].x = nqV.zz.x; m.v[num6 + 10].y = nqV.ww.y; m.v[num6 + 10].u = nqT.zz.x; m.v[num6 + 10].v = nqT.ww.y; m.v[num6 + 11].x = nqV.ww.x; m.v[num6 + 11].y = nqV.ww.y; m.v[num6 + 11].u = nqT.ww.x; m.v[num6 + 11].v = nqT.ww.y; break; } case 2: { num6 = m.Alloc(PrimitiveKind.Grid1x3, 0f, color); m.v[num6].x = nqV.xx.x; m.v[num6].y = nqV.xx.y; m.v[num6].u = nqT.xx.x; m.v[num6].v = nqT.xx.y; m.v[num6 + 1].x = nqV.yy.x; m.v[num6 + 1].y = nqV.xx.y; m.v[num6 + 1].u = nqT.yy.x; m.v[num6 + 1].v = nqT.xx.y; m.v[num6 + 2].x = nqV.xx.x; m.v[num6 + 2].y = nqV.yy.y; m.v[num6 + 2].u = nqT.xx.x; m.v[num6 + 2].v = nqT.yy.y; m.v[num6 + 3].x = nqV.yy.x; m.v[num6 + 3].y = nqV.yy.y; m.v[num6 + 3].u = nqT.yy.x; m.v[num6 + 3].v = nqT.yy.y; m.v[num6 + 4].x = nqV.xx.x; m.v[num6 + 4].y = nqV.zz.y; m.v[num6 + 4].u = nqT.xx.x; m.v[num6 + 4].v = nqT.zz.y; m.v[num6 + 5].x = nqV.yy.x; m.v[num6 + 5].y = nqV.zz.y; m.v[num6 + 5].u = nqT.yy.x; m.v[num6 + 5].v = nqT.zz.y; m.v[num6 + 6].x = nqV.xx.x; m.v[num6 + 6].y = nqV.ww.y; m.v[num6 + 6].u = nqT.xx.x; m.v[num6 + 6].v = nqT.ww.y; m.v[num6 + 7].x = nqV.yy.x; m.v[num6 + 7].y = nqV.ww.y; m.v[num6 + 7].u = nqT.yy.x; m.v[num6 + 7].v = nqT.ww.y; num6 = m.Alloc(PrimitiveKind.Grid1x3, 0f, color); m.v[num6].x = nqV.zz.x; m.v[num6].y = nqV.xx.y; m.v[num6].u = nqT.zz.x; m.v[num6].v = nqT.xx.y; m.v[num6 + 1].x = nqV.ww.x; m.v[num6 + 1].y = nqV.xx.y; m.v[num6 + 1].u = nqT.ww.x; m.v[num6 + 1].v = nqT.xx.y; m.v[num6 + 2].x = nqV.zz.x; m.v[num6 + 2].y = nqV.yy.y; m.v[num6 + 2].u = nqT.zz.x; m.v[num6 + 2].v = nqT.yy.y; m.v[num6 + 3].x = nqV.ww.x; m.v[num6 + 3].y = nqV.yy.y; m.v[num6 + 3].u = nqT.ww.x; m.v[num6 + 3].v = nqT.yy.y; m.v[num6 + 4].x = nqV.zz.x; m.v[num6 + 4].y = nqV.zz.y; m.v[num6 + 4].u = nqT.zz.x; m.v[num6 + 4].v = nqT.zz.y; m.v[num6 + 5].x = nqV.ww.x; m.v[num6 + 5].y = nqV.zz.y; m.v[num6 + 5].u = nqT.ww.x; m.v[num6 + 5].v = nqT.zz.y; m.v[num6 + 6].x = nqV.zz.x; m.v[num6 + 6].y = nqV.ww.y; m.v[num6 + 6].u = nqT.zz.x; m.v[num6 + 6].v = nqT.ww.y; m.v[num6 + 7].x = nqV.ww.x; m.v[num6 + 7].y = nqV.ww.y; m.v[num6 + 7].u = nqT.ww.x; m.v[num6 + 7].v = nqT.ww.y; break; } } } else { switch (columnStart) { case 0: { num5 = m.Alloc(PrimitiveKind.Grid2x2, 0f, color); m.v[num5].x = nqV.xx.x; m.v[num5].y = nqV.xx.y; m.v[num5].u = nqT.xx.x; m.v[num5].v = nqT.xx.y; m.v[num5 + 1].x = nqV.yy.x; m.v[num5 + 1].y = nqV.xx.y; m.v[num5 + 1].u = nqT.yy.x; m.v[num5 + 1].v = nqT.xx.y; m.v[num5 + 2].x = nqV.zz.x; m.v[num5 + 2].y = nqV.xx.y; m.v[num5 + 2].u = nqT.zz.x; m.v[num5 + 2].v = nqT.xx.y; m.v[num5 + 3].x = nqV.xx.x; m.v[num5 + 3].y = nqV.yy.y; m.v[num5 + 3].u = nqT.xx.x; m.v[num5 + 3].v = nqT.zz.y; m.v[num5 + 4].x = nqV.yy.x; m.v[num5 + 4].y = nqV.yy.y; m.v[num5 + 4].u = nqT.yy.x; m.v[num5 + 4].v = nqT.yy.y; m.v[num5 + 5].x = nqV.zz.x; m.v[num5 + 5].y = nqV.yy.y; m.v[num5 + 5].u = nqT.zz.x; m.v[num5 + 5].v = nqT.yy.y; m.v[num5 + 6].x = nqV.xx.x; m.v[num5 + 6].y = nqV.zz.y; m.v[num5 + 6].u = nqT.xx.x; m.v[num5 + 6].v = nqT.zz.y; m.v[num5 + 7].x = nqV.yy.x; m.v[num5 + 7].y = nqV.zz.y; m.v[num5 + 7].u = nqT.yy.x; m.v[num5 + 7].v = nqT.zz.y; m.v[num5 + 8].x = nqV.zz.x; m.v[num5 + 8].y = nqV.zz.y; m.v[num5 + 8].u = nqT.zz.x; m.v[num5 + 8].v = nqT.zz.y; break; } case 1: { num5 = m.Alloc(PrimitiveKind.Grid2x2, 0f, color); m.v[num5].x = nqV.yy.x; m.v[num5].y = nqV.xx.y; m.v[num5].u = nqT.yy.x; m.v[num5].v = nqT.xx.y; m.v[num5 + 1].x = nqV.zz.x; m.v[num5 + 1].y = nqV.xx.y; m.v[num5 + 1].u = nqT.zz.x; m.v[num5 + 1].v = nqT.xx.y; m.v[num5 + 2].x = nqV.ww.x; m.v[num5 + 2].y = nqV.xx.y; m.v[num5 + 2].u = nqT.ww.x; m.v[num5 + 2].v = nqT.xx.y; m.v[num5 + 3].x = nqV.yy.x; m.v[num5 + 3].y = nqV.yy.y; m.v[num5 + 3].u = nqT.yy.x; m.v[num5 + 3].v = nqT.yy.y; m.v[num5 + 4].x = nqV.zz.x; m.v[num5 + 4].y = nqV.yy.y; m.v[num5 + 4].u = nqT.zz.x; m.v[num5 + 4].v = nqT.yy.y; m.v[num5 + 5].x = nqV.ww.x; m.v[num5 + 5].y = nqV.yy.y; m.v[num5 + 5].u = nqT.ww.x; m.v[num5 + 5].v = nqT.yy.y; m.v[num5 + 6].x = nqV.yy.x; m.v[num5 + 6].y = nqV.zz.y; m.v[num5 + 6].u = nqT.yy.x; m.v[num5 + 6].v = nqT.zz.y; m.v[num5 + 7].x = nqV.zz.x; m.v[num5 + 7].y = nqV.zz.y; m.v[num5 + 7].u = nqT.zz.x; m.v[num5 + 7].v = nqT.zz.y; m.v[num5 + 8].x = nqV.ww.x; m.v[num5 + 8].y = nqV.zz.y; m.v[num5 + 8].u = nqT.ww.x; m.v[num5 + 8].v = nqT.zz.y; break; } case 2: { num5 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num5].x = nqV.xx.x; m.v[num5].y = nqV.xx.y; m.v[num5].u = nqT.xx.x; m.v[num5].v = nqT.xx.y; m.v[num5 + 1].x = nqV.yy.x; m.v[num5 + 1].y = nqV.xx.y; m.v[num5 + 1].u = nqT.yy.x; m.v[num5 + 1].v = nqT.xx.y; m.v[num5 + 2].x = nqV.xx.x; m.v[num5 + 2].y = nqV.yy.y; m.v[num5 + 2].u = nqT.xx.x; m.v[num5 + 2].v = nqT.yy.y; m.v[num5 + 3].x = nqV.yy.x; m.v[num5 + 3].y = nqV.yy.y; m.v[num5 + 3].u = nqT.yy.x; m.v[num5 + 3].v = nqT.yy.y; m.v[num5 + 4].x = nqV.yy.x; m.v[num5 + 4].y = nqV.zz.y; m.v[num5 + 4].u = nqT.yy.x; m.v[num5 + 4].v = nqT.zz.y; m.v[num5 + 5].x = nqV.zz.x; m.v[num5 + 5].y = nqV.zz.y; m.v[num5 + 5].u = nqT.zz.x; m.v[num5 + 5].v = nqT.zz.y; num5 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color); m.v[num5].x = nqV.zz.x; m.v[num5].y = nqV.xx.y; m.v[num5].u = nqT.zz.x; m.v[num5].v = nqT.xx.y; m.v[num5 + 1].x = nqV.ww.x; m.v[num5 + 1].y = nqV.xx.y; m.v[num5 + 1].u = nqT.ww.x; m.v[num5 + 1].v = nqT.xx.y; m.v[num5 + 2].x = nqV.zz.x; m.v[num5 + 2].y = nqV.yy.y; m.v[num5 + 2].u = nqT.zz.x; m.v[num5 + 2].v = nqT.yy.y; m.v[num5 + 3].x = nqV.ww.x; m.v[num5 + 3].y = nqV.yy.y; m.v[num5 + 3].u = nqT.ww.x; m.v[num5 + 3].v = nqT.yy.y; m.v[num5 + 4].x = nqV.zz.x; m.v[num5 + 4].y = nqV.zz.y; m.v[num5 + 4].u = nqT.zz.x; m.v[num5 + 4].v = nqT.zz.y; m.v[num5 + 5].x = nqV.ww.x; m.v[num5 + 5].y = nqV.zz.y; m.v[num5 + 5].u = nqT.ww.x; m.v[num5 + 5].v = nqT.zz.y; break; } } } }
public override void OnFill(MeshBuffer m) { Vertex vertex; Vertex vertex2; Vertex vertex3; Vertex vertex4; float x = 0f; float y = 0f; float num3 = 1f; float num4 = -1f; float xMin = this.mOuterUV.xMin; float yMin = this.mOuterUV.yMin; float xMax = this.mOuterUV.xMax; float yMax = this.mOuterUV.yMax; if ((this.mFillDirection == FillDirection.Horizontal) || (this.mFillDirection == FillDirection.Vertical)) { float num9 = (xMax - xMin) * this.mFillAmount; float num10 = (yMax - yMin) * this.mFillAmount; if (this.fillDirection == FillDirection.Horizontal) { if (this.mInvert) { x = 1f - this.mFillAmount; xMin = xMax - num9; } else { num3 *= this.mFillAmount; xMax = xMin + num9; } } else if (this.fillDirection == FillDirection.Vertical) { if (this.mInvert) { num4 *= this.mFillAmount; yMin = yMax - num10; } else { y = -(1f - this.mFillAmount); yMax = yMin + num10; } } } Vector2[] xy = new Vector2[4]; Vector2[] uv = new Vector2[4]; xy[0] = new Vector2(num3, y); xy[1] = new Vector2(num3, num4); xy[2] = new Vector2(x, num4); xy[3] = new Vector2(x, y); uv[0] = new Vector2(xMax, yMax); uv[1] = new Vector2(xMax, yMin); uv[2] = new Vector2(xMin, yMin); uv[3] = new Vector2(xMin, yMax); Color color = base.color; if (this.fillDirection == FillDirection.Radial90) { if (!this.AdjustRadial(xy, uv, this.mFillAmount, this.mInvert)) { return; } } else { if (this.fillDirection == FillDirection.Radial180) { Vector2[] v = new Vector2[4]; Vector2[] vectorArray4 = new Vector2[4]; for (int i = 0; i < 2; i++) { float num12; float num13; v[0] = new Vector2(0f, 0f); v[1] = new Vector2(0f, 1f); v[2] = new Vector2(1f, 1f); v[3] = new Vector2(1f, 0f); vectorArray4[0] = new Vector2(0f, 0f); vectorArray4[1] = new Vector2(0f, 1f); vectorArray4[2] = new Vector2(1f, 1f); vectorArray4[3] = new Vector2(1f, 0f); if (this.mInvert) { if (i > 0) { this.Rotate(v, i); this.Rotate(vectorArray4, i); } } else if (i < 1) { this.Rotate(v, 1 - i); this.Rotate(vectorArray4, 1 - i); } if (i == 1) { num12 = !this.mInvert ? 1f : 0.5f; num13 = !this.mInvert ? 0.5f : 1f; } else { num12 = !this.mInvert ? 0.5f : 1f; num13 = !this.mInvert ? 1f : 0.5f; } v[1].y = Mathf.Lerp(num12, num13, v[1].y); v[2].y = Mathf.Lerp(num12, num13, v[2].y); vectorArray4[1].y = Mathf.Lerp(num12, num13, vectorArray4[1].y); vectorArray4[2].y = Mathf.Lerp(num12, num13, vectorArray4[2].y); float fill = (this.mFillAmount * 2f) - i; bool flag = (i % 2) == 1; if (this.AdjustRadial(v, vectorArray4, fill, !flag)) { if (this.mInvert) { flag = !flag; } if (flag) { int index = m.Alloc(PrimitiveKind.Quad); for (int j = 0; j < 4; j++) { m.v[index].x = Mathf.Lerp(xy[0].x, xy[2].x, v[j].x); m.v[index].y = Mathf.Lerp(xy[0].y, xy[2].y, v[j].y); m.v[index].z = 0f; m.v[index].u = Mathf.Lerp(uv[0].x, uv[2].x, vectorArray4[j].x); m.v[index].v = Mathf.Lerp(uv[0].y, uv[2].y, vectorArray4[j].y); m.v[index].r = color.r; m.v[index].g = color.g; m.v[index].b = color.b; m.v[index].a = color.a; index++; } } else { int num17 = m.Alloc(PrimitiveKind.Quad); for (int k = 3; k > -1; k--) { m.v[num17].x = Mathf.Lerp(xy[0].x, xy[2].x, v[k].x); m.v[num17].y = Mathf.Lerp(xy[0].y, xy[2].y, v[k].y); m.v[num17].z = 0f; m.v[num17].u = Mathf.Lerp(uv[0].x, uv[2].x, vectorArray4[k].x); m.v[num17].v = Mathf.Lerp(uv[0].y, uv[2].y, vectorArray4[k].y); m.v[num17].r = color.r; m.v[num17].g = color.g; m.v[num17].b = color.b; m.v[num17].a = color.a; num17++; } } } } return; } if (this.fillDirection == FillDirection.Radial360) { float[] numArray = new float[] { 0.5f, 1f, 0f, 0.5f, 0.5f, 1f, 0.5f, 1f, 0f, 0.5f, 0.5f, 1f, 0f, 0.5f, 0f, 0.5f }; Vector2[] vectorArray5 = new Vector2[4]; Vector2[] vectorArray6 = new Vector2[4]; for (int n = 0; n < 4; n++) { vectorArray5[0] = new Vector2(0f, 0f); vectorArray5[1] = new Vector2(0f, 1f); vectorArray5[2] = new Vector2(1f, 1f); vectorArray5[3] = new Vector2(1f, 0f); vectorArray6[0] = new Vector2(0f, 0f); vectorArray6[1] = new Vector2(0f, 1f); vectorArray6[2] = new Vector2(1f, 1f); vectorArray6[3] = new Vector2(1f, 0f); if (this.mInvert) { if (n > 0) { this.Rotate(vectorArray5, n); this.Rotate(vectorArray6, n); } } else if (n < 3) { this.Rotate(vectorArray5, 3 - n); this.Rotate(vectorArray6, 3 - n); } for (int num20 = 0; num20 < 4; num20++) { int num21 = !this.mInvert ? (n * 4) : ((3 - n) * 4); float from = numArray[num21]; float to = numArray[num21 + 1]; float num24 = numArray[num21 + 2]; float num25 = numArray[num21 + 3]; vectorArray5[num20].x = Mathf.Lerp(from, to, vectorArray5[num20].x); vectorArray5[num20].y = Mathf.Lerp(num24, num25, vectorArray5[num20].y); vectorArray6[num20].x = Mathf.Lerp(from, to, vectorArray6[num20].x); vectorArray6[num20].y = Mathf.Lerp(num24, num25, vectorArray6[num20].y); } float num26 = (this.mFillAmount * 4f) - n; bool flag2 = (n % 2) == 1; if (this.AdjustRadial(vectorArray5, vectorArray6, num26, !flag2)) { if (this.mInvert) { flag2 = !flag2; } if (flag2) { int num27 = m.Alloc(PrimitiveKind.Quad); for (int num28 = 0; num28 < 4; num28++) { m.v[num27].x = Mathf.Lerp(xy[0].x, xy[2].x, vectorArray5[num28].x); m.v[num27].y = Mathf.Lerp(xy[0].y, xy[2].y, vectorArray5[num28].y); m.v[num27].z = 0f; m.v[num27].u = Mathf.Lerp(uv[0].x, uv[2].x, vectorArray6[num28].x); m.v[num27].v = Mathf.Lerp(uv[0].y, uv[2].y, vectorArray6[num28].y); m.v[num27].r = color.r; m.v[num27].g = color.g; m.v[num27].b = color.b; m.v[num27].a = color.a; num27++; } } else { int num29 = m.Alloc(PrimitiveKind.Quad); for (int num30 = 3; num30 > -1; num30--) { m.v[num29].x = Mathf.Lerp(xy[0].x, xy[2].x, vectorArray5[num30].x); m.v[num29].y = Mathf.Lerp(xy[0].y, xy[2].y, vectorArray5[num30].y); m.v[num29].z = 0f; m.v[num29].u = Mathf.Lerp(uv[0].x, uv[2].x, vectorArray6[num30].x); m.v[num29].v = Mathf.Lerp(uv[0].y, uv[2].y, vectorArray6[num30].y); m.v[num29].r = color.r; m.v[num29].g = color.g; m.v[num29].b = color.b; m.v[num29].a = color.a; num29++; } } } } return; } } vertex.x = xy[0].x; vertex.y = xy[0].y; vertex.u = uv[0].x; vertex.v = uv[0].y; vertex2.x = xy[1].x; vertex2.y = xy[1].y; vertex2.u = uv[1].x; vertex2.v = uv[1].y; vertex3.x = xy[2].x; vertex3.y = xy[2].y; vertex3.u = uv[2].x; vertex3.v = uv[2].y; vertex4.x = xy[3].x; vertex4.y = xy[3].y; vertex4.u = uv[3].x; vertex4.v = uv[3].y; vertex.z = vertex2.z = vertex3.z = vertex4.z = 0f; vertex.r = vertex2.r = vertex3.r = vertex4.r = color.r; vertex.g = vertex2.g = vertex3.g = vertex4.g = color.g; vertex.b = vertex2.b = vertex3.b = vertex4.b = color.b; vertex.a = vertex2.a = vertex3.a = vertex4.a = color.a; m.Quad(vertex, vertex2, vertex3, vertex4); }
public void Copy(ref int start, Vertex[] v, Vector3[] transformed, int end, MeshBuffer p) { int num; int num1 = (end - start) / Primitive.VertexCount(this.kind); Label0: int num2 = num1; num1 = num2 - 1; if (num2 <= 0) { return; } int num3 = p.Alloc(this.kind, out num); while (num3 < num) { p.v[num3].x = transformed[start].x; p.v[num3].y = transformed[start].y; p.v[num3].z = transformed[start].z; p.v[num3].u = v[start].u; p.v[num3].v = v[start].v; p.v[num3].r = v[start].r; p.v[num3].g = v[start].g; p.v[num3].b = v[start].b; p.v[num3].a = v[start].a; num3++; start = start + 1; } goto Label0; }
public void Copy(ref int start, Vertex[] v, int end, MeshBuffer p) { int num; int num1 = (end - start) / Primitive.VertexCount(this.kind); Label0: int num2 = num1; num1 = num2 - 1; if (num2 <= 0) { return; } int num3 = p.Alloc(this.kind, out num); while (num3 < num) { int num4 = num3; num3 = num4 + 1; int num5 = start; int num6 = num5; start = num5 + 1; p.v[num4] = v[num6]; } goto Label0; }