예제 #1
0
        protected override void Init()
        {
            base.Init();

            if (View.ListScroller == null)
            {
                Debug.LogWarningFormat("<color=\"aqua\">{0} needs {1} to work properly.</color>", this, typeof(VirtualListScroller));
                return;
            }

            View.ListScroller.ItemIndexChangedEvent += ItemIndexChangedHandler;

            //Create list item mediators
            for (var i = 0; i < View.ListScroller.NumRenderers; i++)
            {
                ItemMediators.Add(CreateItemMediator(i, View.ItemPrefab, View.ContentsParent));
            }

            View.ListScroller.Init();
        }
예제 #2
0
        private TMediator GetMediator(int index)
        {
            TMediator listItem;

            if (index < 0)
            {
                return(null);
            }

            if (index < ItemMediators.Count)
            {
                listItem = ItemMediators[index];
                listItem.SetActive(true);
            }
            else
            {
                listItem = CreateItemMediator(index, View.ItemPrefab, View.ContentsParent);
                ItemMediators.Add(listItem);
            }

            return(listItem);
        }