/// <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 offsetX, float offsetY) { _SetAnchorPreset(ref rectTrans, anchorPreset); _SetAnchorPivot(ref rectTrans, anchorPivot); rectTrans.anchoredPosition = new Vector2(offsetX, offsetY); }
/// <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="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> public static void Anchor(ref RectTransform rectTrans, EAnchorPreset anchorPreset, EAnchorPivot anchorPivot) { _SetAnchorPreset(ref rectTrans, anchorPreset); _SetAnchorPivot(ref rectTrans, anchorPivot); }
/// <summary> /// Set anchor preset. /// </summary> private static void _SetAnchorPreset(ref RectTransform rectTrans, EAnchorPreset anchorPreset) { switch (anchorPreset) { case EAnchorPreset.TopLeft: { rectTrans.anchorMin = new Vector2(0, 1); rectTrans.anchorMax = new Vector2(0, 1); } break; case EAnchorPreset.TopCenter: { rectTrans.anchorMin = new Vector2(0.5f, 1); rectTrans.anchorMax = new Vector2(0.5f, 1); } break; case EAnchorPreset.TopRight: { rectTrans.anchorMin = Vector2.one; rectTrans.anchorMax = Vector2.one; } break; case EAnchorPreset.MiddleLeft: { rectTrans.anchorMin = new Vector2(0, 0.5f); rectTrans.anchorMax = new Vector2(0, 0.5f); } break; case EAnchorPreset.MiddleCenter: { rectTrans.anchorMin = new Vector2(0.5f, 0.5f); rectTrans.anchorMax = new Vector2(0.5f, 0.5f); } break; case EAnchorPreset.MiddleRight: { rectTrans.anchorMin = new Vector2(1, 0.5f); rectTrans.anchorMax = new Vector2(1, 0.5f); } break; case EAnchorPreset.BottomLeft: { rectTrans.anchorMin = Vector2.zero; rectTrans.anchorMax = Vector2.zero; } break; case EAnchorPreset.BottomCenter: { rectTrans.anchorMin = new Vector2(0.5f, 0); rectTrans.anchorMax = new Vector2(0.5f, 0); } break; case EAnchorPreset.BottomRight: { rectTrans.anchorMin = new Vector2(1, 0.5f); rectTrans.anchorMax = new Vector2(1, 0.5f); } break; case EAnchorPreset.VerticalStretchLeft: { rectTrans.anchorMin = Vector2.zero; rectTrans.anchorMax = new Vector2(0, 1); } break; case EAnchorPreset.VerticalStretchCenter: { rectTrans.anchorMin = new Vector2(0.5f, 0); rectTrans.anchorMax = new Vector2(0.5f, 1); } break; case EAnchorPreset.VerticalStretchRight: { rectTrans.anchorMin = new Vector2(1, 0); rectTrans.anchorMax = Vector2.one; } break; case EAnchorPreset.HorizontalStretchTop: { rectTrans.anchorMin = new Vector2(0, 1); rectTrans.anchorMax = Vector2.one; } break; case EAnchorPreset.HorizontalStretchMiddle: { rectTrans.anchorMin = new Vector2(0, 0.5f); rectTrans.anchorMax = new Vector2(1, 0.5f); } break; case EAnchorPreset.HorizontalStretchBottom: { rectTrans.anchorMin = Vector2.zero; rectTrans.anchorMax = new Vector2(1, 0); } break; case EAnchorPreset.DualStretch: { rectTrans.anchorMin = Vector2.zero; rectTrans.anchorMax = Vector2.one; } break; } }