/// <summary> /// Calculates the size of the component for the specified item. /// </summary> /// <returns>The component size.</returns> /// <param name="item">Item.</param> protected virtual Vector2 CalculateComponentSize(TItem item) { if (Owner.DefaultItemLayout == null) { return(Owner.ItemSize); } Owner.SetData(Owner.DefaultItemCopy, item); LayoutUtilites.UpdateLayoutsRecursive(Owner.Container); return(Owner.DefaultItemCopyRect.rect.size); }
/// <summary> /// Calculates the size of the component for the specified item. /// </summary> /// <returns>The component size.</returns> /// <param name="item">Item.</param> protected virtual Vector2 CalculateComponentSize(TItem item) { if (Owner.DefaultItemLayout == null) { return(Owner.ItemSize); } Owner.SetData(Owner.DefaultItemCopy, item); Owner.DefaultItemNestedLayouts.ForEach(LayoutUtilites.UpdateLayout); LayoutUtilites.UpdateLayout(Owner.DefaultItemLayout); var size = new Vector2( LayoutUtility.GetPreferredWidth(Owner.DefaultItemCopyRect), LayoutUtility.GetPreferredHeight(Owner.DefaultItemCopyRect)); return(size); }