c1_lua/lua/app/module/runes/runes_manager.lua
2023-09-12 10:35:46 +08:00

45 lines
1.6 KiB
Lua

local RunesManager = class("RunesManager", BaseModule)
-- 锁定和解锁属性栏
function RunesManager:reqChangeLockGrid(heroId, index, isLock)
self:sendMessage(ProtoMsgType.FromMsgEnum.RuneLockReq, {hero_id = heroId, grid_num = index, lock = isLock}, {}, self.rspChangeLockGrid)
end
function RunesManager:rspChangeLockGrid(result)
if result.hero_girds then
DataManager.RunesData:onGridLockSuccess(result.reqData.hero_id, result.hero_girds.grids)
end
end
-- 淬炼
function RunesManager:reqQuenching(heroId, autoCount)
if DataManager.RunesData:getRunes(heroId):getAttrLockCount() >= DataManager.RunesData:getUnlockCount() then
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.RUNES_DESC_25))
return
end
if self.isReqQuenching then
return
end
local cost = DataManager.RunesData:getRunes(heroId):getMaterialCost()
if not GFunc.checkCost(GFunc.getRewardId(cost), GFunc.getRewardNum(cost), true) then
UIManager:showUI("app/ui/runes/runes_source_ui")
return
end
self.isReqQuenching = true
self:sendMessage(ProtoMsgType.FromMsgEnum.RuneQuenchingReq, {hero_id = heroId, auto_count = autoCount}, {}, self.rspQuenching, BIReport.ITEM_GET_TYPE.RUNES_QUENCHING)
end
function RunesManager:rspQuenching(result)
self.isReqQuenching = false
if result.err_code == GConst.ERROR_STR.SUCCESS then
DataManager.RunesData:onQuenchingSuccess(result.level, result.exp, result.reqData.hero_id, result.hero_girds.grids)
end
end
function RunesManager:rspUpdate(result)
DataManager.RunesData:init(result.rune)
end
return RunesManager