public override void CopyFrom(ActionHintParameters other) { imgScale = other.imgScale; hintsTextBuffer = other.hintsTextBuffer; UIBaseParameters.CopyParameters(ref hintTextParams, other.hintTextParams); }
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; }
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; }
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); }
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); }
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); } }
// 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); }
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); }
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); }
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); }
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; }
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); }
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); }
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; }
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); }
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; }
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); }
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; }
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; }
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; }
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; }
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); }
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; }
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; }
public override void CopyFrom(UITextGroupParameters other) { spaceOffset = other.spaceOffset; switchDirection = other.switchDirection; UIBaseParameters.CopyParameters(ref textParameters, other.textParameters); }
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; }
public override void CopyFrom(UIRadialSelectableParameters other) { textOffset = other.textOffset; selectionSizeOffset = other.selectionSizeOffset; UIBaseParameters.CopyParameters(ref textParams, other.textParams); }
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; }
public override void CopyFrom(UIIconTableParameters other) { UIBaseParameters.CopyParameters(ref iconParameters, other.iconParameters); maxColumns = other.maxColumns; spacing = other.spacing; }
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; }