This commit is contained in:
Fang 2023-09-19 11:52:12 +08:00
parent aabf68a924
commit d3fb1d1291
2 changed files with 31 additions and 25 deletions

View File

@ -5,6 +5,11 @@ function RunesManager:isInAutoQuenching()
return self.isAutoQuenching == true return self.isAutoQuenching == true
end end
-- 是否处于正在同步自动淬炼次数中
function RunesManager:isInSyncQuenching()
return self.isSyncQuenching == true
end
-- 锁定和解锁属性栏 -- 锁定和解锁属性栏
function RunesManager:reqChangeLockGrid(heroId, index, isLock) function RunesManager:reqChangeLockGrid(heroId, index, isLock)
if self.isReqLockChange then if self.isReqLockChange then

View File

@ -133,34 +133,35 @@ end
-- 自动淬炼刷新 -- 自动淬炼刷新
function RunesInfoComp:autoQuenching() function RunesInfoComp:autoQuenching()
DataManager.RunesData:onAutoQuenchingOnce()
self.tempExp = self.tempExp + self.tempCostNum
self.tempMaterialCount = self.tempMaterialCount - self.tempCostNum
self.tempLevel = DataManager.RunesData:getLevelByExp(self.tempExp)
local curCfg = DataManager.RunesData:getLevelConfig()[self.tempLevel]
local nextCfg = DataManager.RunesData:getLevelConfig()[self.tempLevel + 1]
local maxExp = (nextCfg and nextCfg.cost or 0) - (curCfg and curCfg.cost or 0)
if maxExp then
local levelExp = self.tempExp - (curCfg and curCfg.cost or 0)
self.imgProg.value = levelExp / maxExp
self.txProg:setText(levelExp .. "/" .. maxExp)
else
self.imgProg.value = 1
self.txProg:setText(I18N:getGlobalText(I18N.GlobalConst.STR_MAX))
end
self.txLevel:setText(I18N:getGlobalText(I18N.GlobalConst.RUNES_DESC_1, self.tempLevel))
self.txNum:setText(self.tempMaterialCount)
self:refreshSuit() self:refreshSuit()
self:refreshRunes() self:refreshRunes()
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.RUNE_QUENCHING_SUCCESS, self.tempMaterialCount)
if self.tempMaterialCount < self.tempCostNum then if not ModuleManager.RunesManager:isInSyncQuenching() then
-- 剩余材料不够,结束自动淬炼 DataManager.RunesData:onAutoQuenchingOnce()
ModuleManager.RunesManager:reqSyncQuenching(true) self.tempExp = self.tempExp + self.tempCostNum
else self.tempMaterialCount = self.tempMaterialCount - self.tempCostNum
DataManager.RunesData:checkAutoTime() self.tempLevel = DataManager.RunesData:getLevelByExp(self.tempExp)
local curCfg = DataManager.RunesData:getLevelConfig()[self.tempLevel]
local nextCfg = DataManager.RunesData:getLevelConfig()[self.tempLevel + 1]
local maxExp = (nextCfg and nextCfg.cost or 0) - (curCfg and curCfg.cost or 0)
if maxExp then
local levelExp = self.tempExp - (curCfg and curCfg.cost or 0)
self.imgProg.value = levelExp / maxExp
self.txProg:setText(levelExp .. "/" .. maxExp)
else
self.imgProg.value = 1
self.txProg:setText(I18N:getGlobalText(I18N.GlobalConst.STR_MAX))
end
self.txLevel:setText(I18N:getGlobalText(I18N.GlobalConst.RUNES_DESC_1, self.tempLevel))
self.txNum:setText(self.tempMaterialCount)
if self.tempMaterialCount < self.tempCostNum then
-- 剩余材料不够,结束自动淬炼
ModuleManager.RunesManager:reqSyncQuenching(true)
else
DataManager.RunesData:checkAutoTime()
end
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.RUNE_QUENCHING_SUCCESS, self.tempMaterialCount)
end end
end end