Esempio n. 1
0
    /// <summary>
    /// 判断当前装备位置是不是可以强化
    /// </summary>
    /// <param name="pos"></param>
    /// <returns></returns>
    public bool JudgeEquipPosCanStrengthen(GameCmd.EquipPos pos)
    {
        //部位的当前强化等级<主角当前等级
        bool isStrengthMax = emgr.IsGridStrengthenMax(pos);
        bool moneyEnough   = false;
        bool itemEnough    = false;

        EquipDefine.LocalGridStrengthenData next = emgr.GetNextStrengthDataByPos(pos);
        if (next != null)
        {
            ClientMoneyType type = (ClientMoneyType)next.MoneyCostData.ID;
            uint            num  = next.MoneyCostData.Num;
            moneyEnough = MainPlayerHelper.GetMoneyNumByType(type) >= num;
            //满足下面要求的   道具  的数量
            int matchItemNum = 0;
            for (int i = 0; i < next.ItemCostDatas.Count; i++)
            {
                uint itemID  = next.ItemCostDatas[i].ID;
                uint itemNum = next.ItemCostDatas[i].Num;
                int  holdNum = DataManager.Manager <ItemManager>().GetItemNumByBaseId(itemID);
                if (holdNum >= itemNum)
                {
                    matchItemNum++;
                }
            }
            itemEnough = matchItemNum == next.ItemCostDatas.Count;
        }
        return(itemEnough && moneyEnough);
    }