|
|
- 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
|