void UpdateDirection() { Layout.Stacking = isHorizontal ? EasyLayout.Stackings.Vertical : EasyLayout.Stackings.Horizontal; if (UpdateContentSizeFitter) { var fitter = Layout.GetComponent <ContentSizeFitter>(); if (fitter) { fitter.horizontalFit = (IsHorizontal) ? ContentSizeFitter.FitMode.PreferredSize : ContentSizeFitter.FitMode.Unconstrained; fitter.verticalFit = (!IsHorizontal) ? ContentSizeFitter.FitMode.PreferredSize : ContentSizeFitter.FitMode.Unconstrained; } } var layout_rect_transform = Layout.transform as RectTransform; layout_rect_transform.pivot = new Vector2(0, 1); if (isHorizontal) { layout_rect_transform.anchorMin = new Vector2(0, 0); layout_rect_transform.anchorMax = new Vector2(0, 1); } else { layout_rect_transform.anchorMin = new Vector2(0, 1); layout_rect_transform.anchorMax = new Vector2(1, 1); } layout_rect_transform.sizeDelta = new Vector2(0, 0); }
/// <summary> /// Initializes a new instance of the <see cref="UIWidgets.EasyLayoutBridge"/> class. /// </summary> /// <param name="layout">Layout.</param> /// <param name="defaultItem">Default item.</param> /// <param name="updateContentSizeFitter">Update ContentSizeFitter on direction change.</param> public EasyLayoutBridge(EasyLayout.EasyLayout layout, RectTransform defaultItem, bool updateContentSizeFitter = true) { Layout = layout; DefaultItem = defaultItem; UpdateContentSizeFitter = updateContentSizeFitter; fitter = Layout.GetComponent <ContentSizeFitter>(); }