/// <summary>
        ///   <para>Forces an immediate rebuild of the layout element and child layout elements affected by the calculations.</para>
        /// </summary>
        /// <param name="layoutRoot">The layout element to perform the layout rebuild on.</param>
        public static void ForceRebuildLayoutImmediate(RectTransform layoutRoot)
        {
            LayoutRebuilder element = LayoutRebuilder.s_Rebuilders.Get();

            element.Initialize(layoutRoot);
            element.Rebuild(CanvasUpdate.Layout);
            LayoutRebuilder.s_Rebuilders.Release(element);
        }
Example #2
0
        public static void ForceRebuildLayoutImmediate(RectTransform layoutRoot)
        {
            LayoutRebuilder layoutRebuilder = s_Rebuilders.Get();

            layoutRebuilder.Initialize(layoutRoot);
            layoutRebuilder.Rebuild(CanvasUpdate.Layout);
            s_Rebuilders.Release(layoutRebuilder);
        }
 private static void MarkLayoutRootForRebuild(RectTransform controller)
 {
     if (!(controller == null))
     {
         LayoutRebuilder layoutRebuilder = LayoutRebuilder.s_Rebuilders.Get();
         layoutRebuilder.Initialize(controller);
         if (!CanvasUpdateRegistry.TryRegisterCanvasElementForLayoutRebuild(layoutRebuilder))
         {
             LayoutRebuilder.s_Rebuilders.Release(layoutRebuilder);
         }
     }
 }
        private static void MarkLayoutRootForRebuild(RectTransform controller)
        {
            if ((UnityEngine.Object)controller == (UnityEngine.Object)null)
            {
                return;
            }
            LayoutRebuilder element = LayoutRebuilder.s_Rebuilders.Get();

            element.Initialize(controller);
            if (CanvasUpdateRegistry.TryRegisterCanvasElementForLayoutRebuild((ICanvasElement)element))
            {
                return;
            }
            LayoutRebuilder.s_Rebuilders.Release(element);
        }