using System; using System.Collections.Generic; namespace UnityEngine.UI { // Token: 0x0200009D RID: 157 public static class LayoutUtility { // Token: 0x060005BB RID: 1467 RVA: 0x0001D214 File Offset: 0x0001B614 public static float GetMinSize(RectTransform rect, int axis) { float num; if (axis == 0) { num = LayoutUtility.GetMinWidth(rect); } else { num = LayoutUtility.GetMinHeight(rect); } return num; } // Token: 0x060005BC RID: 1468 RVA: 0x0001D244 File Offset: 0x0001B644 public static float GetPreferredSize(RectTransform rect, int axis) { float num; if (axis == 0) { num = LayoutUtility.GetPreferredWidth(rect); } else { num = LayoutUtility.GetPreferredHeight(rect); } return num; } // Token: 0x060005BD RID: 1469 RVA: 0x0001D274 File Offset: 0x0001B674 public static float GetFlexibleSize(RectTransform rect, int axis) { float num; if (axis == 0) { num = LayoutUtility.GetFlexibleWidth(rect); } else { num = LayoutUtility.GetFlexibleHeight(rect); } return num; } // Token: 0x060005BE RID: 1470 RVA: 0x0001D2A4 File Offset: 0x0001B6A4 public static float GetMinWidth(RectTransform rect) { return LayoutUtility.GetLayoutProperty(rect, (ILayoutElement e) => e.minWidth, 0f); } // Token: 0x060005BF RID: 1471 RVA: 0x0001D2E4 File Offset: 0x0001B6E4 public static float GetPreferredWidth(RectTransform rect) { return Mathf.Max(LayoutUtility.GetLayoutProperty(rect, (ILayoutElement e) => e.minWidth, 0f), LayoutUtility.GetLayoutProperty(rect, (ILayoutElement e) => e.preferredWidth, 0f)); } // Token: 0x060005C0 RID: 1472 RVA: 0x0001D350 File Offset: 0x0001B750 public static float GetFlexibleWidth(RectTransform rect) { return LayoutUtility.GetLayoutProperty(rect, (ILayoutElement e) => e.flexibleWidth, 0f); } // Token: 0x060005C1 RID: 1473 RVA: 0x0001D390 File Offset: 0x0001B790 public static float GetMinHeight(RectTransform rect) { return LayoutUtility.GetLayoutProperty(rect, (ILayoutElement e) => e.minHeight, 0f); } // Token: 0x060005C2 RID: 1474 RVA: 0x0001D3D0 File Offset: 0x0001B7D0 public static float GetPreferredHeight(RectTransform rect) { return Mathf.Max(LayoutUtility.GetLayoutProperty(rect, (ILayoutElement e) => e.minHeight, 0f), LayoutUtility.GetLayoutProperty(rect, (ILayoutElement e) => e.preferredHeight, 0f)); } // Token: 0x060005C3 RID: 1475 RVA: 0x0001D43C File Offset: 0x0001B83C public static float GetFlexibleHeight(RectTransform rect) { return LayoutUtility.GetLayoutProperty(rect, (ILayoutElement e) => e.flexibleHeight, 0f); } // Token: 0x060005C4 RID: 1476 RVA: 0x0001D47C File Offset: 0x0001B87C public static float GetLayoutProperty(RectTransform rect, Func property, float defaultValue) { ILayoutElement layoutElement; return LayoutUtility.GetLayoutProperty(rect, property, defaultValue, out layoutElement); } // Token: 0x060005C5 RID: 1477 RVA: 0x0001D49C File Offset: 0x0001B89C public static float GetLayoutProperty(RectTransform rect, Func property, float defaultValue, out ILayoutElement source) { source = null; float num; if (rect == null) { num = 0f; } else { float num2 = defaultValue; int num3 = int.MinValue; List list = ListPool.Get(); rect.GetComponents(typeof(ILayoutElement), list); for (int i = 0; i < list.Count; i++) { ILayoutElement layoutElement = list[i] as ILayoutElement; if (!(layoutElement is Behaviour) || ((Behaviour)layoutElement).isActiveAndEnabled) { int layoutPriority = layoutElement.layoutPriority; if (layoutPriority >= num3) { float num4 = property(layoutElement); if (num4 >= 0f) { if (layoutPriority > num3) { num2 = num4; num3 = layoutPriority; source = layoutElement; } else if (num4 > num2) { num2 = num4; source = layoutElement; } } } } } ListPool.Release(list); num = num2; } return num; } } }