Exemplo n.º 1
0
    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++;
        }
    }
Exemplo n.º 2
0
    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++;
        }
    }