コード例 #1
0
ファイル: sdUIPetEquipPnl.cs プロジェクト: tsinglee2009/Dczg
    public void RefreshPetItemListPage()
    {
        if (copyItem == null)
        {
            return;
        }

        Hashtable list = null;

        list = sdNewPetMgr.Instance.getAllPetItemByCharacter((int)m_Type);

        //将宠物装备数据填充到List中,用来排序..
        List <sdGamePetItem> listEquip = new List <sdGamePetItem>();

        foreach (DictionaryEntry info in list)
        {
            sdGamePetItem info1 = info.Value as sdGamePetItem;
            listEquip.Add(info1);
        }
        if (m_iSortType == (int)PetItemSortType.PetItem_SortBy_Value)
        {
            listEquip.Sort(sdGamePetItem.PetItemSortByValue);
        }
        else if (m_iSortType == (int)PetItemSortType.PetItem_SortBy_Color)
        {
            listEquip.Sort(sdGamePetItem.PetItemSortByColor);
        }

        int num   = list.Count;
        int count = petItemList.Count;

        if (num > count)
        {
            num = num - count;
            for (int i = 0; i < num; ++i)
            {
                GameObject tempItem = GameObject.Instantiate(copyItem) as GameObject;
                tempItem.GetComponent <sdUIPetEquipIcon>().index = count;
                tempItem.transform.parent        = copyItem.transform.parent;
                tempItem.transform.localPosition = copyItem.transform.localPosition;
                tempItem.transform.localScale    = copyItem.transform.localScale;
                Vector3 pos = tempItem.transform.localPosition;
                pos.y = pos.y - (114 * (count / 3));
                int iX = (count % 3) * 400;
                pos.x += iX;
                tempItem.transform.localPosition = pos;
                tempItem.GetComponent <sdUIPetEquipIcon>().bSelect = false;
                petItemList.Add(petItemList.Count, tempItem.GetComponent <sdUIPetEquipIcon>());
                ++count;
            }
        }

        IDictionaryEnumerator iter = petItemList.GetEnumerator();

        foreach (sdGamePetItem infoEntry in listEquip)
        {
            if (iter.MoveNext())
            {
                sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon;
                icon.SetIdAndReflashUI(infoEntry.instanceID);
            }
        }

        while (iter.MoveNext())
        {
            sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon;
            icon.SetIdAndReflashUI(UInt64.MaxValue);
        }
    }
コード例 #2
0
    public void RefreshPetItemListPage()
    {
        Hashtable list = null;

        list = sdNewPetMgr.Instance.petItemDB;

        //将宠物装备数据填充到List中,用来排序..
        List <sdGamePetItem> listEquip1 = new List <sdGamePetItem>();
        List <sdGamePetItem> listEquip2 = new List <sdGamePetItem>();

        foreach (DictionaryEntry info in list)
        {
            sdGamePetItem item = info.Value as sdGamePetItem;
            if (item.iCharacter == m_iSortSubClass || m_iSortSubClass == (int)PetEquipType.Pet_EquipType_all)
            {
                listEquip1.Add(item);
            }
            else if (item.iCharacter != m_iSortSubClass && m_iSortSubClass != (int)PetEquipType.Pet_EquipType_all)
            {
                listEquip2.Add(item);
            }
        }
        listEquip1.Sort(sdGamePetItem.PetItemSortByValue);
        listEquip2.Sort(sdGamePetItem.PetItemSortByValue);

        int num   = list.Count;
        int count = petItemList.Count;

        if (num > count)
        {
            num = num - count;
            for (int i = 0; i < num; ++i)
            {
                GameObject tempItem = GameObject.Instantiate(copyItem) as GameObject;
                tempItem.GetComponent <sdUIPetEquipIcon>().index = count;
                tempItem.transform.parent        = copyItem.transform.parent;
                tempItem.transform.localPosition = copyItem.transform.localPosition;
                tempItem.transform.localScale    = copyItem.transform.localScale;
                Vector3 pos = tempItem.transform.localPosition;
                pos.y = pos.y - (114 * (count / 2));
                int iX = (count % 2) * 400;
                pos.x += iX;
                tempItem.transform.localPosition = pos;
                tempItem.GetComponent <sdUIPetEquipIcon>().bSelect = false;
                petItemList.Add(petItemList.Count, tempItem.GetComponent <sdUIPetEquipIcon>());
                ++count;
            }
        }

        IDictionaryEnumerator iter = petItemList.GetEnumerator();

        foreach (sdGamePetItem infoEntry in listEquip1)
        {
            if (iter.MoveNext())
            {
                sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon;
                icon.SetIdAndReflashUI(infoEntry.instanceID);
            }
        }

        foreach (sdGamePetItem infoEntry in listEquip2)
        {
            if (iter.MoveNext())
            {
                sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon;
                icon.SetIdAndReflashUI(infoEntry.instanceID);
            }
        }

        while (iter.MoveNext())
        {
            sdUIPetEquipIcon icon = iter.Value as sdUIPetEquipIcon;
            icon.SetIdAndReflashUI(UInt64.MaxValue);
        }

        if (copyItem != null)
        {
            copyItem.transform.parent.GetComponent <UIDraggablePanel>().ResetPosition();
        }
    }