private void RepositionVariableSize(List <Transform> children) { float single = 0f; float single1 = 0f; int num = (this.columns <= 0 ? 1 : children.Count / this.columns + 1); int num1 = (this.columns <= 0 ? children.Count : this.columns); AABBox[,] aABBoxArray = new AABBox[num, num1]; AABBox[] aABBoxArray1 = new AABBox[num1]; AABBox[] aABBoxArray2 = new AABBox[num]; int num2 = 0; int num3 = 0; int num4 = 0; int count = children.Count; while (num4 < count) { Transform item = children[num4]; AABBox aABBox = NGUIMath.CalculateRelativeWidgetBounds(item); Vector3 vector3 = item.localScale; aABBox.SetMinMax(Vector3.Scale(aABBox.min, vector3), Vector3.Scale(aABBox.max, vector3)); aABBoxArray[num3, num2] = aABBox; aABBoxArray1[num2].Encapsulate(aABBox); aABBoxArray2[num3].Encapsulate(aABBox); int num5 = num2 + 1; num2 = num5; if (num5 >= this.columns && this.columns > 0) { num2 = 0; num3++; } num4++; } num2 = 0; num3 = 0; int num6 = 0; int count1 = children.Count; while (num6 < count1) { Transform transforms = children[num6]; AABBox aABBox1 = aABBoxArray[num3, num2]; AABBox aABBox2 = aABBoxArray1[num2]; AABBox aABBox3 = aABBoxArray2[num3]; Vector3 vector31 = transforms.localPosition; Vector3 vector32 = aABBox1.min; Vector3 vector33 = aABBox1.max; Vector3 vector34 = aABBox1.size * 0.5f; Vector3 vector35 = aABBox1.center; Vector3 vector36 = aABBox3.min; Vector3 vector37 = aABBox3.max; Vector3 vector38 = aABBox2.min; vector31.x = single + vector34.x - vector35.x; vector31.x = vector31.x + (vector32.x - vector38.x + this.padding.x); if (this.direction != UITable.Direction.Down) { vector31.y = single1 + vector34.y - vector35.y; vector31.y = vector31.y + ((vector33.y - vector32.y - vector37.y + vector36.y) * 0.5f - this.padding.y); } else { vector31.y = -single1 - vector34.y - vector35.y; vector31.y = vector31.y + ((vector33.y - vector32.y - vector37.y + vector36.y) * 0.5f - this.padding.y); } single = single + (vector38.x - vector38.x + this.padding.x * 2f); transforms.localPosition = vector31; int num7 = num2 + 1; num2 = num7; if (num7 >= this.columns && this.columns > 0) { num2 = 0; num3++; single = 0f; single1 = single1 + (vector34.y * 2f + this.padding.y * 2f); } num6++; } }
private void RepositionVariableSize(System.Collections.Generic.List <Transform> children) { float num = 0f; float num2 = 0f; int num3 = (this.columns <= 0) ? 1 : ((children.Count / this.columns) + 1); int num4 = (this.columns <= 0) ? children.Count : this.columns; AABBox[,] boxArray = new AABBox[num3, num4]; AABBox[] boxArray2 = new AABBox[num4]; AABBox[] boxArray3 = new AABBox[num3]; int index = 0; int num6 = 0; int num7 = 0; int count = children.Count; while (num7 < count) { Transform trans = children[num7]; AABBox v = NGUIMath.CalculateRelativeWidgetBounds(trans); Vector3 localScale = trans.localScale; Vector3 min = Vector3.Scale(v.min, localScale); v.SetMinMax(min, Vector3.Scale(v.max, localScale)); boxArray[num6, index] = v; boxArray2[index].Encapsulate(v); boxArray3[num6].Encapsulate(v); if ((++index >= this.columns) && (this.columns > 0)) { index = 0; num6++; } num7++; } index = 0; num6 = 0; int num9 = 0; int num10 = children.Count; while (num9 < num10) { Transform transform2 = children[num9]; AABBox box2 = boxArray[num6, index]; AABBox box3 = boxArray2[index]; AABBox box4 = boxArray3[num6]; Vector3 localPosition = transform2.localPosition; Vector3 vector3 = box2.min; Vector3 max = box2.max; Vector3 vector5 = (Vector3)(box2.size * 0.5f); Vector3 center = box2.center; Vector3 vector7 = box4.min; Vector3 vector8 = box4.max; Vector3 vector9 = box3.min; localPosition.x = (num + vector5.x) - center.x; localPosition.x += (vector3.x - vector9.x) + this.padding.x; if (this.direction == Direction.Down) { localPosition.y = (-num2 - vector5.y) - center.y; localPosition.y += ((((max.y - vector3.y) - vector8.y) + vector7.y) * 0.5f) - this.padding.y; } else { localPosition.y = (num2 + vector5.y) - center.y; localPosition.y += ((((max.y - vector3.y) - vector8.y) + vector7.y) * 0.5f) - this.padding.y; } num += (vector9.x - vector9.x) + (this.padding.x * 2f); transform2.localPosition = localPosition; if ((++index >= this.columns) && (this.columns > 0)) { index = 0; num6++; num = 0f; num2 += (vector5.y * 2f) + (this.padding.y * 2f); } num9++; } }