Exemplo n.º 1
0
    // 更新
    void UpdateInfo()
    {
        m_tempIndex = 1;

        // 不同类型显示内容不同
        ShowCurTypeLayout();

        // 排序好的列表
        List <CSItemGuid> cardList = m_cardSortUI.GetSortReslut();
        ENSortType        sortType = m_cardSortUI.GetLastSortType();

        // 显示卡牌列表
        foreach (CSItemGuid itemGuid in cardList)
        {
            CSItem item = CardBag.Singleton.GetCardByGuid(itemGuid);
            if (null == item)
            {
                continue;
            }

            int cardID = item.IDInTable;

            HeroInfo heroInfo = GameTable.HeroInfoTableAsset.Lookup(cardID);

            if (null == heroInfo)
            {
                Debug.LogWarning("heroInfo == NULL heroInfo cardID:" + cardID);
                continue;
            }

            // 筛选
            if (SortConditon(item))
            {
                continue;
            }

            // 格子不够增加格子
            if (false == m_gridList.ContainsKey(m_tempIndex))
            {
                ExpandOneGrid();
            }

            // 更新格子
            UICardItem cardItem = m_gridList[m_tempIndex];

            cardItem.UpdateOperate(item, sortType, m_tempIndex);

            m_tempIndex++;
        }


        // 把剩余的空格子图片置空
        for (; m_tempIndex <= m_gridList.Count; m_tempIndex++)
        {
            UICardItem cardItem = m_gridList[m_tempIndex];
            cardItem.SetEmpty();
            cardItem.HideWindow();
        }

        m_gridItemList.Reposition();
    }
Exemplo n.º 2
0
    void UpdateInfo()
    {
        // if hide then not update
        if (WindowRoot.activeSelf == false)
        {
            return;
        }
        m_capacity.text    = "" + CardBag.Singleton.m_cardNum;
        m_maxCapacity.text = "/" + CardBag.Singleton.m_capacity;

        if (CardBag.Singleton.m_cardNum > CardBag.Singleton.m_capacity)
        {
            m_capacity.color = Color.red;
        }
        else
        {
            m_capacity.color = Color.black;
        }

        m_cardSortLable.text = CardBag.Singleton.GetSrotString(m_cardSortUI.GetLastSortType());
        // 排序好的列表
        List <CSItemGuid> cardList = m_cardSortUI.GetSortReslut(); // CardBag.Singleton.GetSortedCardList();
        // 排序类型
        ENSortType sortType = m_cardSortUI.GetLastSortType();

        int i = 1;

        foreach (CSItemGuid item in cardList)
        {
            CSItem card = CardBag.Singleton.GetCardByGuid(item);
            if (null == card)
            {
                continue;
            }

            int      cardID   = card.IDInTable;
            HeroInfo heroInfo = GameTable.HeroInfoTableAsset.Lookup(cardID);

            if (null == heroInfo)
            {
                Debug.LogWarning("heroInfo == NULL heroInfo cardID:" + cardID);
                continue;
            }
            // 职业刷选
            if (m_cardSortUI.GetSelectedOcc().Count != 0)
            {
                // 如果不是是选中的职业 则不显示
                if (!m_cardSortUI.GetSelectedOcc().Contains(heroInfo.Occupation))
                {
                    continue;
                }
            }

            // 种族筛选
            if (m_cardSortUI.GetSelectedRace().Count != 0)
            {
                // 如果不是是选中的职业 则不显示
                if (!m_cardSortUI.GetSelectedRace().Contains(heroInfo.Type))
                {
                    continue;
                }
            }


            if (false == m_gridList.ContainsKey(i))
            {
                CreateOneGird(i);
            }

            m_gridList[i].Update(card, sortType, i);

            i++;
        }

        // 把剩余的空格子图片置空
        for (; i <= m_gridList.Count; i++)
        {
            if (!m_gridList.ContainsKey(i))
            {
                continue;
            }

            m_gridList[i].SetEmpty();
        }

        // 最后一个格子 是扩充按钮
        int tempInt = CardBag.Singleton.m_capacity + 1;

        if (CardBag.Singleton.m_cardNum > CardBag.Singleton.m_capacity)
        {
            tempInt = CardBag.Singleton.m_cardNum + 1;
        }


        CreateOneGird(tempInt);

        m_gridList[tempInt].SetExpand();

        m_grid.Reposition();

        // 设置背包 中卡牌的空隙 中用来拖拽的 BOX大小
        BoxCollider boxCollider = m_dragBox.GetComponent <BoxCollider>();
        int         totalCol    = User.Singleton.GetBagCapcity() / m_grid.maxPerLine;

        boxCollider.size = new Vector3(boxCollider.size.x, totalCol * m_grid.cellHeight * 2, 0);

        boxCollider.center = new Vector3(boxCollider.center.x, (-1) * totalCol * m_grid.cellHeight / 2, 0);
    }