45 lines
1.6 KiB
Lua
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 |