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 = {--后期可以做成tableInsert,icon名字都去读表 [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