示例#1
0
    // 筛选对应符文是否装备的条件进行排序并输出。 [4/17/2015 Zmy]
    private void SortEquipRune(EM_SORT_RUNE_ITEM ntype, ref List <BaseItem> _Returnlist)
    {
        if (ntype == (int)EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_ALL)
        {
            return;
        }
        // 先筛选出已装备的符文进行排序。并剔除掉 [4/17/2015 Zmy]
        List <BaseItem> _Rune = ReturnRuneType(ntype);

        for (int i = _Rune.Count - 1; i >= 0; i--)
        {
            if (_Rune[i].IsEquip())
            {
                _Returnlist.Add(_Rune[i]);
                _Rune.RemoveAt(i);
            }
        }
        _Returnlist.Sort(new RuneComparer());
        // 在对剩余未装备的符文进行排序并添加输出list [4/17/2015 Zmy]
        _Rune.Sort(new RuneComparer());
        for (int i = 0; i < _Rune.Count; ++i)
        {
            _Returnlist.Add(_Rune[i]);
        }
    }
示例#2
0
    //对符文进行排序 [4/17/2015 Zmy]
    public List <BaseItem> SortRuneItemByType(EM_SORT_RUNE_ITEM nType)
    {
        List <BaseItem> _list = new List <BaseItem>();

        _list.Clear();

        switch (nType)
        {
        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_ALL:
            List <BaseItem> _allRune = ReturnItemType((int)EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_EQUIP, EM_ITEM_TYPE.EM_ITEM_TYPE_RUNE);
            //先筛选出已装备的,并从列表中剔除出去(注意要不改变原有的数据内存) [4/17/2015 Zmy]
            for (int i = _allRune.Count - 1; i >= 0; i--)
            {
                if (_allRune[i].IsEquip())
                {
                    _list.Add(_allRune[i]);
                    _allRune.RemoveAt(i);
                }
            }
            _list.Sort(new RuneComparer());

            //未装备的按品质 等级 类型排序一次 [4/17/2015 Zmy]
            _allRune.Sort(new RuneComparer());
            for (int i = 0; i < _allRune.Count; ++i)
            {
                _list.Add(_allRune[i]);
            }
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_SPECIAL:
            SortEquipRune(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_SPECIAL, ref _list);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_RED:
            SortEquipRune(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_RED, ref _list);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_GREEN:
            SortEquipRune(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_GREEN, ref _list);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_PURPLE:
            SortEquipRune(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_PURPLE, ref _list);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_BLUE:
            SortEquipRune(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_BLUE, ref _list);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_NEWGUIDE:
            SortEquipRune(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_NEWGUIDE, ref _list);
            break;

        default:
            break;
        }

        return(_list);
    }
示例#3
0
    // 返回道具背包里指定类型的符文 [4/17/2015 Zmy]
    public List <BaseItem> ReturnRuneType(EM_SORT_RUNE_ITEM nType)
    {
        List <BaseItem> _list = ReturnItemType((int)EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_EQUIP, EM_ITEM_TYPE.EM_ITEM_TYPE_RUNE);

        for (int i = _list.Count - 1; i >= 0; i--)
        {
            switch (nType)
            {
            case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_SPECIAL:
                if (_list[i].GetItemRowData().getRune_type() < (int)EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_SPECIAL)
                {
                    _list.RemoveAt(i);
                }
                break;

            case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_RED:
                if (_list[i].GetItemRowData().getRune_type() != (int)EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_RED)
                {
                    _list.RemoveAt(i);
                }
                break;

            case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_GREEN:
                if (_list[i].GetItemRowData().getRune_type() != (int)EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_GREEN)
                {
                    _list.RemoveAt(i);
                }
                break;

            case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_PURPLE:
                if (_list[i].GetItemRowData().getRune_type() != (int)EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_PURPLE)
                {
                    _list.RemoveAt(i);
                }
                break;

            case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_BLUE:
                if (_list[i].GetItemRowData().getRune_type() != (int)EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_BLUE)
                {
                    _list.RemoveAt(i);
                }
                break;

            default:
                break;
            }
        }

        return(_list);
    }
示例#4
0
    public void SelectRune(EM_SORT_RUNE_ITEM nType)
    {
        _curRuneList.Clear();
        List <BaseItem> runeList = new List <BaseItem>();

        switch (nType)
        {
        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_ALL:
            runeList = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_ALL);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_SPECIAL:
            runeList = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_SPECIAL);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_RED:
            runeList = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_RED);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_GREEN:
            runeList = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_GREEN);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_PURPLE:
            runeList = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_PURPLE);
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_BLUE:
            runeList = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_BLUE);
            break;

        default:
            break;
        }

        for (int i = 0; i < runeList.Count; ++i)
        {
            RuneTempData rune = new RuneTempData();
            rune.item     = runeList[i];
            rune.isSelect = false;
            _curRuneList.Add(rune);
        }

        RelodRune();
    }
示例#5
0
    public void SelectRune(EM_SORT_RUNE_ITEM nType)
    {
        rune.Clear();
        m_CurType = nType;
        switch (nType)
        {
        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_ALL:
            rune = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_ALL);
            RelodRune();
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_SPECIAL:
            rune = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_SPECIAL);
            RelodRune();
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_RED:
            rune = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_RED);
            RelodRune();
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_GREEN:
            rune = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_GREEN);
            RelodRune();
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_PURPLE:
            rune = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_PURPLE);
            RelodRune();
            break;

        case EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_BLUE:
            rune = ObjectSelf.GetInstance().CommonItemContainer.SortRuneItemByType(EM_SORT_RUNE_ITEM.EM_SORT_RUNE_ITEM_BLUE);
            RelodRune();
            break;

        default:
            break;
        }
    }