宝石一键合成递归处理

function XQLogicWnd:CanUpfunc(itemId,need_num,list)–递归判断能否合成itemid为宝石id,neednum为需要个数,list合成消耗列表
local id = itemId --已经装备宝石的id
if id < 321 then --每次id递减1,直到最低等级
return false
end
local cfg = LBag:GetInstance():GetBagInfo():GetItemsByID(id,true) --获取背包id的格子数据
local num = 0 --背包宝石为id的个数
local need_num = need_num --合成下一级的个数(默认为2合1)
local how_much = 0 --合成需要宝石的个数
if #cfg == 0 then
how_much = num-need_num
else
num = cfg[1].GetCount() --背包内宝石个数
how_much = num - need_num
end
if num > 0 then --背包内宝石个数如果>0
local adata = {} --存一下背包内需要合成宝石的格子数据
adata.indexId = cfg[1].GetIndex()
adata.havenum = 0
if how_much >= 0 then --满足合成条件
adata.havenum = need_num
end
table.insert(list,adata)
end
if how_much >= 0 then --满足合成条件
return true
else
return self:CanUpfunc(id-1, Mathf.Abs(how_much)*2,list)
end
end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值