/// <summary> /// <para>Mark the given RectTransform as needing it's layout to be recalculated during the next layout pass.</para> /// </summary> /// <param name="rect">Rect to rebuild.</param> public static void MarkLayoutForRebuild(RectTransform rect) { if ((UnityEngine.Object)rect == (UnityEngine.Object)null) { return; } List <Component> componentList = ListPool <Component> .Get(); RectTransform rectTransform = rect; while (true) { RectTransform parent = rectTransform.parent as RectTransform; if (LayoutRebuilder.ValidLayoutGroup(parent, componentList)) { rectTransform = parent; } else { break; } } if ((UnityEngine.Object)rectTransform == (UnityEngine.Object)rect && !LayoutRebuilder.ValidController(rectTransform, componentList)) { ListPool <Component> .Release(componentList); } else { LayoutRebuilder.MarkLayoutRootForRebuild(rectTransform); ListPool <Component> .Release(componentList); } }
public static void MarkLayoutForRebuild(RectTransform rect) { if (!(rect == null)) { List <Component> list = ListPool <Component> .Get(); RectTransform rectTransform = rect; while (true) { RectTransform rectTransform2 = rectTransform.parent as RectTransform; if (!LayoutRebuilder.ValidLayoutGroup(rectTransform2, list)) { break; } rectTransform = rectTransform2; } if (rectTransform == rect && !LayoutRebuilder.ValidController(rectTransform, list)) { ListPool <Component> .Release(list); } else { LayoutRebuilder.MarkLayoutRootForRebuild(rectTransform); ListPool <Component> .Release(list); } } }