69 lines
2.7 KiB
Lua
69 lines
2.7 KiB
Lua
local ArenaRankCell = class("ArenaRankCell", BaseCell)
|
|
|
|
function ArenaRankCell:init()
|
|
local uiMap = self:getUIMap()
|
|
|
|
self.txRank = uiMap["arena_rank_cell.tx_rank"]
|
|
self.imgRank = uiMap["arena_rank_cell.img_rank"]
|
|
self.playerHeadCell = CellManager:addCellComp(uiMap["arena_rank_cell.player_head_cell"], GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL)
|
|
self.txName = uiMap["arena_rank_cell.tx_name"]
|
|
self.cellGrading = uiMap["arena_rank_cell.arena_grading_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.ARENA_GRADING_CELL)
|
|
self.btnFormation = uiMap["arena_rank_cell.btn_formation"]
|
|
|
|
self.btnFormation:addClickListener(function()
|
|
if DataManager.ArenaData:hasRankFormation() then
|
|
self:showHeroFormationTips()
|
|
else
|
|
self.clickFormation = true
|
|
ModuleManager.ArenaManager:reqRankHeroes(self.rankInfo.ID)
|
|
end
|
|
end)
|
|
self:bind(DataManager.ArenaData, "isDirty", function()
|
|
if self.clickFormation then
|
|
self:showHeroFormationTips()
|
|
end
|
|
end)
|
|
end
|
|
|
|
function ArenaRankCell:refresh(rank)
|
|
self.rankInfo = DataManager.ArenaData:getRankData(rank)
|
|
|
|
self.playerHeadCell:refresh(self.rankInfo.avatar, self.rankInfo.avatar_frame)
|
|
self.txRank:setText(self.rankInfo.rank)
|
|
local name = self.rankInfo.name
|
|
if name == nil or #name == 0 then
|
|
name = I18N:getGlobalText(I18N.GlobalConst.NEW_PLAYER)
|
|
end
|
|
self.txName:setText(name)
|
|
self.cellGrading:refresh(DataManager.ArenaData:getGradingIdFromScore(self.rankInfo.score))
|
|
|
|
if rank == 1 then
|
|
self.txRank:setActive(false)
|
|
self.imgRank:setActive(true)
|
|
self.imgRank:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_dec_1")
|
|
self.baseObject:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_bg_2")
|
|
elseif rank == 2 then
|
|
self.txRank:setActive(false)
|
|
self.imgRank:setActive(true)
|
|
self.imgRank:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_dec_2")
|
|
self.baseObject:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_bg_3")
|
|
elseif rank == 3 then
|
|
self.txRank:setActive(false)
|
|
self.imgRank:setActive(true)
|
|
self.imgRank:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_dec_3")
|
|
self.baseObject:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_bg_4")
|
|
else
|
|
self.imgRank:setActive(false)
|
|
self.txRank:setActive(true)
|
|
self.txRank:setText(rank)
|
|
self.baseObject:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_bg_8")
|
|
end
|
|
end
|
|
|
|
function ArenaRankCell:showHeroFormationTips()
|
|
self.clickFormation = false
|
|
local result = DataManager.ArenaData:getRankFormation(self.rankInfo.ID)
|
|
ModuleManager.TipsManager:showHeroFormation(self.btnFormation, GFunc.formatPlayerFormationInfo(result))
|
|
end
|
|
|
|
return ArenaRankCell |