local MainCompBaseCell = require "app/ui/main_city/component/main_comp_base_cell" local ArenaComp = class("ArenaComp", MainCompBaseCell) function ArenaComp:getIsOpen() return true end function ArenaComp:getEntranceName() return I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_1) end function ArenaComp:getFightDesc() return I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_2) end function ArenaComp:getShowEntranceRedPoint() return true end function ArenaComp:ctor() end function ArenaComp:init() local uiMap = self:getBaseObject():genAllChildren() self.txSeason = uiMap["arena_comp.tx_season"] self.txTitle = uiMap["arena_comp.tx_title"] self.txCountdown = uiMap["arena_comp.countdown.tx_time"] self.txGarding = uiMap["arena_comp.tx_garding"] self.imgGarding = uiMap["arena_comp.img_garding"] self.imgProg = uiMap["arena_comp.prog.img_prog"] self.txProg = uiMap["arena_comp.prog.tx_prog"] self.btnHelp = uiMap["arena_comp.tx_season.btn_help"] self.btnRecord = uiMap["arena_comp.btn_record"] self.txRecord = uiMap["arena_comp.btn_record.tx_record"] self.btnFormation = uiMap["arena_comp.btn_formation"] self.txFormation = uiMap["arena_comp.btn_formation.tx_formation"] self.btnReward = uiMap["arena_comp.btn_reward"] self.txReward = uiMap["arena_comp.btn_reward.tx_reward"] self.btnRank = uiMap["arena_comp.btn_rank"] self.txRank = uiMap["arena_comp.btn_rank.tx_rank"] self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_4)) self.txRecord:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_7)) self.txFormation:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_9)) self.txReward:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC)) self.txRank:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_5)) self.btnHelp:addClickListener(function() ModuleManager.TipsManager:showDescTips(DataManager.DungeonData:getRule(self.moduleKey), self.btnHelp) end) self.btnRecord:addClickListener(function() UIManager:showUI("app/ui/arena/arena_recent_battle_ui") end) self.btnFormation:addClickListener(function() UIManager:showUI("app/ui/arena/arena_formation_ui") end) self.btnReward:addClickListener(function() UIManager:showUI("app/ui/arena/arena_season_reward_ui") end) self.btnRank:addClickListener(function() UIManager:showUI("app/ui/arena/arena_rank_ui") end) self:refreshShow() end function ArenaComp:refreshShow() local maxScore = DataManager.ArenaData:getGradingScoreTotal() local curScore = DataManager.ArenaData:getGradingScore() self.txSeason:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_3, DataManager.ArenaData:getSeason())) self.txGarding:setText(DataManager.ArenaData:getGradingName(DataManager.ArenaData:getGradingId())) self.txProg:setText(curScore.."/"..maxScore) self.seasonChangeCD = DataManager.ArenaData:getRemainSeasonTime() if self.seasonChangeSid then ModuleManager.BattleManager:unscheduleGlobal(self.seasonChangeSid) end self.seasonChangeSid = self.txCountdown:scheduleGlobal(function() self:refreshCountdown() end, 1) end function ArenaComp:refreshCountdown() self.seasonChangeCD = self.seasonChangeCD - 1 if self.seasonChangeCD < 0 then ModuleManager.ArenaManager:onSeasonChanged() return end self.txCountdown:setText(Time:formatNumTimeStr(self.seasonChangeCD)) end return ArenaComp