Beispiel #1
0
 private void OnQuizItemSelected(ScrollListItem item)
 {
     if (OnQuizSelected != null)
     {
         OnQuizSelected(this);
     }
 }
Beispiel #2
0
 /// <summary>
 /// 渲染Item
 /// </summary>
 /// <param name="item"></param>
 /// <param name="data"></param>
 /// <param name="isRefresh"></param>
 protected void OnItemRender(ScrollListItem item, object data, bool isRefresh)
 {
     if (isRefresh)
     {
         var listItem = item.GetComponent <RecyclerViewItem>();
         listItem.Refresh(data);
     }
 }
Beispiel #3
0
 private void OnItemRender(ScrollListItem item, object data, bool isRefresh)
 {
     if (isRefresh)
     {
         var listItem = item.GetComponent <ListItem>();
         var listRT   = list.scrollRect.GetComponent <RectTransform>();
         var content  = string.Format("Index:{0}\nData:{1}", item.index, item.data);
         listItem.Refresh(150 + ((item.index % 15) * 20), listRT.rect.height - 40, content);
     }
 }
Beispiel #4
0
    protected void OnItemRender(ScrollListItem item, object data, bool isRefresh)
    {
        if (isRefresh)
        {
            var listItem = item.GetComponent <ListItem>();
            var listRT   = list.scrollRect.GetComponent <RectTransform>();
            var content  = string.Format("Index:{0} Data:{1}", item.index, item.data);
            listItem.Refresh(listRT.rect.width - 40, 100 + ((item.index % 15) * 20), content);
        }

        //Debug.LogFormat("渲染Item [idx:{0}, value:{1}]", item.index, data);
    }
Beispiel #5
0
            private void FindChanges(IList <T> items, out List <ScrollListItem> toAdd, out List <ScrollListItem> toRemove)
            {
                toAdd    = new List <ScrollListItem>();
                toRemove = new List <ScrollListItem>(_items);
                _items.Clear();

                Vector2 pos = new Vector2(0f, -StartPadding);

                if (items != null)
                {
                    for (int i = 0; i < items.Count; ++i)
                    {
                        ScrollListItem item = null;

                        foreach (ScrollListItem button in toRemove)
                        {
                            if (button._item.Matches(items[i]))
                            {
                                button._item.SetItem(items[i]);
                                _items.Add(button);
                                toRemove.Remove(button);
                                item = button;
                                break;
                            }
                        }

                        //If no item exists for this create a new one
                        bool          newItem = item == null;
                        RectTransform transform;

                        if (newItem)
                        {
                            item                       = CreatItemType(items[i]);
                            item._lerp                 = 0.0f;
                            item._state                = ScrollListItem.State.FadingIn;
                            item._targetPosition       = pos;
                            item._fromPosition         = pos;
                            transform                  = item._item.GetTransform();
                            transform.anchoredPosition = pos;
                            item._item.SetFade(0.0f);
                            _items.Add(item);
                            toAdd.Add(item);
                        }

                        //Update position and content size
                        else
                        {
                            transform = item._item.GetTransform();

                            if (item._targetPosition != pos)
                            {
                                item._targetPosition = pos;
                                item._fromPosition   = transform.anchoredPosition;
                                item._state          = ScrollListItem.State.Moving;
                                item._lerp           = 0.0f;
                                item._item.SetFade(1.0f);
                            }
                        }

                        pos.y -= transform.sizeDelta.y + ItemPadding;
                    }
                }
            }
Beispiel #6
0
            private void FindChanges(IList <T> items, out List <ScrollListItem> toAdd, out List <ScrollListItem> toRemove)
            {
                toAdd    = new List <ScrollListItem>();
                toRemove = new List <ScrollListItem>(_items);
                _items.Clear();

                Vector2 pos = new Vector2(0f, -StartPadding);

                if (items != null)
                {
                    for (int i = 0; i < items.Count; ++i)
                    {
                        ScrollListItem item = null;

                        foreach (ScrollListItem button in toRemove)
                        {
                            if (button._item.GetData().Equals(items[i]))
                            {
                                _items.Add(button);
                                toRemove.Remove(button);
                                item = button;
                                break;
                            }
                        }

                        RectTransform transform;

                        //If no item exists for this create a new one
                        if (item == null)
                        {
                            GameObject gameObject = _itemPool.Instantiate(_scrollArea.content.transform);
                            item = new ScrollListItem(gameObject.GetComponent <IScrollListItem <T> >());
                            item._item.OnShow(items[i]);
                            item._lerp                 = 0.0f;
                            item._state                = ScrollListItem.State.FadingIn;
                            item._targetPosition       = pos;
                            item._fromPosition         = pos;
                            transform                  = item._item.GetTransform();
                            transform.anchoredPosition = pos;
                            item._item.SetFade(0.0f);
                            _items.Add(item);
                            toAdd.Add(item);
                        }
                        //Otherwise update existing
                        else
                        {
                            transform = item._item.GetTransform();

                            if (item._targetPosition != pos)
                            {
                                item._targetPosition = pos;
                                item._fromPosition   = transform.anchoredPosition;
                                item._state          = ScrollListItem.State.Moving;
                                item._lerp           = 0.0f;
                                item._item.SetFade(1.0f);
                            }

                            item._item.OnUpdate(items[i]);
                        }

                        pos.y -= transform.sizeDelta.y + ItemPadding;
                    }
                }
            }