Ejemplo n.º 1
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>();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Start this instance.
        /// </summary>
        public override void Start()
        {
            if (isStartedListViewCustom)
            {
                return;
            }
            isStartedListViewCustom = true;

            base.Start();

            DestroyGameObjects = false;

            if (DefaultItem == null)
            {
                throw new NullReferenceException(String.Format("DefaultItem is null. Set component of type {0} to DefaultItem.", typeof(TComponent).FullName));
            }
            DefaultItem.gameObject.SetActive(true);

            var topFillerObj = new GameObject("top filler");

            topFillerObj.transform.SetParent(Container);
            topFiller = topFillerObj.AddComponent <RectTransform>();
            topFiller.SetAsFirstSibling();
            topFiller.localScale = Vector3.one;

            var bottomFillerObj = new GameObject("bottom filler");

            bottomFillerObj.transform.SetParent(Container);
            bottomFiller            = bottomFillerObj.AddComponent <RectTransform>();
            bottomFiller.localScale = Vector3.one;

            if (CanOptimize())
            {
                ScrollRect = scrollRect;

                scrollHeight = scrollRect.GetComponent <RectTransform>().rect.height;
                if (itemHeight == 0)
                {
                    var rect             = DefaultItem.GetComponent <RectTransform>();
                    var preffered_height = LayoutUtility.GetPreferredSize(rect, 1);
                    itemHeight = (preffered_height <= 0) ? rect.rect.height : preffered_height;
                }
                layout = Container.GetComponent <EasyLayout.EasyLayout>();
                CalculateMaxVisibleItems();

                var r = scrollRect.gameObject.AddComponent <ResizeListener>();
                r.OnResize.AddListener(Resize);
            }

            customItems = SortItems(customItems);
            UpdateView();

            DefaultItem.gameObject.SetActive(false);

            OnSelect.AddListener(OnSelectCallback);
            OnDeselect.AddListener(OnDeselectCallback);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Start this instance.
        /// </summary>
        public override void Start()
        {
            if (isStartedListView)
            {
                return;
            }
            isStartedListView = true;

            base.Start();

            DestroyGameObjects = false;

            if (DefaultItem == null)
            {
                throw new NullReferenceException("DefaultItem is null. Set component of type ImageAdvanced to DefaultItem.");
            }
            DefaultItem.gameObject.SetActive(true);
            if (DefaultItem.GetComponentInChildren <Text>() == null)
            {
                throw new MissingComponentException("DefaultItem don't have child with 'Text' component. Add child with 'Text' component to DefaultItem.");
            }

            var topFillerObj = new GameObject("top filler");

            topFillerObj.transform.SetParent(Container);
            topFiller = topFillerObj.AddComponent <RectTransform>();
            topFiller.SetAsFirstSibling();
            topFiller.localScale = Vector3.one;

            var bottomFillerObj = new GameObject("bottom filler");

            bottomFillerObj.transform.SetParent(Container);
            bottomFiller            = bottomFillerObj.AddComponent <RectTransform>();
            bottomFiller.localScale = Vector3.one;

            if (CanOptimize())
            {
                ScrollRect = scrollRect;

                scrollHeight    = scrollRect.GetComponent <RectTransform>().rect.height;
                itemHeight      = DefaultItem.GetComponent <RectTransform>().rect.height;
                maxVisibleItems = (int)Math.Ceiling(scrollHeight / itemHeight) + 1;
                layout          = Container.GetComponent <EasyLayout.EasyLayout>();

                var r = scrollRect.gameObject.AddComponent <ResizeListener>();
                r.OnResize.AddListener(Resize);
            }

            UpdateItems();

            DefaultItem.gameObject.SetActive(false);

            OnSelect.AddListener(OnSelectCallback);
            OnDeselect.AddListener(OnDeselectCallback);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Start this instance.
        /// </summary>
        public override void Start()
        {
            if (isStartedListViewCustom)
            {
                return;
            }

            base.Start();
            base.Items = new List <ListViewItem>();

            SelectedItemsCache = SelectedItems;

            SetItemIndicies = false;

            DestroyGameObjects = false;

            if (DefaultItem == null)
            {
                throw new NullReferenceException(String.Format("DefaultItem is null. Set component of type {0} to DefaultItem.", typeof(TComponent).FullName));
            }
            DefaultItem.gameObject.SetActive(true);

            if (CanOptimize())
            {
                ScrollRect = scrollRect;

                var scroll_rect_transform = scrollRect.transform as RectTransform;
                scrollHeight = scroll_rect_transform.rect.height;
                scrollWidth  = scroll_rect_transform.rect.width;

                CalculateItemSize();

                layout          = Container.GetComponent <EasyLayout.EasyLayout>();
                layout.Stacking = (IsHorizontal()) ? EasyLayout.Stackings.Vertical : EasyLayout.Stackings.Horizontal;

                CalculateMaxVisibleItems();

                var r = scrollRect.gameObject.AddComponent <ResizeListener>();
                r.OnResize.AddListener(SetNeedResize);
            }

            DefaultItem.gameObject.SetActive(false);

            Direction = direction;

            UpdateItems();

            OnSelect.AddListener(OnSelectCallback);
            OnDeselect.AddListener(OnDeselectCallback);

            isStartedListViewCustom = true;
        }
Ejemplo n.º 5
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>
 public EasyLayoutBridge(EasyLayout.EasyLayout layout, RectTransform defaultItem)
 {
     Layout      = layout;
     DefaultItem = defaultItem;
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Start this instance.
        /// </summary>
        public override void Start()
        {
            if (isStartedListView)
            {
                return;
            }
            isStartedListView = true;

            base.Start();
            base.Items = new List <ListViewItem>();

            SelectedItemsCache = SelectedIndicies.ConvertAll <string>(GetDataItem);

            DestroyGameObjects = false;

            if (DefaultItem == null)
            {
                throw new NullReferenceException("DefaultItem is null. Set component of type ImageAdvanced to DefaultItem.");
            }
            DefaultItem.gameObject.SetActive(true);
            if (DefaultItem.GetComponentInChildren <Text>() == null)
            {
                throw new MissingComponentException("DefaultItem don't have child with 'Text' component. Add child with 'Text' component to DefaultItem.");
            }

            var topFillerObj = new GameObject("top filler");

            topFillerObj.transform.SetParent(Container);
            topFiller = topFillerObj.AddComponent <RectTransform>();
            topFiller.SetAsFirstSibling();
            topFiller.localScale = Vector3.one;

            var bottomFillerObj = new GameObject("bottom filler");

            bottomFillerObj.transform.SetParent(Container);
            bottomFiller            = bottomFillerObj.AddComponent <RectTransform>();
            bottomFiller.localScale = Vector3.one;

            if (CanOptimize())
            {
                ScrollRect = scrollRect;

                var scrollRectTransform = scrollRect.transform as RectTransform;
                scrollHeight = scrollRectTransform.rect.height;
                scrollWidth  = scrollRectTransform.rect.width;

                var itemRectTransform = DefaultItem.transform as RectTransform;
                itemHeight = itemRectTransform.rect.height;
                itemWidth  = itemRectTransform.rect.width;

                layout = Container.GetComponent <EasyLayout.EasyLayout>();

                CalculateMaxVisibleItems();
            }

            DefaultItem.gameObject.SetActive(false);

            UpdateItems();

            OnSelect.AddListener(OnSelectCallback);
            OnDeselect.AddListener(OnDeselectCallback);
        }