Esempio n. 1
0
    List <GameItem> GemFilter(List <GameItem> gemList)
    {
        List <GameItem> resultList = new List <GameItem>();

        for (int n = 0; n < gemList.Count; ++n)
        {
            Tab_GemAttr line = TableManager.GetGemAttrByID(gemList[n].DataID, 0);
            if (line != null)
            {
                //部位是否符合
                if (ItemTool.GetEquipSlotType(m_CurEquipSlot) != line.BaseClass)
                {
                    continue;
                }
                //是否已有同类宝石
                for (int i = 0; i < (int)CONSTVALUE.GEM_SLOT_NUM; i++)
                {
                    if (m_GemSlotId[i] >= 0)
                    {
                        Tab_GemAttr lineOther = TableManager.GetGemAttrByID(m_GemSlotId[i], 0);
                        if (lineOther == null)
                        {
                            continue;
                        }
                        if (lineOther.AttrClass == line.AttrClass)
                        {
                            continue;
                        }
                    }
                }
                //添加
                resultList.Add(gemList[n]);
            }
        }
        //foreach (GameItem item in gemList)
        //{
        //    Tab_GemAttr line = TableManager.GetGemAttrByID(item.DataID.ToString(), 0);
        //    if (line != null)
        //    {
        //        //部位是否符合
        //        if (ItemTool.GetEquipSlotType(m_CurEquipSlot) != line.BaseClass)
        //        {
        //            continue;
        //        }
        //        //是否已有同类宝石
        //        for (int i = 0; i < (int)CONSTVALUE.GEM_SLOT_NUM; i++ )
        //        {
        //            if (m_GemSlotId[i] >= 0)
        //            {
        //                Tab_GemAttr lineOther = TableManager.GetGemAttrByID(m_GemSlotId[i].ToString(), 0);
        //                if (lineOther == null)
        //                {
        //                    continue;
        //                }
        //                if (lineOther.AttrClass == line.AttrClass)
        //                {
        //                    continue;
        //                }
        //            }
        //        }
        //        //添加
        //        resultList.Add(item);
        //    }
        //}
        return(resultList);
    }