// Token: 0x06004437 RID: 17463 RVA: 0x000FDC10 File Offset: 0x000FBE10 protected override void OnRebuildRenderData() { if (base.Atlas == null) { return; } global::dfAtlas.ItemInfo spriteInfo = base.SpriteInfo; if (spriteInfo == null) { return; } this.renderData.Material = base.Atlas.Material; if (spriteInfo.border.horizontal == 0 && spriteInfo.border.vertical == 0) { base.OnRebuildRenderData(); return; } Color32 color = base.ApplyOpacity((!base.IsEnabled) ? this.disabledColor : this.color); global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.atlas, color = color, fillAmount = this.fillAmount, fillDirection = this.fillDirection, flip = this.flip, invertFill = this.invertFill, offset = this.pivot.TransformToUpperLeft(base.Size), pixelsToUnits = base.PixelsToUnits(), size = base.Size, spriteInfo = base.SpriteInfo }; global::dfSlicedSprite.renderSprite(this.renderData, options); }
// Token: 0x06004682 RID: 18050 RVA: 0x00108E54 File Offset: 0x00107054 private void renderSprite(global::dfMarkupToken token, Color32 color, Vector3 position, global::dfRenderData destination) { try { string value = token.GetAttribute(0).Value.Value; global::dfAtlas.ItemInfo itemInfo = this.SpriteAtlas[value]; if (!(itemInfo == null)) { global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.SpriteAtlas, color = color, fillAmount = 1f, offset = position, pixelsToUnits = base.PixelRatio, size = new Vector2((float)token.Width, (float)token.Height), spriteInfo = itemInfo }; global::dfSprite.renderSprite(this.SpriteBuffer, options); } } finally { } }
// Token: 0x0600443E RID: 17470 RVA: 0x000FEB78 File Offset: 0x000FCD78 private static void rebuildColors(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { for (int i = 0; i < 16; i++) { renderData.Colors.Add(options.color); } }
// Token: 0x06004481 RID: 17537 RVA: 0x000FFB8C File Offset: 0x000FDD8C protected override void OnRebuildRenderData() { if (!(this.Atlas != null) || !(this.Atlas.Material != null) || !base.IsVisible) { return; } if (this.SpriteInfo == null) { return; } this.renderData.Material = this.Atlas.Material; Color32 color = base.ApplyOpacity((!base.IsEnabled) ? this.disabledColor : this.color); global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.Atlas, color = color, fillAmount = this.fillAmount, fillDirection = this.fillDirection, flip = this.flip, invertFill = this.invertFill, offset = this.pivot.TransformToUpperLeft(base.Size), pixelsToUnits = base.PixelsToUnits(), size = base.Size, spriteInfo = this.SpriteInfo }; global::dfSprite.renderSprite(this.renderData, options); }
// Token: 0x060044B9 RID: 17593 RVA: 0x00100D10 File Offset: 0x000FEF10 protected override void OnRebuildRenderData() { if (this.Atlas == null || string.IsNullOrEmpty(this.backgroundSprite)) { return; } global::dfAtlas.ItemInfo itemInfo = this.Atlas[this.backgroundSprite]; if (itemInfo == null) { return; } this.renderData.Material = this.Atlas.Material; Color32 color = base.ApplyOpacity((!base.IsEnabled) ? this.disabledColor : this.color); global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.atlas, color = color, fillAmount = 1f, offset = this.pivot.TransformToUpperLeft(base.Size), pixelsToUnits = base.PixelsToUnits(), size = base.Size, spriteInfo = itemInfo }; if (itemInfo.border.horizontal == 0 && itemInfo.border.vertical == 0) { global::dfSprite.renderSprite(this.renderData, options); } else { global::dfSlicedSprite.renderSprite(this.renderData, options); } }
// Token: 0x06004486 RID: 17542 RVA: 0x000FFEE4 File Offset: 0x000FE0E4 private static void rebuildUV(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { Rect region = options.spriteInfo.region; global::dfList <Vector2> uv = renderData.UV; uv.Add(new Vector2(region.x, region.yMax)); uv.Add(new Vector2(region.xMax, region.yMax)); uv.Add(new Vector2(region.xMax, region.y)); uv.Add(new Vector2(region.x, region.y)); Vector2 value = Vector2.zero; if (options.flip.IsSet(global::dfSpriteFlip.FlipHorizontal)) { value = uv[1]; uv[1] = uv[0]; uv[0] = value; value = uv[3]; uv[3] = uv[2]; uv[2] = value; } if (options.flip.IsSet(global::dfSpriteFlip.FlipVertical)) { value = uv[0]; uv[0] = uv[3]; uv[3] = value; value = uv[1]; uv[1] = uv[2]; uv[2] = value; } }
// Token: 0x06004373 RID: 17267 RVA: 0x000F9858 File Offset: 0x000F7A58 private void renderBackground() { if (this.Atlas == null) { return; } global::dfAtlas.ItemInfo itemInfo = this.Atlas[this.backgroundSprite]; if (itemInfo == null) { return; } Color32 color = base.ApplyOpacity((!base.IsEnabled) ? base.DisabledColor : base.Color); global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.atlas, color = color, fillAmount = 1f, offset = this.pivot.TransformToUpperLeft(base.Size), pixelsToUnits = base.PixelsToUnits(), size = base.Size, spriteInfo = itemInfo }; if (itemInfo.border.horizontal == 0 && itemInfo.border.vertical == 0) { global::dfSprite.renderSprite(this.renderData, options); } else { global::dfSlicedSprite.renderSprite(this.renderData, options); } }
// Token: 0x06004211 RID: 16913 RVA: 0x000F3370 File Offset: 0x000F1570 protected internal virtual void renderBackground() { if (this.Atlas == null) { return; } global::dfAtlas.ItemInfo itemInfo = this.getBackgroundSprite(); if (itemInfo == null) { return; } Color32 color = base.ApplyOpacity(this.getActiveColor()); global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.atlas, color = color, fillAmount = 1f, offset = this.pivot.TransformToUpperLeft(base.Size), pixelsToUnits = base.PixelsToUnits(), size = base.Size, spriteInfo = itemInfo }; if (itemInfo.border.horizontal == 0 && itemInfo.border.vertical == 0) { global::dfSprite.renderSprite(this.renderData, options); } else { global::dfSlicedSprite.renderSprite(this.renderData, options); } }
// Token: 0x06004485 RID: 17541 RVA: 0x000FFE9C File Offset: 0x000FE09C private static void rebuildColors(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { global::dfList <Color32> colors = renderData.Colors; colors.Add(options.color); colors.Add(options.color); colors.Add(options.color); colors.Add(options.color); }
// Token: 0x06004439 RID: 17465 RVA: 0x000FDD98 File Offset: 0x000FBF98 private static void rebuildTriangles(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { int baseIndex = options.baseIndex; global::dfList <int> triangles = renderData.Triangles; for (int i = 0; i < global::dfSlicedSprite.triangleIndices.Length; i++) { triangles.Add(baseIndex + global::dfSlicedSprite.triangleIndices[i]); } }
// Token: 0x06004372 RID: 17266 RVA: 0x000F9674 File Offset: 0x000F7874 private void renderProgressFill() { if (this.Atlas == null) { return; } global::dfAtlas.ItemInfo itemInfo = this.Atlas[this.progressSprite]; if (itemInfo == null) { return; } Vector3 vector; vector..ctor((float)this.padding.left, (float)(-(float)this.padding.top)); Vector2 size; size..ctor(this.size.x - (float)this.padding.horizontal, this.size.y - (float)this.padding.vertical); float fillAmount = 1f; float num = this.maxValue - this.minValue; float num2 = (this.rawValue - this.minValue) / num; global::dfProgressFillMode dfProgressFillMode = this.fillMode; if (dfProgressFillMode != global::dfProgressFillMode.Stretch || size.x * num2 < (float)itemInfo.border.horizontal) { } if (dfProgressFillMode == global::dfProgressFillMode.Fill) { fillAmount = num2; } else { size.x = Mathf.Max((float)itemInfo.border.horizontal, size.x * num2); } Color32 color = base.ApplyOpacity((!base.IsEnabled) ? base.DisabledColor : this.ProgressColor); global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.atlas, color = color, fillAmount = fillAmount, offset = this.pivot.TransformToUpperLeft(base.Size) + vector, pixelsToUnits = base.PixelsToUnits(), size = size, spriteInfo = itemInfo }; if (itemInfo.border.horizontal == 0 && itemInfo.border.vertical == 0) { global::dfSprite.renderSprite(this.renderData, options); } else { global::dfSlicedSprite.renderSprite(this.renderData, options); } }
// Token: 0x06004483 RID: 17539 RVA: 0x000FFD20 File Offset: 0x000FDF20 private static void rebuildTriangles(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { int baseIndex = options.baseIndex; global::dfList <int> triangles = renderData.Triangles; triangles.EnsureCapacity(triangles.Count + global::dfSprite.TRIANGLE_INDICES.Length); for (int i = 0; i < global::dfSprite.TRIANGLE_INDICES.Length; i++) { triangles.Add(baseIndex + global::dfSprite.TRIANGLE_INDICES[i]); } }
// Token: 0x06004482 RID: 17538 RVA: 0x000FFCBC File Offset: 0x000FDEBC internal static void renderSprite(global::dfRenderData data, global::dfSprite.RenderOptions options) { options.baseIndex = data.Vertices.Count; global::dfSprite.rebuildTriangles(data, options); global::dfSprite.rebuildVertices(data, options); global::dfSprite.rebuildUV(data, options); global::dfSprite.rebuildColors(data, options); if (options.fillAmount > -1f && options.fillAmount < 1f) { global::dfSprite.doFill(data, options); } }
// Token: 0x0600443C RID: 17468 RVA: 0x000FE17C File Offset: 0x000FC37C private static void rebuildVertices(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { float num = 0f; float num2 = 0f; float num3 = Mathf.Ceil(options.size.x); float num4 = Mathf.Ceil(-options.size.y); global::dfAtlas.ItemInfo spriteInfo = options.spriteInfo; float num5 = (float)spriteInfo.border.left; float num6 = (float)spriteInfo.border.top; float num7 = (float)spriteInfo.border.right; float num8 = (float)spriteInfo.border.bottom; if (options.flip.IsSet(global::dfSpriteFlip.FlipHorizontal)) { float num9 = num7; num7 = num5; num5 = num9; } if (options.flip.IsSet(global::dfSpriteFlip.FlipVertical)) { float num10 = num8; num8 = num6; num6 = num10; } global::dfSlicedSprite.verts[0] = new Vector3(num, num2, 0f) + options.offset; global::dfSlicedSprite.verts[1] = global::dfSlicedSprite.verts[0] + new Vector3(num5, 0f, 0f); global::dfSlicedSprite.verts[2] = global::dfSlicedSprite.verts[0] + new Vector3(num5, -num6, 0f); global::dfSlicedSprite.verts[3] = global::dfSlicedSprite.verts[0] + new Vector3(0f, -num6, 0f); global::dfSlicedSprite.verts[4] = new Vector3(num3 - num7, num2, 0f) + options.offset; global::dfSlicedSprite.verts[5] = global::dfSlicedSprite.verts[4] + new Vector3(num7, 0f, 0f); global::dfSlicedSprite.verts[6] = global::dfSlicedSprite.verts[4] + new Vector3(num7, -num6, 0f); global::dfSlicedSprite.verts[7] = global::dfSlicedSprite.verts[4] + new Vector3(0f, -num6, 0f); global::dfSlicedSprite.verts[8] = new Vector3(num, num4 + num8, 0f) + options.offset; global::dfSlicedSprite.verts[9] = global::dfSlicedSprite.verts[8] + new Vector3(num5, 0f, 0f); global::dfSlicedSprite.verts[10] = global::dfSlicedSprite.verts[8] + new Vector3(num5, -num8, 0f); global::dfSlicedSprite.verts[11] = global::dfSlicedSprite.verts[8] + new Vector3(0f, -num8, 0f); global::dfSlicedSprite.verts[12] = new Vector3(num3 - num7, num4 + num8, 0f) + options.offset; global::dfSlicedSprite.verts[13] = global::dfSlicedSprite.verts[12] + new Vector3(num7, 0f, 0f); global::dfSlicedSprite.verts[14] = global::dfSlicedSprite.verts[12] + new Vector3(num7, -num8, 0f); global::dfSlicedSprite.verts[15] = global::dfSlicedSprite.verts[12] + new Vector3(0f, -num8, 0f); for (int i = 0; i < global::dfSlicedSprite.verts.Length; i++) { renderData.Vertices.Add((global::dfSlicedSprite.verts[i] * options.pixelsToUnits).Quantize(options.pixelsToUnits)); } }
// Token: 0x06004487 RID: 17543 RVA: 0x0010000C File Offset: 0x000FE20C private static void doFill(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { int baseIndex = options.baseIndex; global::dfList <Vector3> vertices = renderData.Vertices; global::dfList <Vector2> uv = renderData.UV; int index = baseIndex; int index2 = baseIndex + 1; int index3 = baseIndex + 3; int index4 = baseIndex + 2; if (options.invertFill) { if (options.fillDirection == global::dfFillDirection.Horizontal) { index = baseIndex + 1; index2 = baseIndex; index3 = baseIndex + 2; index4 = baseIndex + 3; } else { index = baseIndex + 3; index2 = baseIndex + 2; index3 = baseIndex; index4 = baseIndex + 1; } } if (options.fillDirection == global::dfFillDirection.Horizontal) { vertices[index2] = Vector3.Lerp(vertices[index2], vertices[index], 1f - options.fillAmount); vertices[index4] = Vector3.Lerp(vertices[index4], vertices[index3], 1f - options.fillAmount); uv[index2] = Vector2.Lerp(uv[index2], uv[index], 1f - options.fillAmount); uv[index4] = Vector2.Lerp(uv[index4], uv[index3], 1f - options.fillAmount); } else { vertices[index3] = Vector3.Lerp(vertices[index3], vertices[index], 1f - options.fillAmount); vertices[index4] = Vector3.Lerp(vertices[index4], vertices[index2], 1f - options.fillAmount); uv[index3] = Vector2.Lerp(uv[index3], uv[index], 1f - options.fillAmount); uv[index4] = Vector2.Lerp(uv[index4], uv[index2], 1f - options.fillAmount); } }
// Token: 0x060046BB RID: 18107 RVA: 0x0010AE44 File Offset: 0x00109044 protected override global::dfRenderData OnRebuildRenderData() { this.renderData.Clear(); if (this.Atlas != null && this.Atlas[this.Source] != null) { global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.Atlas, spriteInfo = this.Atlas[this.Source], pixelsToUnits = 1f, size = this.Size, color = this.Style.Color, fillAmount = 1f }; global::dfSlicedSprite.renderSprite(this.renderData, options); this.renderData.Material = this.Atlas.Material; this.renderData.Transform = Matrix4x4.identity; } return(this.renderData); }
// Token: 0x06004484 RID: 17540 RVA: 0x000FFD78 File Offset: 0x000FDF78 private static void rebuildVertices(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { global::dfList <Vector3> vertices = renderData.Vertices; int baseIndex = options.baseIndex; float num = 0f; float num2 = 0f; float num3 = Mathf.Ceil(options.size.x); float num4 = Mathf.Ceil(-options.size.y); vertices.Add(new Vector3(num, num2, 0f) * options.pixelsToUnits); vertices.Add(new Vector3(num3, num2, 0f) * options.pixelsToUnits); vertices.Add(new Vector3(num3, num4, 0f) * options.pixelsToUnits); vertices.Add(new Vector3(num, num4, 0f) * options.pixelsToUnits); Vector3 vector = options.offset.RoundToInt() * options.pixelsToUnits; for (int i = 0; i < 4; i++) { vertices[baseIndex + i] = (vertices[baseIndex + i] + vector).Quantize(options.pixelsToUnits); } }
// Token: 0x060042EB RID: 17131 RVA: 0x000F67F0 File Offset: 0x000F49F0 private void renderSelection() { if (base.Atlas == null || this.selectedIndex < 0) { return; } global::dfAtlas.ItemInfo itemInfo = base.Atlas[this.ItemHighlight]; if (itemInfo == null) { return; } float pixelsToUnits = base.PixelsToUnits(); Vector3 vector = this.pivot.TransformToUpperLeft(base.Size); Vector3 offset; offset..ctor(vector.x + (float)this.listPadding.left, vector.y - (float)this.listPadding.top + this.scrollPosition, 0f); offset.y -= (float)(this.selectedIndex * this.itemHeight); Color32 color = base.ApplyOpacity(this.color); global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.atlas, color = color, fillAmount = 1f, pixelsToUnits = pixelsToUnits, size = new Vector3(this.size.x - (float)this.listPadding.horizontal, (float)this.itemHeight), spriteInfo = itemInfo, offset = offset }; if (itemInfo.border.horizontal > 0 || itemInfo.border.vertical > 0) { global::dfSlicedSprite.renderSprite(this.renderData, options); } else { global::dfSprite.renderSprite(this.renderData, options); } }
// Token: 0x060042EA RID: 17130 RVA: 0x000F656C File Offset: 0x000F476C private void renderHover() { if (!Application.isPlaying) { return; } bool flag = base.Atlas == null || !base.IsEnabled || this.hoverIndex <0 || this.hoverIndex> this.items.Length - 1 || string.IsNullOrEmpty(this.ItemHover); if (flag) { return; } global::dfAtlas.ItemInfo itemInfo = base.Atlas[this.ItemHover]; if (itemInfo == null) { return; } Vector3 vector = this.pivot.TransformToUpperLeft(base.Size); Vector3 offset; offset..ctor(vector.x + (float)this.listPadding.left, vector.y - (float)this.listPadding.top + this.scrollPosition, 0f); float num = base.PixelsToUnits(); int num2 = this.hoverIndex * this.itemHeight; if (this.animateHover) { float num3 = Mathf.Abs(this.hoverTweenLocation - (float)num2); float num4 = (this.size.y - (float)this.listPadding.vertical) * 0.5f; if (num3 > num4) { this.hoverTweenLocation = (float)num2 + Mathf.Sign(this.hoverTweenLocation - (float)num2) * num4; } float num5 = Time.deltaTime / num * 2f; this.hoverTweenLocation = Mathf.MoveTowards(this.hoverTweenLocation, (float)num2, num5); } else { this.hoverTweenLocation = (float)num2; } offset.y -= this.hoverTweenLocation.Quantize(num); Color32 color = base.ApplyOpacity(this.color); global::dfSprite.RenderOptions options = new global::dfSprite.RenderOptions { atlas = this.atlas, color = color, fillAmount = 1f, pixelsToUnits = base.PixelsToUnits(), size = new Vector3(this.size.x - (float)this.listPadding.horizontal, (float)this.itemHeight), spriteInfo = itemInfo, offset = offset }; if (itemInfo.border.horizontal > 0 || itemInfo.border.vertical > 0) { global::dfSlicedSprite.renderSprite(this.renderData, options); } else { global::dfSprite.renderSprite(this.renderData, options); } if ((float)num2 != this.hoverTweenLocation) { this.Invalidate(); } }
// Token: 0x0600443A RID: 17466 RVA: 0x000FDDDC File Offset: 0x000FBFDC private static void doFill(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { int baseIndex = options.baseIndex; global::dfList <Vector3> vertices = renderData.Vertices; global::dfList <Vector2> dfList = renderData.UV; int[][] array = global::dfSlicedSprite.getFillIndices(options.fillDirection, baseIndex); bool flag = options.invertFill; if (options.fillDirection == global::dfFillDirection.Vertical) { flag = !flag; } if (flag) { for (int i = 0; i < array.Length; i++) { Array.Reverse(array[i]); } } int num = (options.fillDirection != global::dfFillDirection.Horizontal) ? 1 : 0; float num2 = vertices[array[0][flag ? 3 : 0]][num]; float num3 = vertices[array[0][flag ? 0 : 3]][num]; float num4 = Mathf.Abs(num3 - num2); float num5 = flag ? (num3 - options.fillAmount * num4) : (num2 + options.fillAmount * num4); for (int j = 0; j < array.Length; j++) { if (!flag) { for (int k = 3; k > 0; k--) { float num6 = vertices[array[j][k]][num]; if (num6 >= num5) { Vector3 value = vertices[array[j][k]]; value[num] = num5; vertices[array[j][k]] = value; float num7 = vertices[array[j][k - 1]][num]; if (num7 <= num5) { float num8 = num6 - num7; float num9 = (num5 - num7) / num8; float num10 = dfList[array[j][k]][num]; float num11 = dfList[array[j][k - 1]][num]; Vector2 value2 = dfList[array[j][k]]; value2[num] = Mathf.Lerp(num11, num10, num9); dfList[array[j][k]] = value2; } } } } else { for (int l = 1; l < 4; l++) { float num12 = vertices[array[j][l]][num]; if (num12 <= num5) { Vector3 value3 = vertices[array[j][l]]; value3[num] = num5; vertices[array[j][l]] = value3; float num13 = vertices[array[j][l - 1]][num]; if (num13 >= num5) { float num14 = num12 - num13; float num15 = (num5 - num13) / num14; float num16 = dfList[array[j][l]][num]; float num17 = dfList[array[j][l - 1]][num]; Vector2 value4 = dfList[array[j][l]]; value4[num] = Mathf.Lerp(num17, num16, num15); dfList[array[j][l]] = value4; } } } } } }
// Token: 0x0600443D RID: 17469 RVA: 0x000FE5C8 File Offset: 0x000FC7C8 private static void rebuildUV(global::dfRenderData renderData, global::dfSprite.RenderOptions options) { global::dfAtlas atlas = options.atlas; Vector2 vector; vector..ctor((float)atlas.Texture.width, (float)atlas.Texture.height); global::dfAtlas.ItemInfo spriteInfo = options.spriteInfo; float num = (float)spriteInfo.border.top / vector.y; float num2 = (float)spriteInfo.border.bottom / vector.y; float num3 = (float)spriteInfo.border.left / vector.x; float num4 = (float)spriteInfo.border.right / vector.x; Rect region = spriteInfo.region; global::dfSlicedSprite.uv[0] = new Vector2(region.x, region.yMax); global::dfSlicedSprite.uv[1] = new Vector2(region.x + num3, region.yMax); global::dfSlicedSprite.uv[2] = new Vector2(region.x + num3, region.yMax - num); global::dfSlicedSprite.uv[3] = new Vector2(region.x, region.yMax - num); global::dfSlicedSprite.uv[4] = new Vector2(region.xMax - num4, region.yMax); global::dfSlicedSprite.uv[5] = new Vector2(region.xMax, region.yMax); global::dfSlicedSprite.uv[6] = new Vector2(region.xMax, region.yMax - num); global::dfSlicedSprite.uv[7] = new Vector2(region.xMax - num4, region.yMax - num); global::dfSlicedSprite.uv[8] = new Vector2(region.x, region.y + num2); global::dfSlicedSprite.uv[9] = new Vector2(region.x + num3, region.y + num2); global::dfSlicedSprite.uv[10] = new Vector2(region.x + num3, region.y); global::dfSlicedSprite.uv[11] = new Vector2(region.x, region.y); global::dfSlicedSprite.uv[12] = new Vector2(region.xMax - num4, region.y + num2); global::dfSlicedSprite.uv[13] = new Vector2(region.xMax, region.y + num2); global::dfSlicedSprite.uv[14] = new Vector2(region.xMax, region.y); global::dfSlicedSprite.uv[15] = new Vector2(region.xMax - num4, region.y); if (options.flip != global::dfSpriteFlip.None) { for (int i = 0; i < global::dfSlicedSprite.uv.Length; i += 4) { Vector2 vector2 = Vector2.zero; if (options.flip.IsSet(global::dfSpriteFlip.FlipHorizontal)) { vector2 = global::dfSlicedSprite.uv[i]; global::dfSlicedSprite.uv[i] = global::dfSlicedSprite.uv[i + 1]; global::dfSlicedSprite.uv[i + 1] = vector2; vector2 = global::dfSlicedSprite.uv[i + 2]; global::dfSlicedSprite.uv[i + 2] = global::dfSlicedSprite.uv[i + 3]; global::dfSlicedSprite.uv[i + 3] = vector2; } if (options.flip.IsSet(global::dfSpriteFlip.FlipVertical)) { vector2 = global::dfSlicedSprite.uv[i]; global::dfSlicedSprite.uv[i] = global::dfSlicedSprite.uv[i + 3]; global::dfSlicedSprite.uv[i + 3] = vector2; vector2 = global::dfSlicedSprite.uv[i + 1]; global::dfSlicedSprite.uv[i + 1] = global::dfSlicedSprite.uv[i + 2]; global::dfSlicedSprite.uv[i + 2] = vector2; } } if (options.flip.IsSet(global::dfSpriteFlip.FlipHorizontal)) { Vector2[] array = new Vector2[global::dfSlicedSprite.uv.Length]; Array.Copy(global::dfSlicedSprite.uv, array, global::dfSlicedSprite.uv.Length); Array.Copy(global::dfSlicedSprite.uv, 0, global::dfSlicedSprite.uv, 4, 4); Array.Copy(array, 4, global::dfSlicedSprite.uv, 0, 4); Array.Copy(global::dfSlicedSprite.uv, 8, global::dfSlicedSprite.uv, 12, 4); Array.Copy(array, 12, global::dfSlicedSprite.uv, 8, 4); } if (options.flip.IsSet(global::dfSpriteFlip.FlipVertical)) { Vector2[] array2 = new Vector2[global::dfSlicedSprite.uv.Length]; Array.Copy(global::dfSlicedSprite.uv, array2, global::dfSlicedSprite.uv.Length); Array.Copy(global::dfSlicedSprite.uv, 0, global::dfSlicedSprite.uv, 8, 4); Array.Copy(array2, 8, global::dfSlicedSprite.uv, 0, 4); Array.Copy(global::dfSlicedSprite.uv, 4, global::dfSlicedSprite.uv, 12, 4); Array.Copy(array2, 12, global::dfSlicedSprite.uv, 4, 4); } } for (int j = 0; j < global::dfSlicedSprite.uv.Length; j++) { renderData.UV.Add(global::dfSlicedSprite.uv[j]); } }