-- <*
|
|
-- @Author: Saber
|
|
-- @Description: 特殊场景活动tips弹窗界面
|
|
-- *>
|
|
SpercificSceneActivityTipView = SpercificSceneActivityTipView or BaseClass(BaseView)
|
|
local SpercificSceneActivityTipView = SpercificSceneActivityTipView
|
|
|
|
function SpercificSceneActivityTipView:__init()
|
|
self.base_file = "common"
|
|
self.layout_file = "SpercificSceneActivityTipView"
|
|
self.layer_name = "Top"
|
|
self.destroy_imm = true
|
|
self.use_background = true --全屏界面默认使用这个参数,非全屏界面自行设置
|
|
self.change_scene_close = true --是否切换场景时关闭(弹出界面使用)
|
|
self.is_set_zdepth = true
|
|
self.award_list = {}
|
|
|
|
self.model = CommonModel: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
|
|
|
|
-- ac_data:活动日历Config.Ac中的数据
|
|
function SpercificSceneActivityTipView:Open(ac_data)
|
|
self.ac_data = ac_data
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function SpercificSceneActivityTipView:LoadSuccess()
|
|
local nodes = {
|
|
"Window:raw", "Window/windowCloseBtn:obj",
|
|
"cancelBtn:obj", "confirmBtn:obj",
|
|
"reward_scroll", "reward_scroll/Viewport/reward_con",
|
|
"contenText:tmp",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
lua_resM:setOutsideRawImage(self, self.Window_raw, GameResPath.GetViewBigBg("tips_comm_bg6"), false)
|
|
end
|
|
|
|
function SpercificSceneActivityTipView:AddEvent()
|
|
local function click_event(target)
|
|
if target == self.cancelBtn_obj then
|
|
self:Close()
|
|
elseif target == self.confirmBtn_obj then
|
|
self:OnConfirmBtnClick()
|
|
self:Close()
|
|
end
|
|
end
|
|
AddClickEvent(self.cancelBtn_obj, click_event)
|
|
AddClickEvent(self.confirmBtn_obj, click_event)
|
|
end
|
|
|
|
function SpercificSceneActivityTipView:UpdateView()
|
|
-- 加载文本
|
|
self.contenText_tmp.text = string.format("限时活动 <color=%s>%s</color> 已开启\n是否前往参加活动?",
|
|
ColorUtil.BLUE_DARK, Trim(self.ac_data.ac_name))
|
|
-- 加载奖励
|
|
local reward = stringtotable(self.ac_data.reward)[1][2] or {}
|
|
local total_len = #reward * 88
|
|
local len_offset = 0
|
|
if total_len < 400 then
|
|
len_offset = (400 - total_len) / 2
|
|
end
|
|
for i,v in ipairs(reward) do
|
|
self.award_list[i] = self.award_list[i] or UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.reward_con)
|
|
self.award_list[i]:SetItemSize(78, 78)
|
|
self.award_list[i]:SetDataWithMapId(v[2], v[3], v[1])
|
|
self.award_list[i]:SetPosition(88 * (i-1) + len_offset, 0)
|
|
end
|
|
SetSizeDeltaX(self.reward_con, total_len)
|
|
end
|
|
|
|
function SpercificSceneActivityTipView:OnConfirmBtnClick( )
|
|
self.click_callback = self.click_callback or {
|
|
[418] = function() -- 温泉
|
|
BeachModel:GetInstance():Fire(BeachConst.REQ_ENTER_SCENE)
|
|
end,
|
|
[602] = function() -- 饥饿游戏
|
|
WastelandModel:GetInstance():Fire(WastelandConst.REQ_WASTELAND_SCMD, 60201)
|
|
end,
|
|
[415] = function() -- 狂战领域
|
|
RageWarModel:getInstance():Fire(RageWarModel.REQUEST_CCMD_EVENT, 41501)
|
|
end,
|
|
[600] = function() -- 无尽领域
|
|
EndlessModel:GetInstance():Fire(EndlessConst.REQ_ENDLESS_SCMD, 60002)
|
|
end,
|
|
[500] = function() -- 双倍护送
|
|
EscortModel:getInstance():FlyToNpc()
|
|
end,
|
|
[601] = function() -- 跨国团战
|
|
OpenFun.Open(601,0)
|
|
end,
|
|
[405] = function() -- 本服团战
|
|
GuildModel:getInstance():Fire(GuildModel.ENTER_GUILD_WAR_SCENE)
|
|
end,
|
|
[408] = function() -- 封印裂隙
|
|
GuildModel:getInstance():Fire(GuildModel.ENTER_GUILD_BASE)
|
|
end,
|
|
[406] = function() -- 社团boss
|
|
GuildModel:getInstance():Fire(GuildModel.ENTER_GUILD_BASE)
|
|
end,
|
|
[400] = function() -- 社团晚宴
|
|
GuildModel:getInstance():Fire(GuildModel.ENTER_GUILD_BASE)
|
|
end,
|
|
[410] = function() -- 本国团战
|
|
GuildModel:getInstance():Fire(GuildModel.REQUEST_CCMD_EVENT, 41002, 0)
|
|
end,
|
|
}
|
|
local callback = self.click_callback[self.ac_data.module]
|
|
if callback then
|
|
callback()
|
|
end
|
|
end
|
|
|
|
function SpercificSceneActivityTipView:DestroySuccess( )
|
|
if self.award_list then
|
|
for k,v in pairs(self.award_list) do
|
|
UIObjPool:PushItem(UIObjPool.UIType.AwardItem, v)
|
|
end
|
|
self.award_list = {}
|
|
end
|
|
end
|