示例#1
0
        private void CreateItemForIndex(int inx)
        {
            IDataItemRenderer item = GetItem();

            item.Transform.anchoredPosition = IndexToPosition(inx);
            _itemDict.Add(inx, item);
            _onChange(item, inx);
        }
示例#2
0
 private void OnRefreshItem(IDataItemRenderer item, int index)
 {
     if (_isOpen)
     {
         if (index < _records.Count)
         {
             item.Set(_records[index]);
         }
     }
 }
示例#3
0
 protected override void ItemRefresh(IDataItemRenderer item, int index)
 {
     if (_isOpen)
     {
         if (index < _rooms.Count)
         {
             item.Set(_rooms[index]);
         }
         else
         {
             item.Unload();
         }
     }
 }
示例#4
0
        public int GetItemIndex(IDataItemRenderer item)
        {
            int index = 0;

            foreach (var dataitem in _itemDict)
            {
                if (dataitem.Value == item)
                {
                    index = dataitem.Key;
                    break;
                }
            }

            return(index);
        }
示例#5
0
 protected abstract void ItemRefresh(IDataItemRenderer item, int index);
示例#6
0
 private void FreeItem(IDataItemRenderer item)
 {
     item.Transform.anchoredPosition = new Vector2(-10000, 0);
     item.Set(null);
     _itemPool.Push(item);
 }