【命格】提交
parent
1f249735a3
commit
0b5c84931a
|
@ -120,7 +120,9 @@ function this.OneKeyConpound()
|
|||
for i = 1, #configMap do
|
||||
local bool,money = this.DoCircle1(finalList,configMap[i])
|
||||
totalMoney = totalMoney + money
|
||||
-- LogGreen("money:"..tostring(totalMoney))
|
||||
if not bool then
|
||||
-- LogError("合成结束")
|
||||
break
|
||||
end
|
||||
end
|
||||
|
@ -139,6 +141,7 @@ function this.DoCircle1(finalList,data)
|
|||
local lastGNum = 0--上一次合成出来的数量
|
||||
for i = 1, #data do
|
||||
local tempData = data[i]
|
||||
-- LogPink("Id:"..tostring(tempData.Id).." lastGNum:"..tostring(lastGNum))
|
||||
--判断是否满级
|
||||
if not tempData.NextGem or tempData.NextGem == 0 then
|
||||
if lastGNum > 0 then
|
||||
|
@ -146,11 +149,12 @@ function this.DoCircle1(finalList,data)
|
|||
end
|
||||
else
|
||||
local bagGemNum = BagManager.GetTotalItemNum(tempData.Id)--当前背包中数量
|
||||
local curGemNum = 0--当前可使用合成的该等级的Gem数量
|
||||
local curGemNum = lastGNum--当前可使用合成的该等级的Gem数量
|
||||
if bagGemNum > 0 then
|
||||
curGemNum = bagGemNum + lastGNum--当前一共拥有命石数量(包括已经合成的数量)
|
||||
curGemNum = bagGemNum + curGemNum--当前一共拥有命石数量(包括已经合成的数量)
|
||||
end
|
||||
--命石不足
|
||||
-- LogGreen("curGemNum:"..tostring(curGemNum))
|
||||
if curGemNum < tempData.UpgradeNum then
|
||||
if lastGNum > 0 then
|
||||
finalList[tempData.Id] = lastGNum
|
||||
|
@ -182,6 +186,7 @@ function this.DoCircle1(finalList,data)
|
|||
end
|
||||
end
|
||||
lastGNum = curGemNum/tempData.UpgradeNum
|
||||
-- LogGreen("lastGNum:"..tostring(lastGNum))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -196,43 +201,45 @@ function this.FastConpound(id)
|
|||
local configMap = this.GetMapOfBagData()[gemConfig[id].Type]
|
||||
local selectLv = gemConfig[id].Level
|
||||
local lastGNum = 0--上一次合成出来的数量
|
||||
if selectLv == 1 then
|
||||
finalList[id] = BagManager.GetTotalItemNum(id) > 0 and 1 or 0
|
||||
local num = BagManager.isBagPanel and 1 or 0
|
||||
if BagManager.GetTotalItemNum(id) > num then
|
||||
finalList[id] = 1
|
||||
lastGNum = 1
|
||||
else
|
||||
finalList[id] = 0
|
||||
lastGNum = 1
|
||||
end
|
||||
else
|
||||
for i = 1, #configMap do
|
||||
local tempData = configMap[i]
|
||||
if tempData.Level >= selectLv then
|
||||
|
||||
for i = 1, #configMap do
|
||||
local tempData = configMap[i]
|
||||
local bagGemNum = BagManager.GetTotalItemNum(tempData.Id)--当前背包中数量
|
||||
if tempData.Level == selectLv then
|
||||
if lastGNum > 0 then
|
||||
break
|
||||
end
|
||||
local bagGemNum = BagManager.GetTotalItemNum(tempData.Id)--当前背包中数量
|
||||
local curGemNum = 0--当前可使用合成的该等级的Gem数量
|
||||
if bagGemNum > 0 then
|
||||
curGemNum = bagGemNum + lastGNum--当前一共拥有命石数量(包括已经合成的数量)
|
||||
end
|
||||
if curGemNum < tempData.UpgradeNum then--如果出现断层,需要清空数据继续遍历,
|
||||
finalList = {}
|
||||
totalMoney = 0
|
||||
lastGNum = 0
|
||||
local num = BagManager.isBagPanel and 0 or 1
|
||||
if bagGemNum < tempData.UpgradeNum - num then
|
||||
break
|
||||
else
|
||||
local needNum = this.DoCircle2(tempData.Type,tempData.Level,selectLv)
|
||||
local remainNum = curGemNum%tempData.UpgradeNum
|
||||
if curGemNum > needNum then
|
||||
remainNum = curGemNum - needNum
|
||||
curGemNum = needNum
|
||||
end
|
||||
lastGNum = math.floor(curGemNum/tempData.UpgradeNum)
|
||||
totalMoney = totalMoney + lastGNum*tempData.UpgradeCost[2]
|
||||
if bagGemNum > 0 then
|
||||
finalList[tempData.Id] = bagGemNum - remainNum
|
||||
end
|
||||
lastGNum = 1
|
||||
finalList[tempData.Id] = 1
|
||||
break
|
||||
end
|
||||
end
|
||||
if tempData.Level > selectLv then
|
||||
break
|
||||
end
|
||||
local curGemNum = 0--当前可使用合成的该等级的Gem数量
|
||||
if bagGemNum > 0 then
|
||||
curGemNum = bagGemNum + lastGNum--当前一共拥有命石数量(包括已经合成的数量)
|
||||
end
|
||||
if curGemNum < tempData.UpgradeNum then--如果出现断层,需要清空数据继续遍历,
|
||||
finalList = {}
|
||||
totalMoney = 0
|
||||
lastGNum = 0
|
||||
else
|
||||
local needNum = this.DoCircle2(tempData.Type,tempData.Level,selectLv)
|
||||
local remainNum = curGemNum%tempData.UpgradeNum
|
||||
if curGemNum > needNum then
|
||||
remainNum = curGemNum - needNum
|
||||
curGemNum = needNum
|
||||
end
|
||||
lastGNum = math.floor(curGemNum/tempData.UpgradeNum)
|
||||
totalMoney = totalMoney + lastGNum*tempData.UpgradeCost[2]
|
||||
if bagGemNum > 0 then
|
||||
finalList[tempData.Id] = bagGemNum - remainNum
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -80,14 +80,6 @@ function RewardGemSingleShowPopup:BindEvent()
|
|||
UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.GemCompound,itemSid,this.position,function ()
|
||||
self:ClosePanel()
|
||||
end)
|
||||
-- local bool,list,money = GemManager.FastConpound(itemSid)
|
||||
-- LogGreen("bool:"..tostring(bool))
|
||||
-- if bool then
|
||||
-- LogGreen("money:"..tostring(money))
|
||||
-- for key, value in pairs(list) do
|
||||
-- LogGreen("key:"..tostring(key).." value:"..tostring(value))
|
||||
-- end
|
||||
-- end
|
||||
elseif this.openType == 1 then--背包中
|
||||
local num = BagManager.GetTotalItemNum(itemSid)
|
||||
if num/gemConfig[itemSid].UpgradeNum >= 2 then
|
||||
|
@ -98,14 +90,6 @@ function RewardGemSingleShowPopup:BindEvent()
|
|||
UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.GemCompound,itemSid,nil,function ()
|
||||
self:ClosePanel()
|
||||
end)
|
||||
local bool2,list,money,bool = GemManager.FastConpound(itemSid)
|
||||
LogGreen("bool:"..tostring(bool))
|
||||
if bool and bool2 then
|
||||
LogGreen("money:"..tostring(money))
|
||||
for key, value in pairs(list) do
|
||||
LogGreen("key:"..tostring(key).." value:"..tostring(value))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
|
Loading…
Reference in New Issue