コード例 #1
0
    public void Show(SaveableNumberDictionary <int> items, Action <int> selectCallback = null, Func <Jyx2Item, bool> filter = null)
    {
        HSUnityTools.DestroyChildren(m_Container);
        callback = selectCallback;
        foreach (var kv in items)
        {
            string id    = kv.Key;
            int    count = kv.Value;

            var item = ConfigTable.Get <Jyx2Item>(id);
            if (item == null)
            {
                Debug.LogError("调用了错误的物品,id=" + id);
                continue;
            }

            //过滤器逻辑
            if (filter != null && filter(item) == false)
            {
                continue;
            }

            var itemUI = Jyx2ItemUI.Create(int.Parse(id), count);
            itemUI.transform.SetParent(m_Container);
            var btn = itemUI.GetComponent <Button>();

            btn.onClick.RemoveAllListeners();
            btn.onClick.AddListener(() => {
                SelectItem(itemUI);
            });
        }
    }
コード例 #2
0
    void RefreshScroll()
    {
        HSUnityTools.DestroyChildren(ItemRoot_RectTransform);
        bool hasSelect = false;

        foreach (var kv in m_itemDatas)
        {
            string id    = kv.Key;
            int    count = kv.Value;

            var item = ConfigTable.Get <Jyx2Item>(id);
            if (item == null)
            {
                Debug.LogError("cannot get item data, id=" + id);
                continue;
            }
            //item filter
            if (m_filter != null && m_filter(item) == false)
            {
                continue;
            }

            var itemUI = Jyx2ItemUI.Create(int.Parse(id), count);
            itemUI.transform.SetParent(ItemRoot_RectTransform);
            itemUI.transform.localScale = Vector3.one;
            var btn = itemUI.GetComponent <Button>();

            BindListener(btn, () =>
            {
                OnItemClick(itemUI);
            });
            if (!hasSelect)
            {
                m_selectItem = itemUI;
                hasSelect    = true;
            }
            itemUI.Select(m_selectItem == itemUI);
        }
        ShowItemDes();
    }