508 lines
24 KiB
Lua
508 lines
24 KiB
Lua
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 |