miduo_client/Assets/ManagedResources/~Lua/Modules/DynamicActivity/DynamicActivityPanel.lua

508 lines
24 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

require("Base/BasePanel")
local DynamicActivityPanel = Inherit(BasePanel)
local this = DynamicActivityPanel
-- Tab管理器
local TabBox = require("Modules/Common/TabBox")
local GlobalActConfig = ConfigManager.GetConfig(ConfigName.GlobalActivity)
local _CurPageIndex =1
local orginLayer
local tabs = {
-- [1] = { --第二周 破阵诛仙
-- default = "p_pozhengzhuxian_anniu_02_zh", lock = "p_pozhengzhuxian_anniu_02_zh", select = "p_pozhengzhuxian_anniu_01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [2] = { --第三周 勇冠三军
-- default = "c_ydsj_anniu_02_zh", lock = "c_ydsj_anniu_02_zh", select = "c_ydsj_anniu_01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [3] = { --第四周 叱咤风云
-- default = "c_ccfy_icon2_zh", lock = "c_ccfy_icon2_zh", select = "c_ccfy_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [4] = { --第五周 丹心碧血
-- default = "d_danxinbixue_icon2_zh", lock = "d_danxinbixue_icon2_zh", select = "d_danxinbixue_bicon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [5] = { --第六周 势不可挡
-- default = "s_shibukedang_bicon1_zh", lock = "s_shibukedang_bicon1_zh", select = "s_shibukedang_bicon2_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [6] = { --第七周 勇往直前
-- default = "s_yongwangzhiqian_icon2_zh", lock = "s_yongwangzhiqian_icon2_zh", select = "s_yongwangzhiqian_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [7] = { --第八周 运筹帷幄
-- default = "y_yunchouweiwo_anniu02_zh", lock = "y_yunchouweiwo_anniu02_zh", select = "y_yunchouweiwo_anniu01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [8] = { --第九周 移山倒海
-- default = "y_yishandaohai_anniu_02_zh", lock = "y_yishandaohai_anniu_02_zh", select = "y_yishandaohai_anniu_01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [9] = { --第十周 玄机妙算
-- default = "x_xuanjimiaosuan_icon2_zh", lock = "x_xuanjimiaosuan_icon2_zh", select = "x_xuanjimiaosuan_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [10] = { --第十一周 降龙伏虎
-- default = "x_xianglongfuhu_icon2_zh", lock = "x_xianglongfuhu_icon2_zh", select = "x_xianglongfuhu_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [11] = { --第十二周 旗开得胜
-- default = "q_qikaidesheng_icon2_zh", lock = "q_qikaidesheng_icon2_zh", select = "q_qikaidesheng_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [12] = { --第十三周 变幻莫测
-- default = "b_bianhuanmoce_icon2_zh", lock = "b_bianhuanmoce_icon2_zh", select = "b_bianhuanmoce_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [13] = { --第十四周 博文多识
-- default = "b_bowenduoshi_icon2_zh", lock = "b_bowenduoshi_icon2_zh", select = "b_bowenduoshi_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [14] = { --第十五周 天相几人
-- default = "t_tianxiangjiren_icon2_zh", lock = "t_tianxiangjiren_icon2_zh", select = "t_tianxiangjiren_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [15] = { --第十六周 所向披靡
-- default = "s_suoxiangpimi_icon2_zh", lock = "s_suoxiangpimi_icon2_zh", select = "s_suoxiangpimi_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [16] = { --第十七周 狭路相逢
-- default = "x_xialuxiangfeng_icon2_zh", lock = "x_xialuxiangfeng_icon2_zh", select = "x_xialuxiangfeng_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [17] = { --第十八周 铜墙铁壁
-- default = "t_tongqiangtiebi_icon2_zh", lock = "t_tongqiangtiebi_icon2_zh", select = "t_tongqiangtiebi_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [18] = { --第二周 破阵诛仙
-- default = "p_pozhengzhuxian_anniu_02_zh", lock = "p_pozhengzhuxian_anniu_02_zh", select = "p_pozhengzhuxian_anniu_01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [19] = { --第三周 勇冠三军
-- default = "c_ydsj_anniu_02_zh", lock = "c_ydsj_anniu_02_zh", select = "c_ydsj_anniu_01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [20] = { --第四周 叱咤风云
-- default = "c_ccfy_icon2_zh", lock = "c_ccfy_icon2_zh", select = "c_ccfy_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [21] = { --第五周 丹心碧血
-- default = "d_danxinbixue_icon2_zh", lock = "d_danxinbixue_icon2_zh", select = "d_danxinbixue_bicon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [22] = { --第六周 势不可挡
-- default = "s_shibukedang_bicon1_zh", lock = "s_shibukedang_bicon1_zh", select = "s_shibukedang_bicon2_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [23] = { --第七周 勇往直前
-- default = "s_yongwangzhiqian_icon2_zh", lock = "s_yongwangzhiqian_icon2_zh", select = "s_yongwangzhiqian_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [24] = { --第八周 运筹帷幄
-- default = "y_yunchouweiwo_anniu02_zh", lock = "y_yunchouweiwo_anniu02_zh", select = "y_yunchouweiwo_anniu01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [25] = { --第九周 移山倒海
-- default = "y_yishandaohai_anniu_02_zh", lock = "y_yishandaohai_anniu_02_zh", select = "y_yishandaohai_anniu_01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [26] = { --第十周 玄机妙算
-- default = "x_xuanjimiaosuan_icon2_zh", lock = "x_xuanjimiaosuan_icon2_zh", select = "x_xuanjimiaosuan_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [27] = { --第十一周 降龙伏虎
-- default = "x_xianglongfuhu_icon2_zh", lock = "x_xianglongfuhu_icon2_zh", select = "x_xianglongfuhu_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [28] = { --第十四周 博闻强识
-- default = "b_bowenduoshi_icon2_zh", lock = "b_bowenduoshi_icon2_zh", select = "b_bowenduoshi_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [29] = { --第十五周 天相几人
-- default = "t_tianxiangjiren_icon2_zh", lock = "t_tianxiangjiren_icon2_zh", select = "t_tianxiangjiren_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [30] = { --第十六周 所向披靡
-- default = "s_suoxiangpimi_icon2_zh", lock = "s_suoxiangpimi_icon2_zh", select = "s_suoxiangpimi_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [31] = { --第十七周 狭路相逢
-- default = "x_xialuxiangfeng_icon2_zh", lock = "x_xialuxiangfeng_icon2_zh", select = "x_xialuxiangfeng_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [32] = { --第十八周 铜墙铁壁
-- default = "t_tongqiangtiebi_icon2_zh", lock = "t_tongqiangtiebi_icon2_zh", select = "t_tongqiangtiebi_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [33] = { --第二周 破阵诛仙
-- default = "p_pozhengzhuxian_anniu_02_zh", lock = "p_pozhengzhuxian_anniu_02_zh", select = "p_pozhengzhuxian_anniu_01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [34] = { --第三周 勇冠三军
-- default = "c_ydsj_anniu_02_zh", lock = "c_ydsj_anniu_02_zh", select = "c_ydsj_anniu_01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [35] = { --第四周 叱咤风云
-- default = "c_ccfy_icon2_zh", lock = "c_ccfy_icon2_zh", select = "c_ccfy_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [36] = { --第六周 势不可挡
-- default = "s_shibukedang_bicon1_zh", lock = "s_shibukedang_bicon1_zh", select = "s_shibukedang_bicon2_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [37] = { --第七周 勇往直前
-- default = "s_yongwangzhiqian_icon2_zh", lock = "s_yongwangzhiqian_icon2_zh", select = "s_yongwangzhiqian_icon1_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [38] = { --第八周 运筹帷幄
-- default = "y_yunchouweiwo_anniu02_zh", lock = "y_yunchouweiwo_anniu02_zh", select = "y_yunchouweiwo_anniu01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
-- [39] = { --第九周 移山倒海
-- default = "y_yishandaohai_anniu_02_zh", lock = "y_yishandaohai_anniu_02_zh", select = "y_yishandaohai_anniu_01_zh",
-- rpType = RedPointType.DynamicActTask,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct
-- },
[40] = { --社稷大典
default = "r_guanka_sheji_anniu_02_zh", lock = "r_guanka_sheji_anniu_02_zh", select = "r_guanka_sheji_anniu_01_zh",
rpType = RedPointType.Celebration,panelType = PanelType.Celebration,ActType = ActivityTypeDef.Celebration
},
[41] = { --易经宝库
default = "y_yijingbaoku_anniu_01_zh", lock = "y_yijingbaoku_anniu_01_zh", select = "y_yijingbaoku_anniu_zh",
rpType = RedPointType.YiJingBaoKu,panelType = PanelType.YiJingBaoKu,ActType = ActivityTypeDef.YiJingBaoKu
},
[42] = { --新将来袭
default = "x_xiangjianglaixi_icon2_zh", lock = "x_xiangjianglaixi_icon2_zh", select = "x_xiangjianglaixi_icon1_zh",
rpType = RedPointType.XinJiangLaiXi,panelType = PanelType.Main,ActType = ActivityTypeDef.XinJiangLaiXi
},
[43] = { --降妖夺宝
default = "x_xiangyaoduobao_icon2_zh", lock = "x_xiangyaoduobao_icon2_zh", select = "x_xiangyaoduobao_icon1_zh",
rpType = RedPointType.XiangYaoDuoBao,panelType = PanelType.XiangYaoDuoBao,ActType = ActivityTypeDef.XiangYaoDuoBao
},
[44] = { --限时召唤
default = "x_xianshizaohuan_02_zh", lock = "x_xianshizaohuan_02_zh", select = "x_xianshizaohuan_01_zh",
rpType = RedPointType.TimeLimited,panelType = PanelType.TimelimitCall,ActType = ActivityTypeDef.FindFairy
},
[45] = { --乾坤宝盒
default = "q_qiankun_baoheanniu_02_zh", lock = "q_qiankun_baoheanniu_02_zh", select = "q_qiankun_baoheanniu_01_zh",
rpType = RedPointType.QianKunBox,panelType = PanelType.QianKunBox,ActType = ActivityTypeDef.QianKunBox
},
[46] = { --神医天降
default = "s_shenyitianjiang_anniu_02_zh", lock = "s_shenyitianjiang_anniu_02_zh", select = "s_shenyitianjiang_anniu_01_zh",
rpType = "",panelType = PanelType.Main,ActType = ActivityTypeDef.ShenYiTianJiang
},
[47] = { --灵兽宝阁
default = "l_lingshou_lingshoubaogeanniu02_zh", lock = "l_lingshou_lingshoubaogeanniu02_zh", select = "l_lingshou_lingshoubaogeanniu01_zh",
rpType = RedPointType.LingShouBaoGe,panelType = PanelType.LingShouBaoGe,ActType = ActivityTypeDef.LingShouBaoGe
},
[48] = { --灵兽特惠
default = "l_lishoutehui_xianshibiao0_zh", lock = "l_lishoutehui_xianshibiao0_zh", select = "l_lishoutehui_anniu_zh",
rpType = "",panelType = PanelType.Main,ActType = ActivityTypeDef.LingShowTeHui
},
[49] = { --珍奇礼包
default = "z_zhenqibaoge_anniu_02_zh", lock = "z_zhenqibaoge_anniu_02_zh", select = "z_zhenqibaoge_anniu_01_zh",
rpType = "",panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct_Treasure
},
[50] = { --累计充值 一天一刷
default = "r_huodong_leijichengzhianniu_01_zh", lock = "r_huodong_leijichengzhianniu_01_zh", select = "r_huodong_leijichengzhianniu_zh",
rpType = RedPointType.DynamicActRecharge,panelType = PanelType.Main,ActType = ActivityTypeDef.AccumulativeRechargeExper
},
[51] = { --累计充值 一周一刷
default = "r_huodong_leijichengzhianniu_04_zh", lock = "r_huodong_leijichengzhianniu_04_zh", select = "r_huodong_leijichengzhianniu_03_zh",
rpType = RedPointType.DynamicActRecharge,panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct_recharge
},
[52] = { --限时商市
default = "x_xianshishangshi_anniu_02_zh", lock = "x_xianshishangshi_anniu_02_zh", select = "x_xianshishangshi_anniu_01_zh",
rpType = "",panelType = PanelType.Main,ActType = ActivityTypeDef.DynamicAct_TimeLimitShop
},
[53] = { --限时兑换
default = "r_xianshiduihuan_anniu_01_zh", lock = "r_xianshiduihuan_anniu_01_zh", select = "r_xianshiduihuan_anniu_zh",
rpType = RedPointType.Expert_LimitExchange,panelType = PanelType.Main,ActType = ActivityTypeDef.LimitExchange
},
[54] = { --升星有礼
default = "s_shengxingyouli_anniu_02_zh", lock = "s_shengxingyouli_anniu_02_zh", select = "s_shengxingyouli_anniu_01_zh",
rpType = RedPointType.ShengXingYouLi,panelType = PanelType.Main,ActType = ActivityTypeDef.ShengXingYouLi
},
}
local _PageInfo = {--后期可以做成tableInserticon名字都去读表
[1] = 1,
[2] = 1,
[3] = 1,
[4] = 1,
[5] = 1,
[6] = 1,
[7] = 1,
[8] = 1,
[9] = 1,
[10] = 1,
[11] = 1,
[12] = 1,
[13] = 1,
[14] = 1,
[15] = 1,
[16] = 1,
[17] = 1,
[18] = 1,
[19] = 1,
[20] = 1,
[21] = 1,
[22] = 1,
[23] = 1,
[24] = 1,
[25] = 1,
[26] = 1,
[27] = 1,
[28] = 1,
[29] = 1,
[30] = 1,
[31] = 1,
[32] = 1,
[33] = 1,
[34] = 1,
[35] = 1,
[36] = 1,
[37] = 1,
[38] = 1,
[39] = 1,
[40] = 2,
[41] = 9,
[42] = 13,
[43] = 14,
[44] = 3,
[45] = 4,
[46] = 10,
[47] = 12,
[48] = 11,
[49] = 5,
[50] = 6,
[51] = 6,
[52] = 7,
[53] = 8,
[54] = 15,
}
local curActivityCount = {
[1] = require("Modules/DynamicActivity/DynamicTaskPage"),
[2] = require("Modules/DynamicActivity/SheJiDaDian"),
[3] = require("Modules/DynamicActivity/TimeLimitUpHero"),
[4] = require("Modules/DynamicActivity/QianKunBox"),
[5] = require("Modules/DynamicActivity/ZhenQiYiBaoPage"),
[6] = require("Modules/DynamicActivity/LeiJiChongZhiPage"),
[7] = require("Modules/DynamicActivity/XianShiShangShi"),
[8] = require("Modules/Expert/DynamicActivityExChange"),
[9] = require("Modules/DynamicActivity/YiJingBaoKu"),
[10] = require("Modules/DynamicActivity/ShengYiTianJiang"),
[11] = require("Modules/DynamicActivity/LingShowTeHui"),
[12] = require("Modules/DynamicActivity/LingShouBaoGe"),
[13] = require("Modules/DynamicActivity/XinJiangLaiXi"),
[14] = require("Modules/DynamicActivity/XiangYaoDuoBao"),
[15] = require("Modules/DynamicActivity/ShengXingYouLi"),
}
--初始化组件(用于子类重写)
function DynamicActivityPanel:InitComponent()
this.spLoader = SpriteLoader.New()
orginLayer = 0
this.mask = Util.GetGameObject(self.gameObject,"mask")
this.mask:SetActive(false)
this.tabbox = Util.GetGameObject(self.gameObject, "bg/tabbox")
this.btnBack = Util.GetGameObject(self.gameObject, "bg/btnBack")
this.content = Util.GetGameObject(self.gameObject, "bg/pageContent")
this.tabList = Util.GetGameObject(self.gameObject,"bg/tabbox")
this.bottomBar = Util.GetGameObject(self.gameObject,"bg/bottomBar")
this.PageList = {}
for i=1,#curActivityCount do
this.PageList[i] = curActivityCount[i].new(self, Util.GetGameObject(self.transform, "bg/pageContent/page"..i),this.UpView)
end
-- 上部货币显示
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft})
end
--绑定事件(用于子类重写)
function DynamicActivityPanel:BindEvent()
-- 初始化Tab管理器
this.PageTabCtrl = TabBox.New()
this.PageTabCtrl:SetTabAdapter(this.PageTabAdapter)
this.PageTabCtrl:SetTabIsLockCheck(this.PageTabIsLockCheck)
this.PageTabCtrl:SetChangeTabCallBack(this.OnPageTabChange)
-- 关闭界面打开主城
Util.AddClick(this.btnBack, function()
this:ClosePanel()
end)
end
--添加事件监听(用于子类重写)
function DynamicActivityPanel:AddListener()
Game.GlobalEvent:AddEvent(GameEvent.Activity.OnActivityOpenOrClose, this.RefreshActivityBtn)
for i = 1, #this.PageList do
if this.PageList[i] then
this.PageList[i]:AddListener()
end
end
end
--移除事件监听(用于子类重写)
function DynamicActivityPanel:RemoveListener()
Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnActivityOpenOrClose, this.RefreshActivityBtn)
for i = 1, #this.PageList do
if this.PageList[i] then
this.PageList[i]:RemoveListener()
end
end
end
this.RefreshActivityBtn = function()
if not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.DynamicAct) then
this:ClosePanel()
end
end
--界面打开时调用(用于子类重写)
function DynamicActivityPanel:OnOpen(chooseIndex)
-- 初始化tab数据
if chooseIndex and chooseIndex ~= ActivityTypeDef.DynamicAct then
for i = 1, #tabs do
if tabs[i].ActType == chooseIndex then
_CurPageIndex = i
end
end
else
_CurPageIndex = chooseIndex or 1
end
this.PageTabCtrl:Init(this.tabbox, tabs,_CurPageIndex)
end
-- 打开,重新打开时回调
function DynamicActivityPanel:OnShow()
SoundManager.PlayMusic(SoundConfig.BGM_Main)
local activiytId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.DynamicAct)
if not activiytId or activiytId <= 0 then
self:ClosePanel()
end
this.btnBack:SetActive(true)
this.tabList:SetActive(true)
this.bottomBar:SetActive(true)
this.mask:SetActive(false)
if _CurPageIndex and _CurPageIndex == 1 then
local id = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.DynamicAct)
_CurPageIndex = GlobalActConfig[id].ShowArt
this.PageTabCtrl:ChangeTab(_CurPageIndex)
elseif _CurPageIndex then
this.PageTabCtrl:ChangeTab(_CurPageIndex)
end
end
----==========================一级页签相关===========================================
-- tab按钮自定义显示设置
function this.PageTabAdapter(tab, index, status)
local img = Util.GetGameObject(tab, "img"):GetComponent("Image")
local lock = Util.GetGameObject(tab, "lock")
local redpot = Util.GetGameObject(tab, "redpot")
img.sprite = this.spLoader:LoadSprite(tabs[index][status])
img:SetNativeSize()
local islock = status == "lock"
Util.SetGray(img.gameObject, islock)
lock:SetActive(islock)
-- 判断是否需要检测红点
redpot:SetActive(false)
if not islock then
this.ClearPageRedpot(index)
this.BindPageRedpot(index, redpot)
end
local id = ActivityGiftManager.IsActivityTypeOpen(tabs[index].ActType)
if id and id > 0 and ActivityGiftManager.IsQualifiled(tabs[index].ActType) then
if GlobalActConfig[id].Type == ActivityTypeDef.DynamicAct then
if GlobalActConfig[id].ShowArt and GlobalActConfig[id].ShowArt > 0 then
tab:SetActive(GlobalActConfig[id].ShowArt == index)
end
--限时兑换特殊处理
elseif GlobalActConfig[id].Type == ActivityTypeDef.LimitExchange then
tab.gameObject:SetActive(GlobalActConfig[id].ShowArt ~= 1)
--累计充值特殊处理
elseif GlobalActConfig[id].Type == ActivityTypeDef.AccumulativeRechargeExper then
if GlobalActConfig[id] and GlobalActConfig[id].ShowArt ~= 1 then
tab.gameObject:SetActive(true)
else
tab.gameObject:SetActive(false)
end
elseif GlobalActConfig[id].Type == ActivityTypeDef.DynamicAct_recharge then
tab.gameObject:SetActive(true)
else
tab.gameObject:SetActive(true)
end
else
tab.gameObject:SetActive(false)
end
end
-- tab可用性检测
function this.PageTabIsLockCheck(index)
return false
end
-- tab改变事件
function this.OnPageTabChange(index)
_CurPageIndex = index
this.mask:SetActive(false)
for i = 1, #this.PageList do
if this.PageList[i] then
this.PageList[i]:OnHide()
this.PageList[i].gameObject:SetActive(false)
end
end
this.PageList[_PageInfo[index]].gameObject:SetActive(true)
this.PageList[_PageInfo[index]]:OnShow(this.sortingOrder,this,tabs[index].ActType)
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = tabs[index].panelType })
end
-- 绑定数据
local _PageBindData = {}
local _TabBindData = {}
function this.BindPageRedpot(page, redpot)
local rpType = tabs[page].rpType
if not rpType then return end
BindRedPointObject(rpType, redpot)
_PageBindData[rpType] = redpot
end
function this.ClearPageRedpot(page)
-- 清除红点绑定
if page then -- 清除某个
local rpType = tabs[page].rpType
if not rpType then return end
ClearRedPointObject(rpType, _PageBindData[rpType])
_PageBindData[rpType] = nil
else -- 全部清除
for rpt, redpot in pairs(_PageBindData) do
ClearRedPointObject(rpt, redpot)
end
_PageBindData = {}
end
end
--界面关闭时调用(用于子类重写)
function DynamicActivityPanel:OnClose()
if _CurPageIndex then
this.PageList[_PageInfo[_CurPageIndex]]:OnHide()
this.PageList[_PageInfo[_CurPageIndex]].gameObject:SetActive(false)
end
end
--界面销毁时调用(用于子类重写)
function DynamicActivityPanel:OnDestroy()
SubUIManager.Close(this.UpView)
-- 清除红点
this.ClearPageRedpot()
-- 这里管理全部子界面的销毁,保证子界面生命周期完整
for _, page in pairs(this.PageList) do
if page.OnDestroy then
page:OnDestroy()
this.spLoader:Destroy()
end
end
end
return this