You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
210 lines
6.0 KiB
210 lines
6.0 KiB
4 years ago
|
using UnityEngine;
|
||
|
|
||
|
public enum AnchorPresets
|
||
|
{
|
||
|
TopLeft,
|
||
|
TopCenter,
|
||
|
TopRight,
|
||
|
|
||
|
MiddleLeft,
|
||
|
MiddleCenter,
|
||
|
MiddleRight,
|
||
|
|
||
|
BottomLeft,
|
||
|
BottonCenter,
|
||
|
BottomRight,
|
||
|
BottomStretch,
|
||
|
|
||
|
VertStretchLeft,
|
||
|
VertStretchRight,
|
||
|
VertStretchCenter,
|
||
|
|
||
|
HorStretchTop,
|
||
|
HorStretchMiddle,
|
||
|
HorStretchBottom,
|
||
|
|
||
|
StretchAll
|
||
|
}
|
||
|
|
||
|
public enum PivotPresets
|
||
|
{
|
||
|
TopLeft,
|
||
|
TopCenter,
|
||
|
TopRight,
|
||
|
|
||
|
MiddleLeft,
|
||
|
MiddleCenter,
|
||
|
MiddleRight,
|
||
|
|
||
|
BottomLeft,
|
||
|
BottomCenter,
|
||
|
BottomRight,
|
||
|
}
|
||
|
|
||
|
public static class RectTransformExtensions
|
||
|
{
|
||
|
public static void SetAnchor(this RectTransform source, AnchorPresets allign, int offsetX = 0, int offsetY = 0)
|
||
|
{
|
||
|
source.anchoredPosition = new Vector3(offsetX, offsetY, 0);
|
||
|
|
||
|
switch (allign)
|
||
|
{
|
||
|
case (AnchorPresets.TopLeft):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0, 1);
|
||
|
source.anchorMax = new Vector2(0, 1);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.TopCenter):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0.5f, 1);
|
||
|
source.anchorMax = new Vector2(0.5f, 1);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.TopRight):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(1, 1);
|
||
|
source.anchorMax = new Vector2(1, 1);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
case (AnchorPresets.MiddleLeft):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0, 0.5f);
|
||
|
source.anchorMax = new Vector2(0, 0.5f);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.MiddleCenter):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0.5f, 0.5f);
|
||
|
source.anchorMax = new Vector2(0.5f, 0.5f);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.MiddleRight):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(1, 0.5f);
|
||
|
source.anchorMax = new Vector2(1, 0.5f);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
case (AnchorPresets.BottomLeft):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0, 0);
|
||
|
source.anchorMax = new Vector2(0, 0);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.BottonCenter):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0.5f, 0);
|
||
|
source.anchorMax = new Vector2(0.5f, 0);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.BottomRight):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(1, 0);
|
||
|
source.anchorMax = new Vector2(1, 0);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
case (AnchorPresets.HorStretchTop):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0, 1);
|
||
|
source.anchorMax = new Vector2(1, 1);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.HorStretchMiddle):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0, 0.5f);
|
||
|
source.anchorMax = new Vector2(1, 0.5f);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.HorStretchBottom):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0, 0);
|
||
|
source.anchorMax = new Vector2(1, 0);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
case (AnchorPresets.VertStretchLeft):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0, 0);
|
||
|
source.anchorMax = new Vector2(0, 1);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.VertStretchCenter):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0.5f, 0);
|
||
|
source.anchorMax = new Vector2(0.5f, 1);
|
||
|
break;
|
||
|
}
|
||
|
case (AnchorPresets.VertStretchRight):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(1, 0);
|
||
|
source.anchorMax = new Vector2(1, 1);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
case (AnchorPresets.StretchAll):
|
||
|
{
|
||
|
source.anchorMin = new Vector2(0, 0);
|
||
|
source.anchorMax = new Vector2(1, 1);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static void SetPivot(this RectTransform source, PivotPresets preset)
|
||
|
{
|
||
|
|
||
|
switch (preset)
|
||
|
{
|
||
|
case (PivotPresets.TopLeft):
|
||
|
{
|
||
|
source.pivot = new Vector2(0, 1);
|
||
|
break;
|
||
|
}
|
||
|
case (PivotPresets.TopCenter):
|
||
|
{
|
||
|
source.pivot = new Vector2(0.5f, 1);
|
||
|
break;
|
||
|
}
|
||
|
case (PivotPresets.TopRight):
|
||
|
{
|
||
|
source.pivot = new Vector2(1, 1);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
case (PivotPresets.MiddleLeft):
|
||
|
{
|
||
|
source.pivot = new Vector2(0, 0.5f);
|
||
|
break;
|
||
|
}
|
||
|
case (PivotPresets.MiddleCenter):
|
||
|
{
|
||
|
source.pivot = new Vector2(0.5f, 0.5f);
|
||
|
break;
|
||
|
}
|
||
|
case (PivotPresets.MiddleRight):
|
||
|
{
|
||
|
source.pivot = new Vector2(1, 0.5f);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
case (PivotPresets.BottomLeft):
|
||
|
{
|
||
|
source.pivot = new Vector2(0, 0);
|
||
|
break;
|
||
|
}
|
||
|
case (PivotPresets.BottomCenter):
|
||
|
{
|
||
|
source.pivot = new Vector2(0.5f, 0);
|
||
|
break;
|
||
|
}
|
||
|
case (PivotPresets.BottomRight):
|
||
|
{
|
||
|
source.pivot = new Vector2(1, 0);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|