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