Exemplo n.º 1
0
 private float getAnchoredPositionY(Display_UI.UIPositions uiPosition, Rect displayRect, RectTransform displayRectTransform, float totalHeight)
 {
     if (uiPosition == Display_UI.UIPositions.UpperLeft || uiPosition == Display_UI.UIPositions.UpperCenter || uiPosition == Display_UI.UIPositions.UpperRight)
     {
         return(displayRect.height - totalHeight);
     }
     else if (uiPosition == Display_UI.UIPositions.MiddleLeft || uiPosition == Display_UI.UIPositions.MiddleCenter || uiPosition == Display_UI.UIPositions.MiddleRight)
     {
         return(displayRect.height * 0.5f - totalHeight * 0.5f);
     }
     else if (uiPosition == Display_UI.UIPositions.LowerLeft || uiPosition == Display_UI.UIPositions.LowerCenter || uiPosition == Display_UI.UIPositions.LowerRight)
     {
         return(0f);
     }
     else
     {
         return(-displayRect.yMin - displayRectTransform.pivot.y * totalHeight);
     }
 }
Exemplo n.º 2
0
 private float getAnchoredPositionX(Display_UI.UIPositions uiPosition, Rect displayRect, RectTransform displayRectTransform, float totalWidth)
 {
     if (uiPosition == Display_UI.UIPositions.UpperLeft || uiPosition == Display_UI.UIPositions.MiddleLeft || uiPosition == Display_UI.UIPositions.LowerLeft)
     {
         return(0f);
     }
     else if (uiPosition == Display_UI.UIPositions.UpperCenter || uiPosition == Display_UI.UIPositions.MiddleCenter || uiPosition == Display_UI.UIPositions.LowerCenter)
     {
         return(displayRect.width * 0.5f - totalWidth * 0.5f);
     }
     else if (uiPosition == Display_UI.UIPositions.UpperRight || uiPosition == Display_UI.UIPositions.MiddleRight || uiPosition == Display_UI.UIPositions.LowerRight)
     {
         return(displayRect.width - totalWidth);
     }
     else
     {
         return(-displayRect.xMin - displayRectTransform.pivot.x * totalWidth);
     }
 }
Exemplo n.º 3
0
        internal void setObjectScaleAndPosition(Vector2 dotSize, Vector2 dotSpacing, Display_UI.UIPositions uiPosition, RectTransform displayRectTransform)
        {
            Rect  displayRect = displayRectTransform.rect;
            float dotWidth    = dotSize.x;
            float dotHeight   = dotSize.y;
            float dotSpacingX = dotSpacing.x;
            float dotSpacingY = dotSpacing.y;
            int   dotCountX   = displayUI.WidthInDots + displayUI.BorderDots * 2;
            int   dotCountY   = displayUI.HeightInDots + displayUI.BorderDots * 2;
            float totalWidth  = dotWidth * dotCountX + dotSpacingX * (dotCountX - 1);
            float totalHeight = dotHeight * dotCountY + dotSpacingY * (dotCountY - 1);

            if (displayUI.UIFit != Display_UI.UIFits.KeepDotSize)
            {
                float panelWidth  = displayRect.width;
                float panelHeight = displayRect.height;
                float multipX     = panelWidth / totalWidth;
                float multipY     = panelHeight / totalHeight;
                if (displayUI.UIFit == Display_UI.UIFits.FitButKeepAspectRatio)
                {
                    multipX = multipY = Mathf.Min(multipX, multipY);
                }
                dotWidth    *= multipX;
                dotHeight   *= multipY;
                dotSpacingX *= multipX;
                dotSpacingY *= multipY;
                totalWidth  *= multipX;
                totalHeight *= multipY;
            }
            int drawX = base.getDrawX();
            int drawY = base.getDrawY();

            rectTransform.sizeDelta = new Vector2(dotWidth, dotHeight);
            float tx = getAnchoredPositionX(uiPosition, displayRect, displayRectTransform, totalWidth) + drawX * (dotWidth + dotSpacingX);
            float ty = getAnchoredPositionY(uiPosition, displayRect, displayRectTransform, totalHeight) + drawY * (dotHeight + dotSpacingY);

            rectTransform.anchoredPosition3D = new Vector3(tx, ty, 0f);
        }