示例#1
0
    bool InsertGem(CObject_Item_Gem gem, CObject_Item_Equip equip)
    {
        for (int i = 0; i < GAMEDEFINE.MAX_ITEM_GEM; i++)
        {
            if (mEnchanseGemInfo[i].bFlag == 1)
            {
                CObject_Item_Gem gemold = CDataPool.Instance.UserBag_GetItemById(mEnchanseGemInfo[i].nGemType) as CObject_Item_Gem;
                if (gemold != null && gem.GetItemTableType() == gemold.GetItemTableType())
                {
                    return(false);
                }
            }
            if (mEnchanseGemInfo[i].bFlag == 0)
            {
                //当前没有宝石
                if (equip.GetGemTableId(i) == 0)
                {
                    byte oldFlag = 2;
                    int  index   = equip.IsGemmy(gem.GetItemTableType());
                    if (index >= 0)
                    {
                        oldFlag = mEnchanseGemInfo[index].bFlag;
                    }
                    if (oldFlag == 2)
                    {
                        mEnchanseGemInfo[i].nGemType = gem.GetID();
                        mEnchanseGemInfo[i].bFlag    = 1;

                        return(true);
                    }
                }
            }
        }
        return(false);
    }