c1_lua/lua/app/ui/main_city/component/arena_comp.lua
2023-06-27 18:27:11 +08:00

93 lines
3.4 KiB
Lua

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