75 lines
2.1 KiB
Lua
75 lines
2.1 KiB
Lua
local HeroManager = class("HeroManager", BaseModule)
|
|
|
|
function HeroManager:showHeroDetailUI(heroId)
|
|
UIManager:showUI("app/ui/hero/hero_detail_ui", {heroId = heroId})
|
|
end
|
|
|
|
function HeroManager:getMatchTypeIcon(matchType)
|
|
return GConst.HeroConst.MATCH_ICON_NAME[matchType]
|
|
end
|
|
|
|
function HeroManager:getMatchTypeName(matchType)
|
|
return I18N:getGlobalText("ELEMENT_NAME_" .. matchType)
|
|
end
|
|
|
|
function HeroManager:getSkillDesc(skillId)
|
|
return I18N:getConfig("skill")[skillId].desc
|
|
end
|
|
|
|
function HeroManager:getSkillIcon(skillId)
|
|
return ConfigManager:getConfig("skill")[skillId].icon
|
|
end
|
|
|
|
function HeroManager:getSkillRogueDesc(skillId)
|
|
return I18N:getConfig("skill_rogue")[skillId].desc
|
|
end
|
|
|
|
function HeroManager:getSkillRogueIcon(skillId)
|
|
return ConfigManager:getConfig("skill_rogue")[skillId].icon
|
|
end
|
|
|
|
function HeroManager:getActiveRogueLvs()
|
|
if not self.activeRogueLvs then
|
|
self.activeRogueLvs = {}
|
|
local lvMap = {}
|
|
for lv, info in ipairs(ConfigManager:getConfig("hero_level")) do
|
|
if not lvMap[info.unlock_skill] then
|
|
table.insert(self.activeRogueLvs, lv)
|
|
lvMap[info.unlock_skill] = true
|
|
end
|
|
end
|
|
end
|
|
|
|
return self.activeRogueLvs
|
|
end
|
|
|
|
function HeroManager:upgradeHero(heroId, heroEntity)
|
|
local heroEntity = heroEntity or DataManager.HeroData:getHeroById(heroId)
|
|
if not heroEntity then
|
|
return
|
|
end
|
|
|
|
local materials = heroEntity:getLvUpMaterials()
|
|
if not materials or not materials[2] then
|
|
return
|
|
end
|
|
|
|
local fragmentCost = materials[1] or 0
|
|
if not GFunc.checkCost(heroEntity:getFramentId(), fragmentCost, true) then
|
|
return
|
|
end
|
|
|
|
if not heroEntity:canLvUp() then
|
|
return
|
|
end
|
|
|
|
ServerDataManager:dataOperate(GConst.ServerDataConst.DATA_OP_BEHAVIOR.UPGRADE_HERO, {heroId = heroId}, function(result)
|
|
if result.status == 0 then
|
|
GFunc.addCosts(result.costs, BIReport.ITEM_GET_TYPE.UPGRADE_HERO)
|
|
DataManager.HeroData:setHeroLv(result.heroId, result.lv)
|
|
DataManager.HeroData:setDirty()
|
|
end
|
|
end)
|
|
end
|
|
|
|
return HeroManager |