public static void FlipLayoutAxes(RectTransform rect, bool keepPositioning, bool recursive)
{
if (rect == null)
{
return;
}
if (recursive)
{
for (int i = 0; i < rect.childCount; i++)
{
RectTransform rectTransform = rect.GetChild(i) as RectTransform;
if (rectTransform != null)
{
RectTransformUtility.FlipLayoutAxes(rectTransform, false, true);
}
}
}
rect.pivot = RectTransformUtility.GetTransposed(rect.pivot);
rect.sizeDelta = RectTransformUtility.GetTransposed(rect.sizeDelta);
if (keepPositioning)
{
return;
}
rect.anchoredPosition = RectTransformUtility.GetTransposed(rect.anchoredPosition);
rect.anchorMin = RectTransformUtility.GetTransposed(rect.anchorMin);
rect.anchorMax = RectTransformUtility.GetTransposed(rect.anchorMax);
}