/// <summary> /// Set anchor pivot. /// </summary> private static void _SetAnchorPivot(ref RectTransform rectTrans, EAnchorPivot anchorPivot) { switch (anchorPivot) { case EAnchorPivot.TopLeft: { rectTrans.pivot = new Vector2(0, 1); } break; case EAnchorPivot.TopCenter: { rectTrans.pivot = new Vector2(0.5f, 1); } break; case EAnchorPivot.TopRight: { rectTrans.pivot = Vector2.one; } break; case EAnchorPivot.MiddleLeft: { rectTrans.pivot = new Vector2(0, 0.5f); } break; case EAnchorPivot.MiddleCenter: { rectTrans.pivot = new Vector2(0.5f, 0.5f); } break; case EAnchorPivot.MiddleRight: { rectTrans.pivot = new Vector2(1, 0.5f); } break; case EAnchorPivot.BottomLeft: { rectTrans.pivot = Vector2.zero; } break; case EAnchorPivot.BottomCenter: { rectTrans.pivot = new Vector2(0.5f, 0); } break; case EAnchorPivot.BottomRight: { rectTrans.pivot = new Vector2(1, 0); } break; } }
/// <summary> /// Anchor. /// </summary> /// <param name="minOffset">the offset of the lower left corner of the rectangle relative to the lower left anchor</param> /// <param name="maxOffset">the offset of the upper right corner of the rectangle relative to the upper right anchor</param> public static void Anchor(ref GameObject gameObject, EAnchorPreset anchorPreset, EAnchorPivot anchorPivot, Vector2 minOffset, Vector2 maxOffset) { RectTransform rectTrans = gameObject.GetComponent <RectTransform>(); if (rectTrans != null) { Anchor(ref rectTrans, anchorPreset, anchorPivot, minOffset, maxOffset); } }
/// <summary> /// Anchor. /// </summary> /// <param name="minOffset">the offset of the lower left corner of the rectangle relative to the lower left anchor</param> /// <param name="maxOffset">the offset of the upper right corner of the rectangle relative to the upper right anchor</param> public static void Anchor(ref RectTransform rectTrans, EAnchorPreset anchorPreset, EAnchorPivot anchorPivot, Vector2 minOffset, Vector2 maxOffset) { _SetAnchorPreset(ref rectTrans, anchorPreset); _SetAnchorPivot(ref rectTrans, anchorPivot); rectTrans.offsetMin = minOffset; rectTrans.offsetMax = maxOffset; }
/// <summary> /// Anchor. /// </summary> /// <param name="offsetX">anchored position x</param> /// <param name="offsetY">anchored position y</param> public static void Anchor(ref RectTransform rectTrans, EAnchorPreset anchorPreset, EAnchorPivot anchorPivot, float width, float height, float offsetX, float offsetY) { _SetAnchorPreset(ref rectTrans, anchorPreset); _SetAnchorPivot(ref rectTrans, anchorPivot); rectTrans.anchoredPosition = new Vector2(offsetX, offsetY); rectTrans.sizeDelta = new Vector2(width, height); }
/// <summary> /// Anchor. /// </summary> public static void Anchor(ref RectTransform rectTrans, EAnchorPreset anchorPreset, EAnchorPivot anchorPivot) { _SetAnchorPreset(ref rectTrans, anchorPreset); _SetAnchorPivot(ref rectTrans, anchorPivot); }