Exemplo n.º 1
0
        public override void CopyFrom(ActionHintParameters other)
        {
            imgScale        = other.imgScale;
            hintsTextBuffer = other.hintsTextBuffer;

            UIBaseParameters.CopyParameters(ref hintTextParams, other.hintTextParams);
        }
Exemplo n.º 2
0
        public override void UpdateElementLayout() //bool firstBuild) {
        // base.UpdateElementLayout();

        {
            if (transformToFit != null)
            {
                rectTransform.sizeDelta = transformToFit.sizeDelta + Vector2.one * parameters.selectionSizeOffset;
            }

            image.overrideColor = true;
            image.UpdateElementLayout();//firstBuild);
            image.mainGraphic.type = Image.Type.Filled;

            base.UpdateElementLayout();//firstBuild);


            UIBaseParameters.CopyParameters(ref uiText.parameters, parameters.textParams);

            // uiText.UpdateElementLayout();


            // Vector2 textSize =
            uiText.UpdateElementLayout();//firstBuild);

            calculatedTextHeight = uiText.getHeight;

            uiText.transform.localPosition = new Vector3(0, parameters.textOffset + rectTransform.sizeDelta.x * .5f + textHeight * .5f, 0);
            // return textSize;
            // return Vector2.zero;
        }
Exemplo n.º 3
0
        public override void UpdateElementLayout() //bool firstBuild) {
        {
            rectTransform.sizeDelta = Vector2.one * parameters.panelSize;

            float sliceAngle   = 360.0f / Mathf.Max(showElements.Count, 1);
            float radialAmount = 1f / Mathf.Max(showElements.Count, 1);

            Quaternion radialAngleRotation = Quaternion.Euler(0, 0, sliceAngle * .5f);


            float textHeight = 0;

            for (int i = 0; i < showElements.Count; i++)
            {
                float elementAngle = -i * sliceAngle;

                UISelectable element = showElements[i];

                UIBaseParameters.CopyParameters(ref (element as UIRadialSelectable).parameters, parameters.selectableParams);


                element.transform.localRotation = Quaternion.Euler(0, 0, elementAngle);

                element.image.mainGraphic.fillAmount = radialAmount;
                element.image.mainGraphic.rectTransform.localRotation = radialAngleRotation;

                element.uiText.transform.localRotation = Quaternion.Euler(0, 0, -elementAngle);

                if (elementAngle == 0 || elementAngle == -180)
                {
                    element.uiText.SetAnchor(TextAnchor.MiddleCenter, false, Vector2.zero);
                }
                else
                {
                    element.uiText.SetAnchor(elementAngle < -180f ? TextAnchor.MiddleRight : TextAnchor.MiddleLeft, false, Vector2.zero);
                }

                // Vector2 elementTextSize =
                element.UpdateElementLayout();//firstBuild);
                if (i == 0)
                {
                    textHeight = (element as UIRadialSelectable).textHeight; //elementTextSize.y;
                }
            }

            UIBaseParameters.CopyParameters(ref panel.parameters, parameters.panelParams);

            panel.UpdateElementLayout(); //firstBuild);

            float h = textHeight;        //allElements.Count == 0 ? 0 : allElements[0].uiText.getHeight;

            actionHintsPanel.transform.localPosition = new Vector3(0, -(parameters.panelSize * .5f + (h) + parameters.hintsSpace), 0);
            UIBaseParameters.CopyParameters(ref actionHintsPanel.parameters, parameters.controlHintsParams);

            actionHintsPanel.UpdateElementLayout();//firstBuild);

            // return Vector2.zero;
        }
Exemplo n.º 4
0
        public override void CopyFrom(UIRadialParameters other)
        {
            panelSize  = other.panelSize;
            hintsSpace = other.hintsSpace;

            UIBaseParameters.CopyParameters(ref selectableParams, other.selectableParams);
            UIBaseParameters.CopyParameters(ref panelParams, other.panelParams);
            UIBaseParameters.CopyParameters(ref controlHintsParams, other.controlHintsParams);
        }
Exemplo n.º 5
0
 public override void CopyFrom(UIMessageElementParameters other)
 {
     flairIndent   = other.flairIndent;
     flairSize     = other.flairSize;
     messageHeight = other.messageHeight;
     textMargin    = other.textMargin;
     UIBaseParameters.CopyParameters(ref textParams, other.textParams);
     UIBaseParameters.CopyParameters(ref panelParams, other.panelParams);
 }
Exemplo n.º 6
0
 void UpdateTextLayout(UIText text, float multiplier)  //}, bool firstBuild) {
 {
     if (text != null)
     {
         UIBaseParameters.CopyParameters(ref text.parameters, parameters.textParams);
         text.UpdateElementLayout();//firstBuild);
         text.rectTransform.anchoredPosition = new Vector2(0, parameters.iconSize * multiplier);
     }
 }
Exemplo n.º 7
0
        // public float textDuration = 3;

        public override void CopyFrom(UISubtitlesParameters other)
        {
            maxWidth      = other.maxWidth;
            speakerOffset = other.speakerOffset;
            // textDuration = other.textDuration;

            UIBaseParameters.CopyParameters(ref speakerParameters, other.speakerParameters);
            UIBaseParameters.CopyParameters(ref barkParameters, other.barkParameters);
        }
Exemplo n.º 8
0
 public override void CopyFrom(UIRectSelectableParameters other)
 {
     useTextHeight    = other.useTextHeight;
     elementsSize     = other.elementsSize;
     unselectedSprite = other.unselectedSprite;
     textAlignment    = other.textAlignment;
     flairIndent      = other.flairIndent;
     flairSize        = other.flairSize;
     UIBaseParameters.CopyParameters(ref textParams, other.textParams);
 }
Exemplo n.º 9
0
        void UpdateMessageLayout(UIMessageElement message, string displayMessage, bool bulleted)
        {
            message.text.SetText(displayMessage);

            message.EnableFlair(bulleted);

            UIBaseParameters.CopyParameters(ref message.parameters, parameters.messageParams);

            message.SetPivotAndAnchor(new Vector2(rectTransform.pivot.x, yPivot));
            message.UpdateElementLayout();//true);
        }
Exemplo n.º 10
0
        public override void CopyFrom(UIValueTrackerParameters other)
        {
            textOffset       = other.textOffset;
            trackerSize      = other.trackerSize;
            flipTextAndValue = other.flipTextAndValue;
            isVertical       = other.isVertical;
            fillBorderOffset = other.fillBorderOffset;

            UIBaseParameters.CopyParameters(ref textParameters, other.textParameters);
            UIBaseParameters.CopyParameters(ref panelParameters, other.panelParameters);
        }
Exemplo n.º 11
0
        public override void CopyFrom(UIMessageCenterParameters other)
        {
            UIBaseParameters.CopyParameters(ref messageParams, other.messageParams);

            upToDown     = other.upToDown;
            startXOffset = other.startXOffset;
            moveSpeed    = other.moveSpeed;
            duration     = other.duration;
            frequency    = other.frequency;
            fadeInOut    = other.fadeInOut;
        }
Exemplo n.º 12
0
        public override void CopyFrom(UIPageParameters other)
        {
            titleOffset = other.titleOffset;
            hintSpace   = other.hintSpace;
            // overrideTextPanelHeight = other.overrideTextPanelHeight;
            layoutSisterElements = other.layoutSisterElements;

            UIBaseParameters.CopyParameters(ref titleParams, other.titleParams);
            UIBaseParameters.CopyParameters(ref panelParameters, other.panelParameters);
            UIBaseParameters.CopyParameters(ref buttonParams, other.buttonParams);
            UIBaseParameters.CopyParameters(ref hintPanelParams, other.hintPanelParams);
        }
Exemplo n.º 13
0
        public override void CopyFrom(UITextPanelParameters other)
        {
            rectSize      = other.rectSize;
            titleOffset   = other.titleOffset;
            textOffsets   = other.textOffsets;
            textAlignment = other.textAlignment;

            UIBaseParameters.CopyParameters(ref titleTextParams, other.titleTextParams);

            UIBaseParameters.CopyParameters(ref textParams, other.textParams);
            UIBaseParameters.CopyParameters(ref panelParams, other.panelParams);
        }
Exemplo n.º 14
0
        public override void CopyFrom(UISelectionPopupParameters other)
        {
            UIBaseParameters.CopyParameters(ref textParams, other.textParams);
            UIBaseParameters.CopyParameters(ref panelParameters, other.panelParameters);
            UIBaseParameters.CopyParameters(ref buttonParameters, other.buttonParameters);
            UIBaseParameters.CopyParameters(ref controlHintsParams, other.controlHintsParams);

            maxTextWidth = other.maxTextWidth;
            panelWidth   = other.panelWidth;
            buttonsSpace = other.buttonsSpace;
            hintsSpace   = other.hintsSpace;
        }
Exemplo n.º 15
0
        public override void CopyFrom(ActionHintsPanelParameters other)
        {
            usePanel       = other.usePanel;
            buffers        = other.buffers;
            maxHintColumns = other.maxHintColumns;
            hintsSpacing   = other.hintsSpacing;
            autoExpand     = other.autoExpand;
            panelWidth     = other.panelWidth;

            UIBaseParameters.CopyParameters(ref panelParams, other.panelParams);
            UIBaseParameters.CopyParameters(ref mainTextParams, other.mainTextParams);
            UIBaseParameters.CopyParameters(ref hintParams, other.hintParams);
        }
Exemplo n.º 16
0
        public override void UpdateElementLayout()   //bool firstBuild) {
        {
            baseMapParameters.UpdateElementLayout(); //firstBuild);

            panel.rectTransform.sizeDelta = size;
            UIBaseParameters.CopyParameters(ref panel.parameters, panelParameters);


            panel.UpdateElementLayout();//firstBuild);

            mapImage.rectTransform.sizeDelta = panel.rectTransform.sizeDelta;

            // return Vector2.zero;
        }
Exemplo n.º 17
0
        public override void CopyFrom(UISliderPopupParameters other)
        {
            elementSpacings = other.elementSpacings;
            panelWidth      = other.panelWidth;
            sliderBGScale   = other.sliderBGScale;
            sliderHeadSize  = other.sliderHeadSize;
            sliderBGSize    = other.sliderBGSize;
            hintsSpace      = other.hintsSpace;

            UIBaseParameters.CopyParameters(ref panelParameters, other.panelParameters);
            UIBaseParameters.CopyParameters(ref titleTextParams, other.titleTextParams);
            UIBaseParameters.CopyParameters(ref amountTextParams, other.amountTextParams);
            UIBaseParameters.CopyParameters(ref controlHintsParams, other.controlHintsParams);
        }
Exemplo n.º 18
0
        public override void UpdateElementLayout() //bool firstBuild) {
        {
            UIBaseParameters.CopyParameters(ref titleText.parameters, parameters.titleTextParams);
            UIBaseParameters.CopyParameters(ref amountText.parameters, parameters.amountTextParams);
            // Vector2 titleSize =
            titleText.UpdateElementLayout();  //firstBuild);
            // Vector2 amountSize =
            amountText.UpdateElementLayout(); //firstBuild);

            float titleTextYRect  = titleText.getHeight;
            float amountTextYRect = amountText.getHeight;


            float sliderHeight       = slider.handleRect.sizeDelta.y * parameters.sliderHeadSize.y * sliderRect.localScale.x * 2;
            float fullMessageBoxSize = titleTextYRect + amountTextYRect + sliderHeight + parameters.elementSpacings.x + parameters.elementSpacings.y + (parameters.elementSpacings.z * 2);

            float pivotOffset = (1.0f - rectTransform.pivot.y) * fullMessageBoxSize;

            rectTransform.sizeDelta = new Vector2(parameters.panelWidth, fullMessageBoxSize);

            //title
            titleText.rectTransform.localPosition = new Vector3(0, -(titleTextYRect * .5f + parameters.elementSpacings.z) + pivotOffset, 0);

            //amount
            float drawn = (titleTextYRect + parameters.elementSpacings.z) + amountTextYRect * .5f + parameters.elementSpacings.x;

            amountText.rectTransform.localPosition = new Vector3(0, -(drawn) + pivotOffset, 0);

            backgroundImage.imageScale = parameters.sliderBGScale;

            //slider
            slider.handleRect.localScale = new Vector3(parameters.sliderHeadSize.x, parameters.sliderHeadSize.y, 1);
            sliderRect.sizeDelta         = parameters.sliderBGSize / sliderRect.localScale.x;

            backgroundImage.UpdateElementLayout();//firstBuild);

            sliderRect.localPosition = new Vector3(0, -(drawn + sliderHeight + parameters.elementSpacings.y) + pivotOffset, 0);

            //controller hints
            actionHintsPanel.transform.localPosition = new Vector3(0, -(fullMessageBoxSize + parameters.hintsSpace) + pivotOffset, 0);
            UIBaseParameters.CopyParameters(ref actionHintsPanel.parameters, parameters.controlHintsParams);
            actionHintsPanel.UpdateElementLayout();//firstBuild);

            UIBaseParameters.CopyParameters(ref panel.parameters, parameters.panelParameters);

            panel.UpdateElementLayout();//firstBuild);
            // return Vector2.zero;
        }
Exemplo n.º 19
0
        public override void UpdateElementLayout() //bool firstBuild) {
        {
            UIBaseParameters.CopyParameters(ref text.parameters, parameters.textParams);
            text.SetAnchor(TextAnchor.MiddleLeft, true, Vector2.zero);
            // Vector2 textSize =
            text.UpdateElementLayout();//firstBuild);
            float textWidth = text.getWidth;


            float elementWidth = textWidth + (parameters.flairIndent * 2 + parameters.flairSize) * 2;

            rectTransform.sizeDelta = new Vector2(elementWidth, elementHeight);

            // text.rectTransform.anchoredPosition = new Vector2(parameters.textMargin.x, 0);
            text.rectTransform.anchoredPosition = new Vector2((parameters.flairIndent * 2 + parameters.flairSize), 0);

            // for (int x = 0; x < flairs.Length; x++) {

            if (flair.gameObject.activeSelf)
            {
                flair.rectTransform.sizeDelta = Vector2.one * parameters.flairSize;


                // float offset = rectTransform.pivot.x == 0 ? parameters.elementsSize.x * .5f : (rectTransform.pivot.x == 1 ? -(parameters.elementsSize.x * .5f) : 0);
                // flairs[x].transform.localPosition = new Vector3((parameters.elementsSize.x * .5f - parameters.flairIndent) * (x == 0 ? -1 : 1), 0, 0);
                flair.rectTransform.anchoredPosition = new Vector2(
                    // ((parameters.elementsSize.x * .5f - parameters.flairIndent) * (x == 0 ? -1 : 1)) + (offset),
                    ((parameters.flairIndent)),    // * (x == 0 ? 1 : -1)),//+ (offset),


                    0);

                flair.mainGraphic.raycastTarget = false;

                // flairs[x].SetColorScheme(UIColorScheme.Normal, selected);
                flair.UpdateElementLayout();    //firstBuild);
            }

            // }


            UIBaseParameters.CopyParameters(ref panel.parameters, parameters.panelParams);
            panel.UpdateElementLayout();//firstBuild);


            // return rectTransform.sizeDelta;
        }
Exemplo n.º 20
0
        public void UpdateElementLayout() //bool firstBuild) {
        {
            if (!Application.isPlaying)
            {
                return;// Vector2.zero;
            }
            // if (!Application.isPlaying) mapMarkers = transform.GetComponentsInChildren<MapMarker>().ToList();

            for (int i = 0; i < mapMarkers.Count; i++)
            {
                UIBaseParameters.CopyParameters(ref mapMarkers[i].parameters, markerParameters);

                mapMarkers[i].UpdateElementLayout();//firstBuild);
            }

            // return Vector2.zero;
        }
Exemplo n.º 21
0
        public override void UpdateElementLayout() //bool firstBuild, bool needsSize) {
        // need to set size delta first, so text wraps, and therefore
        // get height and get width are correct...
        {
            bark.rectTransform.sizeDelta        = new Vector2(parameters.maxWidth / parameters.barkParameters.scale, 0);
            bark.rectTransform.anchoredPosition = Vector2.zero;
            UIBaseParameters.CopyParameters(ref bark.parameters, parameters.barkParameters);

            // Vector2 barkSize =
            bark.UpdateElementLayout();//firstBuild, true);

            float barkHeight = bark.getHeight;

            speaker.rectTransform.anchoredPosition = new Vector2(0, parameters.speakerOffset + barkHeight);
            UIBaseParameters.CopyParameters(ref speaker.parameters, parameters.speakerParameters);

            speaker.UpdateElementLayout();//firstBuild, false);
            // return Vector2.zero;
        }
Exemplo n.º 22
0
        public MapMarker AddMapMarker(MapMarker prefab, UIMapsObject regObj)
        {
            MapMarker newMarker = markerPool.GetAvailable(prefab, null, false, null);

            newMarker.InitializeMapMarker(regObj);
            mapMarkers.Add(newMarker);

            newMarker.transform.SetParent(transform, Vector3.zero, Quaternion.identity, Vector3.one);
            newMarker.EnableMapMarker(true);

            UIBaseParameters.CopyParameters(ref newMarker.parameters, markerParameters);
            newMarker.UpdateElementLayout();//true);
            if (onMarkerAdd != null)
            {
                onMarkerAdd(newMarker);
            }


            newMarker.gameObject.SetActive(true);
            return(newMarker);
        }
Exemplo n.º 23
0
        public override void UpdateElementLayout() //bool firstBuild, bool needsSize) {
        {
            UIBaseParameters.CopyParameters(ref mainText.parameters, parameters.textParams);

            mainText.useOutline = !parameters.panelParams.useBackground;

            // Vector2 mainTextSize =
            mainText.UpdateElementLayout();//firstBuild, true);


            rectTransform.sizeDelta = new Vector2(
                parameters.textParams.horizontalWrap == HorizontalWrapMode.Overflow ? Mathf.Max(parameters.rectSize.x, mainText.getWidth + parameters.textOffsets.x * 2) : parameters.rectSize.x,
                Mathf.Max(overrideHeight ? heightOverride : parameters.rectSize.y, mainText.getHeight + parameters.textOffsets.y * 2)
                );

            if (!titleText.textEmpty) // string.IsNullOrEmpty(titleText.text.text)) {
            {
                UIBaseParameters.CopyParameters(ref titleText.parameters, parameters.titleTextParams);

                // Vector2 titleTextSize =
                titleText.UpdateElementLayout();//firstBuild, true);
                float titleHeight = titleText.getHeight;

                titleText.SetAnchor(rectTransform.pivot);
                float pivotOffset = (1.0f - rectTransform.pivot.y) * rectTransform.sizeDelta.y;

                titleText.rectTransform.anchoredPosition = new Vector2(0, parameters.titleOffset + titleHeight * (rectTransform.pivot.y) + pivotOffset);
            }

            mainText.SetAnchor(parameters.textAlignment, false, Vector2.zero);
            mainText.rectTransform.sizeDelta = (rectTransform.sizeDelta - parameters.textOffsets * 2) / parameters.textParams.scale;


            UIBaseParameters.CopyParameters(ref uiPanel.parameters, parameters.panelParams);
            uiPanel.UpdateElementLayout();//firstBuild);

            // return rectTransform.sizeDelta;
        }
Exemplo n.º 24
0
        public override void UpdateElementLayout() //bool firstBuild) {
        {
            Vector2 pivot       = rectTransform.pivot;
            float   offsetSoFar = 0;

            for (int i = 0; i < allTexts.Length; i++)
            {
                UIText t = allTexts[parameters.switchDirection ? (allTexts.Length - 1) - i : i];
                UIBaseParameters.CopyParameters(ref t.parameters, parameters.textParameters);
                t.SetAnchor(pivot);

                // Vector2 tSize =
                t.UpdateElementLayout();//firstBuild);
                t.rectTransform.anchoredPosition = new Vector2(pivot.x == 1 ? -offsetSoFar : offsetSoFar, 0);

                if (i < allTexts.Length - 1)
                {
                    float tWidth = t.getWidth;
                    offsetSoFar += tWidth + parameters.spaceOffset;
                }
            }
            // return Vector2.zero;
        }
Exemplo n.º 25
0
 public override void CopyFrom(UITextGroupParameters other)
 {
     spaceOffset     = other.spaceOffset;
     switchDirection = other.switchDirection;
     UIBaseParameters.CopyParameters(ref textParameters, other.textParameters);
 }
Exemplo n.º 26
0
        public override void UpdateElementLayout() //bool firstBuild, bool needsSize) {
        {
            base.UpdateElementLayout();            //firstBuild, needsSize);

            int selectedSprite = selected ? 0 : parameters.unselectedSprite;

            image.mySprite = selectedSprite;

            image.useOutline = false;
            image.useShadow  = false;

            image.UpdateElementLayout();//firstBuild, false);

            UIBaseParameters.CopyParameters(ref uiText.parameters, parameters.textParams);
            uiText.useOutline = false;

            // if (uiText.text.alignment != parameters.textAlignment)
            uiText.SetAnchor(parameters.textAlignment, true, Vector2.zero);

            float flairOffset = parameters.flairIndent * 2 + parameters.flairSize;

            uiText.rectTransform.sizeDelta = new Vector2((parameters.elementsSize.x - flairOffset * 2) / parameters.textParams.scale, 0);

            float p = uiText.rectTransform.pivot.x;
            float o = p == 1 ? -flairOffset : (p == 0 ? flairOffset : 0);

            uiText.rectTransform.anchoredPosition = new Vector2(o, 0);


            // uiText.useOutline = !selected;
            uiText.useShadow = !selected;
            uiText.SetColorScheme(UIColorScheme.Normal, selected);
            // Vector2 textRect =
            uiText.UpdateElementLayout();//firstBuild, true);

            if (selected)
            {
                uiText.text.fontStyle = FontStyle.Bold;
            }


            if (parameters.useTextHeight)
            {
                float textHeight = uiText.getHeight;
                rectTransform.sizeDelta = new Vector2(parameters.elementsSize.x, textHeight + parameters.elementsSize.y * 2);
            }
            else
            {
                rectTransform.sizeDelta = parameters.elementsSize;
            }

            Vector2 flairSize = Vector2.one * parameters.flairSize;

            for (int x = 0; x < flairs.Length; x++)
            {
                UIImage flair = flairs[x];
                if (!flair.gameObject.activeSelf)
                {
                    continue;
                }

                flair.rectTransform.sizeDelta        = flairSize;
                flair.rectTransform.anchoredPosition = new Vector2(x == 0 ? parameters.flairIndent : -parameters.flairIndent, 0);
                flair.mainGraphic.raycastTarget      = false;
                flair.SetColorScheme(UIColorScheme.Normal, selected);
                flair.UpdateElementLayout();//firstBuild, true);
            }

            // return rectTransform.sizeDelta;
        }
Exemplo n.º 27
0
 public override void CopyFrom(UIRadialSelectableParameters other)
 {
     textOffset          = other.textOffset;
     selectionSizeOffset = other.selectionSizeOffset;
     UIBaseParameters.CopyParameters(ref textParams, other.textParams);
 }
Exemplo n.º 28
0
        public override void UpdateElementLayout() //bool firstBuild, bool needsSize) {
        {
            UIBaseParameters.CopyParameters(ref text.parameters, parameters.textParameters);
            // Vector2 textSize =
            text.UpdateElementLayout();//firstBuild, !parameters.flipTextAndValue);

            // TextAnchor anchor = TextAnchor.LowerCenter;



            text.SetAnchor(rectTransform.pivot);

            float trackerAnchorX = rectTransform.anchorMin.x;
            float trackerAnchorY = rectTransform.anchorMin.y;

            // if (trackerAnchorX == 0) {
            //     if      (trackerAnchorY == 0.0f) anchor = TextAnchor.LowerLeft;
            //     else if (trackerAnchorY == 0.5f) anchor = TextAnchor.MiddleLeft;
            //     else if (trackerAnchorY == 1.0f) anchor = TextAnchor.UpperLeft;
            // }
            // else if (trackerAnchorX == .5f) {
            //     if      (trackerAnchorY == 0.0f) anchor = TextAnchor.LowerCenter;
            //     else if (trackerAnchorY == 0.5f) anchor = TextAnchor.MiddleCenter;
            //     else if (trackerAnchorY == 1.0f) anchor = TextAnchor.UpperCenter;
            // }
            // else if (trackerAnchorX == 1) {
            //     if      (trackerAnchorY == 0.0f) anchor = TextAnchor.LowerRight;
            //     else if (trackerAnchorY == 0.5f) anchor = TextAnchor.MiddleRight;
            //     else if (trackerAnchorY == 1.0f) anchor = TextAnchor.UpperRight;
            // }

            // text.SetAnchor( anchor, true, Vector2.zero );

            Vector2 trackerSize = parameters.isVertical ? new Vector2(parameters.trackerSize.y, parameters.trackerSize.x) : parameters.trackerSize;

            panel.rectTransform.sizeDelta = trackerSize;

            panel.SetPivotAndAnchor(rectTransform.anchorMin);

            RectTransform a = parameters.flipTextAndValue ? panel.rectTransform : text.rectTransform;
            RectTransform b = parameters.flipTextAndValue ? text.rectTransform : panel.rectTransform;

            a.anchoredPosition = Vector2.zero;

            if ((!parameters.isVertical && trackerAnchorX != .5f) || trackerAnchorY == .5f)
            {
                float aWidth = parameters.flipTextAndValue ? trackerSize.x : text.getWidth;
                b.anchoredPosition = new Vector2((aWidth + parameters.textOffset) * (trackerAnchorX == 1 ? -1 : 1), 0);
            }
            else
            {
                float aHeight = parameters.flipTextAndValue ? trackerSize.y : text.getHeight;
                b.anchoredPosition = new Vector2(0, (aHeight + parameters.textOffset) * (trackerAnchorY == 1 ? -1 : 1));
            }

            UIBaseParameters.CopyParameters(ref panel.parameters, parameters.panelParameters);
            panel.UpdateElementLayout();//firstBuild);


            fillImage.rectTransform.sizeDelta        = new Vector2(trackerSize.x - parameters.fillBorderOffset * 2, trackerSize.y - parameters.fillBorderOffset * 2);
            fillImage.rectTransform.anchoredPosition = new Vector2(parameters.fillBorderOffset, -parameters.fillBorderOffset);

            fillImage.UpdateElementLayout();//firstBuild, true);
            fillImage.mainGraphic.type       = Image.Type.Filled;
            fillImage.mainGraphic.fillMethod = !parameters.isVertical ? Image.FillMethod.Horizontal : Image.FillMethod.Vertical;
            // return Vector2.zero;
        }
Exemplo n.º 29
0
 public override void CopyFrom(UIIconTableParameters other)
 {
     UIBaseParameters.CopyParameters(ref iconParameters, other.iconParameters);
     maxColumns = other.maxColumns;
     spacing    = other.spacing;
 }
Exemplo n.º 30
0
        public override void UpdateElementLayout() //bool firstBuild) {
        {
            if (!Application.isPlaying)
            {
                allIcons = GetComponentsInChildren <UIIconTableElement>().ToList();
            }

            int     c     = allIcons.Count;
            int     cDiv  = c / parameters.maxColumns;
            int     rows  = c % parameters.maxColumns == 0 ? cDiv : cDiv + 1;
            Vector2 pivot = rectTransform.pivot;

            float iconSize = parameters.iconParameters.iconSize + parameters.spacing;

            float x = ResetCoord(pivot.x, parameters.maxColumns, -1);
            float y = ResetCoord(pivot.y, rows, 1);

            int column = 0;

            for (int i = 0; i < c; i++)
            {
                allIcons[i].rectTransform.pivot     = rectTransform.pivot;
                allIcons[i].rectTransform.anchorMax = rectTransform.anchorMax;
                allIcons[i].rectTransform.anchorMin = rectTransform.anchorMin;

                UIBaseParameters.CopyParameters(ref allIcons[i].parameters, parameters.iconParameters);

                allIcons[i].UpdateElementLayout();//firstBuild);

                allIcons[i].rectTransform.anchoredPosition = new Vector2(x, y);

                column++;

                if (pivot.x == 1.0f)
                {
                    x -= iconSize;
                }
                else if (pivot.x == 0.5f)
                {
                    x += iconSize;
                }
                else if (pivot.x == 0.0f)
                {
                    x += iconSize;
                }


                if (column >= parameters.maxColumns)
                {
                    column = 0;

                    x = ResetCoord(pivot.x, parameters.maxColumns, -1);

                    if (pivot.y == 1.0f)
                    {
                        y -= iconSize;
                    }
                    else if (pivot.y == 0.5f)
                    {
                        y -= iconSize;
                    }
                    else if (pivot.y == 0.0f)
                    {
                        y += iconSize;
                    }
                }
            }
            // return Vector2.zero;
        }