133 lines
4.3 KiB
Lua
133 lines
4.3 KiB
Lua
-- 竞技场:赛季奖励
|
|
local ArenaSeasonRewardUI = class("ArenaSeasonRewardUI", BaseUI)
|
|
|
|
function ArenaSeasonRewardUI:isFullScreen()
|
|
return false
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:showCommonBG()
|
|
return false
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:getPrefabPath()
|
|
return "assets/prefabs/ui/arena/arena_season_reward_ui.prefab"
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:onPressBackspace()
|
|
self:closeUI()
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:ctor()
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:onCover()
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:onReshow()
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:onClose()
|
|
if self.seasonChangeSid then
|
|
self:unscheduleGlobal(self.seasonChangeSid)
|
|
self.seasonChangeSid = nil
|
|
end
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:onLoadRootComplete()
|
|
local uiMap = self.root:genAllChildren()
|
|
|
|
self.txTitle = uiMap["arena_season_reward_ui.bg.title.tx_title"]
|
|
self.closeBtn = uiMap["arena_season_reward_ui.bg.close_btn"]
|
|
-- 赛季奖励
|
|
self.seasonReward = uiMap["arena_season_reward_ui.bg.season_reward"]
|
|
self.txDesc = uiMap["arena_season_reward_ui.bg.season_reward.tx_desc"]
|
|
self.txTime = uiMap["arena_season_reward_ui.bg.season_reward.countdown.tx_time"]
|
|
self.seasonRewardComp = uiMap["arena_season_reward_ui.bg.season_reward.reward_list"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
|
-- 领取奖励
|
|
self.getReward = uiMap["arena_season_reward_ui.bg.last_reward"]
|
|
self.txSeason = uiMap["arena_season_reward_ui.bg.last_reward.tx_season"]
|
|
self.imgGrading = uiMap["arena_season_reward_ui.bg.last_reward.img_grading"]
|
|
self.txGrading = uiMap["arena_season_reward_ui.bg.last_reward.img_grading.tx_grading"]
|
|
self.getRewardComp = uiMap["arena_season_reward_ui.bg.last_reward.rewards"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
|
self.btnGet = uiMap["arena_season_reward_ui.bg.last_reward.btn_get"]
|
|
self.txGet = uiMap["arena_season_reward_ui.bg.last_reward.btn_get.tx_get"]
|
|
|
|
self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_11))
|
|
|
|
self.closeBtn:addClickListener(function()
|
|
self:closeUI()
|
|
end)
|
|
self.btnGet:addClickListener(function()
|
|
ModuleManager.ArenaManager:reqLastSeasonReward()
|
|
end)
|
|
self:bind(DataManager.ArenaData, "isDirty", function()
|
|
self:closeUI()
|
|
end)
|
|
self:addEventListener(EventManager.CUSTOM_EVENT.ARENA_SEASON_END, function()
|
|
self:closeUI()
|
|
end)
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:onRefresh()
|
|
if DataManager.ArenaData:hasSeasonReward() then
|
|
self:showGetReward()
|
|
else
|
|
self:showSeasonReward()
|
|
end
|
|
end
|
|
|
|
-- 显示赛季奖励
|
|
function ArenaSeasonRewardUI:showSeasonReward()
|
|
self.seasonReward:setActive(true)
|
|
self.getReward:setActive(false)
|
|
|
|
self.txDesc:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_12, DataManager.ArenaData:getSeason()))
|
|
|
|
if self.seasonChangeSid then
|
|
self:unscheduleGlobal(self.seasonChangeSid)
|
|
end
|
|
self:refreshCountdown()
|
|
self.seasonChangeSid = self:scheduleGlobal(function()
|
|
self:refreshCountdown()
|
|
end, 1)
|
|
|
|
local ids = DataManager.ArenaData:getGradingIdList()
|
|
self.seasonRewardComp:addInitCallback(function()
|
|
return "app/ui/arena/cell/arena_season_reward_cell"
|
|
end)
|
|
self.seasonRewardComp:addRefreshCallback(function(index, cell)
|
|
cell:refresh(ids[index])
|
|
end)
|
|
self.seasonRewardComp:clearCells()
|
|
self.seasonRewardComp:refillCells(#ids)
|
|
end
|
|
|
|
function ArenaSeasonRewardUI:refreshCountdown()
|
|
self.txTime:setText(Time:formatNumTimeStr(DataManager.ArenaData:getRemainSeasonTime()))
|
|
end
|
|
|
|
-- 显示领取奖励
|
|
function ArenaSeasonRewardUI:showGetReward()
|
|
self.seasonReward:setActive(false)
|
|
self.getReward:setActive(true)
|
|
|
|
local lastId = DataManager.ArenaData:getLastGradingId()
|
|
local rewards = DataManager.ArenaData:getGradingRewardInfo(lastId)
|
|
self.txSeason:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_13, DataManager.ArenaData:getSeason() - 1))
|
|
self.imgGrading:setSprite(GConst.ATLAS_PATH.ARENA, DataManager.ArenaData:getGradingIconName(lastId))
|
|
self.txGrading:setText(DataManager.ArenaData:getGradingName(lastId))
|
|
self.txGet:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_CLAIM))
|
|
|
|
self.btnGet:addRedPoint(110, 35, 0.6)
|
|
|
|
self.getRewardComp:addInitCallback(function()
|
|
return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
|
|
end)
|
|
self.getRewardComp:addRefreshCallback(function(index, cell)
|
|
cell:refresh(rewards[index])
|
|
end)
|
|
self.seasonRewardComp:clearCells()
|
|
self.seasonRewardComp:refillCells(#rewards)
|
|
end
|
|
|
|
return ArenaSeasonRewardUI |