public AnchorPresetInfo(string name, AnchorPresetType type) { Name = name; Type = type; ElementIndex = name == "x" ? 0 : name == "y" ? 1 : 2; }
public static void SetAnchorAndPivot(this RectTransform rectTransform, AnchorPresetType anchorPresetType, PivotPresetType pivotPresetType) { rectTransform.SetAnchor(anchorPresetType); rectTransform.SetPivot(pivotPresetType); }
public static void SetAnchor(this RectTransform rectTransform, AnchorPresetType anchorPresetType, int offsetX = 0, int offsetY = 0) { rectTransform.anchoredPosition = new float2(offsetX, offsetY); switch (anchorPresetType) { case AnchorPresetType.TopLeft: rectTransform.anchorMin = Float2.ZeroOne; rectTransform.anchorMax = Float2.ZeroOne; break; case AnchorPresetType.TopCenter: rectTransform.anchorMin = Float2.HalfOne; rectTransform.anchorMax = Float2.HalfOne; break; case AnchorPresetType.TopRight: rectTransform.anchorMin = Float2.OneOne; rectTransform.anchorMax = Float2.OneOne; break; case AnchorPresetType.MiddleLeft: rectTransform.anchorMin = Float2.ZeroHalf; rectTransform.anchorMax = Float2.ZeroHalf; break; case AnchorPresetType.MiddleCenter: rectTransform.anchorMin = Float2.HalfHalf; rectTransform.anchorMax = Float2.HalfHalf; break; case AnchorPresetType.MiddleRight: rectTransform.anchorMin = Float2.OneHalf; rectTransform.anchorMax = Float2.OneHalf; break; case AnchorPresetType.BottomLeft: rectTransform.anchorMin = Float2.ZeroZero; rectTransform.anchorMax = Float2.ZeroZero; break; case AnchorPresetType.BottomCenter: rectTransform.anchorMin = Float2.HalfZero; rectTransform.anchorMax = Float2.HalfZero; break; case AnchorPresetType.BottomRight: rectTransform.anchorMin = Float2.OneZero; rectTransform.anchorMax = Float2.OneZero; break; case AnchorPresetType.HorStretchTop: rectTransform.anchorMin = Float2.ZeroOne; rectTransform.anchorMax = Float2.OneOne; break; case AnchorPresetType.HorStretchMiddle: rectTransform.anchorMin = Float2.ZeroHalf; rectTransform.anchorMax = Float2.OneHalf; break; case AnchorPresetType.HorStretchBottom: rectTransform.anchorMin = Float2.ZeroZero; rectTransform.anchorMax = Float2.OneZero; break; case AnchorPresetType.VertStretchLeft: rectTransform.anchorMin = Float2.ZeroZero; rectTransform.anchorMax = Float2.ZeroOne; break; case AnchorPresetType.VertStretchCenter: rectTransform.anchorMin = Float2.HalfZero; rectTransform.anchorMax = Float2.HalfOne; break; case AnchorPresetType.VertStretchRight: rectTransform.anchorMin = Float2.OneZero; rectTransform.anchorMax = Float2.OneOne; break; case AnchorPresetType.StretchAll: rectTransform.anchorMin = Float2.ZeroZero; rectTransform.anchorMax = Float2.OneOne; break; default: throw new ArgumentOutOfRangeException(nameof(anchorPresetType), anchorPresetType, null); } }