|
|
- -- <*
- -- @Author: Saber
- -- @Description: 招财猫广告界面
- -- *>
- FortuneCatAdTipsView = FortuneCatAdTipsView or BaseClass(BaseView)
- local FortuneCatAdTipsView = FortuneCatAdTipsView
-
- function FortuneCatAdTipsView:__init()
- self.base_file = "fortuneCat"
- self.layout_file = "FortuneCatAdTipsView"
- self.layer_name = "Main"
- self.destroy_imm = true
- self.change_scene_close = true
- self.use_background = false --全屏界面默认使用这个参数,非全屏界面自行设置
- self.show_time = 20 -- 界面展示时间
- self.model = FortuneCatModel:getInstance()
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- end
- self.open_callback = function ( )
- self:UpdateView()
- end
- self.destroy_callback = function ( )
- self:DestroySuccess()
- end
- end
-
- function FortuneCatAdTipsView:Open(sub_type)
- self.sub_type = sub_type
- BaseView.Open(self)
- end
-
- function FortuneCatAdTipsView:LoadSuccess()
- local nodes = {
- "ad_bg:obj:img",
- "ad_bg/close_btn:obj",
- }
- self:GetChildren(nodes)
- self.transform.sizeDelta = Vector2(ScreenWidth, ScreenHeight)
-
- local base_type = CustomActivityModel.CustomActBaseType.FORTUNE_CAT
- local icon_sub_type_base = base_type*1000
- if self.sub_type >= 10001 then
- icon_sub_type_base = base_type*100000
- end
- local pos = ActivityIconManager:getInstance():GetIconWorldPos(icon_sub_type_base + self.sub_type)
- SetAnchoredPosition(self.ad_bg, pos.x - 100, pos.y - 80)
- end
-
- function FortuneCatAdTipsView:AddEvent()
- local function click_event(target)
- if target == self.ad_bg_obj then
- self.model:Fire(FortuneCatModel.OPEN_FORTUNE_CAT_VIEW, true, self.sub_type)
- self:Close()
- elseif target == self.close_btn_obj then
- self:Close()
- end
- end
- AddClickEvent(self.ad_bg_obj, click_event)
- AddClickEvent(self.close_btn_obj, click_event, LuaSoundManager.SOUND_UI.NONE)
- end
-
- function FortuneCatAdTipsView:UpdateView()
- local cur_time = Status.NowTime
- local function auto_close_timer()
- local pass_time = Status.NowTime - cur_time
- if pass_time > self.show_time then
- self:Close()
- end
- end
- self:ClearAutoCloseTimerId()
- self.auto_close_timer_id = GlobalTimerQuest:AddPeriodQuest(auto_close_timer, 1, -1)
- end
-
- function FortuneCatAdTipsView:ClearAutoCloseTimerId( )
- if self.auto_close_timer_id then
- GlobalTimerQuest:CancelQuest(self.auto_close_timer_id)
- self.auto_close_timer_id = nil
- end
- end
-
- function FortuneCatAdTipsView:DestroySuccess( )
- self:ClearAutoCloseTimerId()
- self.model:SetFcAdViewOpenFlag()
- end
|