源战役客户端
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 

87 lignes
2.7 KiB

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