源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

71 lines
2.1 KiB

require("game.advertisement.AdvertisementModel")
require("game.advertisement.AdvertisementView")
AdvertisementController = AdvertisementController or BaseClass(BaseController, true)
local AdvertisementController = AdvertisementController
AdvertisementController.IsDebug = true
function AdvertisementController:__init()
AdvertisementController.Instance = self
self.model = AdvertisementModel:getInstance()
self:AddEvents()
self:RegisterAllProtocal()
end
function AdvertisementController:__delete()
end
function AdvertisementController:RegisterAllProtocal( )
end
function AdvertisementController:AddEvents()
-- 监控场景加载完毕 加载完才可以去判断 防止cookie没有初始化 只在首次登陆起作用
local function onSceneStartHandler()
self.model:SetSceneLoadState()
if self.on_game_start_id then
self:UnBind(self.on_game_start_id)
end
end
self.on_game_start_id = self:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE, onSceneStartHandler)
--EventName.GAME_START
--EventName.SCENE_LOAD_VIEW_COMPLETE
-- 打开广告
local function on_open_advertisement_view( sub_type )
if not sub_type then
--logWarn('=======Msh:AdvertisementController.lua[27] sub_type=======', sub_type)
return
end
if self.advertisement_view == nil then
self.advertisement_view = AdvertisementView.New()
end
if not self.advertisement_view:HasOpen() then
self.advertisement_view:Open(sub_type)
end
end
self.model:Bind(AdvertisementModel.OPEN_ADVERTISEMENT_VIEW, on_open_advertisement_view)
-- 过天刷新cookie检测
local update_cookie = function ( )
self.model:UpdateCookie()
end
GlobalEventSystem:Bind(EventName.UPDATE_ROLE_LOGIN_TIME_DATA, update_cookie)
-- 强制关闭广告
local function on_close_advertisement_view( )
if self.advertisement_view == nil then
return
end
if self.advertisement_view:HasOpen() then
-- 关闭现有广告 回滚今天的cookie次数
self.model:ResetCookieBySubType(self.advertisement_view.sub_type)
self.advertisement_view:Close()
end
end
self.model:Bind(AdvertisementModel.CLOSE_ADVERTISEMENT_VIEW, on_close_advertisement_view)
end