源战役客户端
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 

69 rader
2.3 KiB

require("game.arena.ArenaModel")
require("game.arena.ArenaView")
require("game.arena.ArenaView")
require("game.arena.ArenaConst")
-- require("game.arena.BattleFieldDefine")
ArenaController = ArenaController or BaseClass(BaseController)
function ArenaController:__init()
ArenaController.Instance = self
self.model = ArenaModel:getInstance()
self:RegisterProtocals()
self:InitEvent()
end
function ArenaController:RegisterProtocals()
end
function ArenaController:InitEvent()
local function OPEN_ARENA_VIEW(index)
if type(index) == "table" then
index = index[1] or 1
end
if self.ArenaView == nil then
self.ArenaView = ArenaView.New()
end
if not self.ArenaView:HasOpen() then
self.ArenaView:Open(index)
else
self.ArenaView:ReOpen(index)
end
self.model:UpdateAllTabDot()
end
GlobalEventSystem:Bind(EventName.OPEN_ARENA_VIEW,OPEN_ARENA_VIEW)
local function CLOSE_ARENA_VIEW( ... )
if self.ArenaView then
self.ArenaView:Close()
end
end
GlobalEventSystem:Bind(EventName.CLOSE_ARENA_VIEW,CLOSE_ARENA_VIEW)
--竞技模块的外部红点全部丢到这里来处理,各个模块自己的红点事件更新后要调用ArenaConst.ANS_ARENA_UPDATE_RED_DOT来刷新外部红点
local function UPDATE_ALL_RED()
local red = false
local pk_red = PkRankModel:getInstance():PkRankModelCheckRedDot(false)
local endless_red = EndlessModel:getInstance():CheckEndlessRedDot()
local wasteland_red = WastelandModel:getInstance():CheckWastelandRedDot()
local clothing_red = ClothingVoteModel:getInstance():GetClothingVoteMainRed()
-- local csgwar_red_data = CSGWarModel:getInstance():GetCSGWarRedData()
-- local csgwar_red = csgwar_red_data.one_red or csgwar_red_data.support_red or csgwar_red_data.fight_red or csgwar_red_data.occupy_red
red = pk_red or endless_red or wasteland_red or clothing_red or csgwar_red
GlobalEventSystem:Fire(ActivityIconManager.UPDATE_ICON_TIPS, 4, red)
end
self.model:Bind(ArenaConst.ANS_ARENA_UPDATE_RED_DOT,UPDATE_ALL_RED)
local function ON_LEVEL_UP(level)
if level and level == 100 then
local pk_red = PkRankModel:getInstance():PkRankModelCheckRedDot(false)
GlobalEventSystem:Fire(ActivityIconManager.UPDATE_ICON_TIPS, 4, pk_red)
end
end
RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, ON_LEVEL_UP)
end