示例#1
0
        private static void ApplyLayoutElement <T>(ElementStyleData style, UIReference <T> reference)
            where T : MonoBehaviour
        {
            var minWidth        = style.minWidth;
            var minHeight       = style.minHeight;
            var preferredWidth  = style.preferredWidth;
            var preferredHeight = style.preferredHeight;
            var flexibleWidth   = style.flexibleWidth;
            var flexibleHeight  = style.flexibleHeight;

            // LayoutElement uses -1 values as disabled
            var useLayout = minWidth >= 0 || minHeight >= 0 ||
                            preferredWidth >= 0 || preferredHeight >= 0 ||
                            flexibleWidth >= 0 || flexibleHeight >= 0;

            if (UpdateComponent(reference.value, ref reference.layoutElement, useLayout))
            {
                reference.layoutElement.minWidth        = minWidth;
                reference.layoutElement.minHeight       = minHeight;
                reference.layoutElement.preferredWidth  = preferredWidth;
                reference.layoutElement.preferredHeight = preferredHeight;
                reference.layoutElement.flexibleWidth   = flexibleWidth;
                reference.layoutElement.flexibleHeight  = flexibleHeight;
            }
        }
示例#2
0
 private static void ApplyLayout <T>(ElementStyleData style, UIReference <T> behaviour)
     where T : MonoBehaviour
 {
     if (behaviour.value && visitedObjectsSet.Add(behaviour.value.gameObject))
     {
         ApplyLayoutElement(style, behaviour);
         ApplyContentSizeFitter(style, behaviour);
     }
 }
示例#3
0
        private static void ApplyContentSizeFitter <T>(ElementStyleData style, UIReference <T> reference)
            where T : MonoBehaviour
        {
            var horizontalFit = style.horizontalFit;
            var verticalFit   = style.verticalFit;

            var useFitter = horizontalFit != ContentSizeFitter.FitMode.Unconstrained ||
                            verticalFit != ContentSizeFitter.FitMode.Unconstrained;

            if (UpdateComponent(reference.value, ref reference.sizeFitter, useFitter))
            {
                reference.sizeFitter.horizontalFit = horizontalFit;
                reference.sizeFitter.verticalFit   = verticalFit;
            }
        }