예제 #1
0
        //为item设置data
        protected void SetItemData(GameObject item, int index_, object data_)
        {
            if (m_item2data.ContainsKey(item))
            {
                if (m_item2data[item] == data_)
                {
                    //数据一样,不重复设置
                    return;
                }
            }

            m_item2data[item] = data_;

            KComponentEvent <GameObject, int, object> .InvokeEvent(m_onDataChanged, item, index_, data_);

            LuaEvtCenter.AddGoEvent(gameObject, KUI_EVT.LIST_ITEM_DATA, item, index_ + 1);    //lua从1开始

            KListViewItem view = CreateItemView(item, index_);

            if (view != null)
            {
                view.Index = index_;
                view.Show(data_);
            }
        }
예제 #2
0
        //清除item的data
        void ClearItemData(GameObject item, int index_)
        {
            if (!m_item2data.ContainsKey(item))
            {
                return;
            }
            m_item2data.Remove(item);

            KComponentEvent <GameObject, int> .InvokeEvent(m_onDataRemoved, item, index_);

            KListViewItem view = CreateItemView(item, index_);

            if (view != null)
            {
                view.Index = -1;
                view.Destroy();
            }
        }
예제 #3
0
        //创建列表视图
        KListViewItem CreateItemView(GameObject item_, int index_)
        {
            if (m_itemViewType == null)
            {
                return(null);
            }

            if (m_item2view.ContainsKey(item_))
            {
                return(m_item2view[item_]);
            }

            KListViewItem view = ClassUtil.New(m_itemViewType) as KListViewItem;

            view.ShowGameObjectEx(item_);

            m_item2view[item_] = view;
            view.Retain(this);

            return(view);
        }