源战役客户端
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.
 
 
 
 
 

129 lines
3.7 KiB

AdvertisementView = AdvertisementView or BaseClass(BaseView)
local AdvertisementView = AdvertisementView
function AdvertisementView:__init()
self.base_file = "advertisement"
self.layout_file = "AdvertisementView"
self.layer_name = "Activity"
self.destroy_imm = true
self.use_background = true
self.hide_maincancas = true --全屏界面需要放开隐藏主UI
self.change_scene_close = false
self.append_to_ctl_queue = false --是否要添加进界面堆栈
self.need_show_money = false --是否要显示顶部的金钱栏
self.ad_type = ad_type
self.model = AdvertisementModel:getInstance()
self.load_callback = function ()
self:LoadSuccess()
self:AddEvent()
end
self.open_callback = function ( )
self:OpenSuccess()
end
self.switch_callback = function(index)
self:SwitchTab(index)
end
self.destroy_callback = function ( )
self:DestroySuccess()
end
end
function AdvertisementView:Open( sub_type )
self.data = self.model:GetAdvertisementData(sub_type)
self.sub_type = sub_type
BaseView.Open(self)
end
function AdvertisementView:LoadSuccess()
local nodes = {
"goBtn:obj:img", "closeTipTxt:obj:txt", "goBtn/goTxt:obj:txt", "bg:obj:raw", "closeBtn:obj",
-- 不再toggle
"Toggle:obj", "Toggle/tipTxt:obj:txt", "Toggle/toggleBtn:obj", "Toggle/checkbox:obj",
}
self:GetChildren(nodes)
self:UpdateBaseView( )
end
function AdvertisementView:UpdateBaseView( )
self.goTxt_txt.text = "前往获取"
self.closeTipTxt_txt.text = ""
self.closeBtn_obj:SetActive(true) -- 默认有关闭
self.tipTxt_txt.text = "今日登陆不再提示"
self.today_not_show = false
self.checkbox_obj:SetActive(false)
end
function AdvertisementView:AddEvent()
local on_click = function ( click_obj )
if self.goBtn_obj == click_obj then
if self.data and self.data.ad_tpye == AdvertisementModel.AD_TYPE.LOGIN then
OpenFun.Open(self.data.module_data[1], self.data.module_data[2])
self:Close()
end
elseif self.closeBtn_obj == click_obj then
self:Close()
elseif self.toggleBtn_obj == click_obj then
self:SetToggle( not self.today_not_show )
end
end
AddClickEvent(self.goBtn_obj, on_click)
AddClickEvent(self.closeBtn_obj, on_click)
AddClickEvent(self.toggleBtn_obj, on_click)
end
function AdvertisementView:OpenSuccess()
self:UpdateView()
end
function AdvertisementView:SetToggle( bool )
self.today_not_show = bool
self.checkbox_obj:SetActive(bool)
end
function AdvertisementView:UpdateView()
lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetAdBigBg(self.data.ad_pic))
if self.data.ad_tpye == AdvertisementModel.AD_TYPE.LOGIN then
self.goBtn_obj:SetActive(true)
self.Toggle_obj:SetActive(true)
--self.closeBtn_obj:SetActive(false)
elseif self.data.ad_tpye == AdvertisementModel.AD_TYPE.INSIDE then
self.goBtn_obj:SetActive(false)
self.Toggle_obj:SetActive(false)
self:AddCloseTimer()
--self.closeBtn_obj:SetActive(true)
else
-- logWarn('=======Msh:AdvertisementView.lua[72]==ad_type error=====', self.data.ad_tpye)
end
end
function AdvertisementView:AddCloseTimer( )
self.time = 6
local function clockFun()
self.time = self.time - 1
if self.time > 0 then
self.closeTipTxt_txt.text = HtmlColorTxt( tostring(self.time) .. " 秒后自动关闭" , '#63ED80')
else
self:Close()
end
end
clockFun()
self.close_time_id = self.close_time_id or GlobalTimerQuest:AddPeriodQuest(clockFun, 1, -1)
end
function AdvertisementView:SwitchTab( index )
end
function AdvertisementView:DestroySuccess( )
-- 处理一下不再弹出的cookie
if self.data and self.data.ad_tpye == AdvertisementModel.AD_TYPE.LOGIN and self.today_not_show then
self.model:SetSubTypeCookie(self.sub_type, false)
end
if self.close_time_id then
GlobalTimerQuest:CancelQuest(self.close_time_id)
self.close_time_id = nil
end
end