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