Exemplo n.º 1
0
        protected void AddItemAt(Type itemType, object data, int index, bool doLayoutImmediately = true)
        {
            if (m_isExecutingCoroutine == true)
            {
                Log.Error("有尚未执行完毕的协程~~", this);
                return;
            }

            //要改成循环利用

            GameObject go = GameObjUtil.Instantiate(m_itemTemplate);

            go.transform.SetParent(this.transform);
            go.transform.localScale    = Vector3.one;
            go.transform.localPosition = Vector3.zero;
            go.SetActive(true);


            //BuildItem(go);
            KListItem item = ComponentUtil.EnsureComponent(go, itemType) as KListItem;

            item.Index = index;
            item.name  = GenerateItemName(index);
            AddItemEventListener(item);
            m_itemList.Insert(index, item);

            item.SetData(data);   //设置数据

            if (doLayoutImmediately)
            {
                RefreshAllItemLayout();
            }
        }
Exemplo n.º 2
0
 //刷新单项信息
 void RefreshItem(KListItem item, int dataIndex)
 {
     if (dataIndex < m_dataList.Count)
     {
         item.Visible = true;
         item.SetData(m_dataList[dataIndex]);
     }
     else
     {
         item.Visible = false;
     }
 }