コード例 #1
0
            public AnchorPresetInfo(string name, AnchorPresetType type)
            {
                Name = name;
                Type = type;

                ElementIndex = name == "x" ? 0
                    : name == "y" ? 1
                        : 2;
            }
コード例 #2
0
 public static void SetAnchorAndPivot(this RectTransform rectTransform, AnchorPresetType anchorPresetType, PivotPresetType pivotPresetType)
 {
     rectTransform.SetAnchor(anchorPresetType);
     rectTransform.SetPivot(pivotPresetType);
 }
コード例 #3
0
        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);
            }
        }