Exemplo n.º 1
0
    private void SpwanItem(int num, GameObject itemPrefab)
    {
        GameObject   temp     = null;
        LoopListItem itemTemp = null;

        for (int i = 0; i < num; i++)
        {
            temp     = Instantiate(itemPrefab, _content);
            itemTemp = temp.AddComponent <LoopListItem>();
            itemTemp.AddGetDataListener(GetData);
            itemTemp.Init(i, OffsetY, num);
            _items.Add(itemTemp);
        }
    }
Exemplo n.º 2
0
    private void SpawnItem(int num, GameObject itemPrefab)
    {
        GameObject   tempGO   = null;
        LoopListItem itemTemp = null;

        for (int i = 0; i < num; i++)
        {
            tempGO   = Instantiate(itemPrefab, _content);
            itemTemp = tempGO.AddComponent <LoopListItem>();
            itemTemp.AddGetDataListener(GetData);// Func return _models[index]
            itemTemp.Init(i, _OffsetY, num);
            _items.Add(itemTemp);
        }
    }
Exemplo n.º 3
0
        protected virtual LoopListItem OnGetItemByIndex(LoopListView listView, int index)
        {
            if (index < 0 || index >= listView.ItemTotalCount)
            {
                return(null);
            }

            if (index < 0 || index >= _curDataList.Count)
            {
                return(null);
            }

            //以下判定也可以根据需求,暴露出去用以重写

            W            data = _curDataList[index];
            string       name = _getPrefab(data, index);
            LoopListItem item = listView.NewListViewItem(name);

            item.Index           = index;
            item.gameObject.name = index.ToString();

            T itemScript = _curList.Find(t => t.m_gameobj.Equals(item.gameObject));

            if (itemScript == null)
            {
                itemScript = Activator.CreateInstance <T>();
                //itemScript.index = index;
                itemScript.setObj(item.gameObject);
                _curList.Add(itemScript);
            }
            else
            {
                //itemScript.index = index;
            }

            if (item.IsInitHandlerCalled == false)
            {
                item.IsInitHandlerCalled = true;
            }

            itemScript.SetItemControl(item);
            itemScript.Refresh(data);
            return(item);
        }
Exemplo n.º 4
0
 public void SetItemControl(LoopListItem item)
 {
     ItemControl = item;
     ScrollRect  = item.GetComponent <ScrollRect>();
 }