forked from endernon/PGRData
252 lines
11 KiB
Lua
252 lines
11 KiB
Lua
|
local TABLE_ACTIVITY_PATH = "Client/ActivityBrief/ActivityBrief.tab"
|
|||
|
local TABLE_ACTIVITY_SHOP = "Client/ActivityBrief/ActivityBriefShop.tab"
|
|||
|
local TABLE_ACTIVITY_TASK = "Client/ActivityBrief/ActivityBriefTask.tab"
|
|||
|
local TABLE_ACTIVITY_GROUP_PATH = "Client/ActivityBrief/ActivityBriefGroup.tab"
|
|||
|
local TABLE_ACTIVITY_SPECIAL = "Client/ActivityBrief/SpecialActivity.tab"
|
|||
|
local TABLE_ACTIVITY_Story = "Share/ActivityBrief/ActivityBriefStory.tab"
|
|||
|
|
|||
|
local ParseToTimestamp = XTime.ParseToTimestamp
|
|||
|
|
|||
|
local ActivityTemplates = {}
|
|||
|
local ActivityShopTemplates = {}
|
|||
|
local ActivityTaskTemplates = {}
|
|||
|
local ActivityGroupTemplates = {}
|
|||
|
local SpecialActivityTemplates = {}
|
|||
|
local ActivityStoryTemplates = {}
|
|||
|
local SkipIdToRedPointConditionsDic = {}
|
|||
|
|
|||
|
XActivityBriefConfigs = XActivityBriefConfigs or {}
|
|||
|
|
|||
|
-- 活动名称Id(有需要新增,勿删改!)
|
|||
|
XActivityBriefConfigs.ActivityGroupId = {
|
|||
|
MainLine = 1, --主线活动
|
|||
|
Branch = 2, --支线活动
|
|||
|
BossSingle = 3, --单机Boss活动
|
|||
|
BossOnline = 4, --联机Boss活动
|
|||
|
Prequel = 5, --间章故事-角色A
|
|||
|
BabelTower = 6, --巴别塔
|
|||
|
RougueLike = 7, --爬塔
|
|||
|
RepeatChallenge = 8, --复刷关
|
|||
|
ArenaOnline = 9, --区域联机
|
|||
|
UnionKill = 10, --狙击战
|
|||
|
ShortStories = 11, --短篇故事
|
|||
|
Prequel2 = 12, --间章故事-角色B
|
|||
|
Labyrinth = 13, --迷宫
|
|||
|
Society = 14, --公会
|
|||
|
Resource = 15, --资源
|
|||
|
BigWar = 16, --大作战
|
|||
|
Extra = 17, --番外-普通
|
|||
|
WorldBoss = 18, --世界Boss
|
|||
|
Expedition = 19, --自走棋
|
|||
|
FubenBossSingle = 20, --幻痛囚笼
|
|||
|
ActivityBriefShop = 21, --活动商店
|
|||
|
Extra2 = 22, --番外-隐藏
|
|||
|
MaintainerAction = 23, --大富翁
|
|||
|
RpgTower = 24, --RPG玩法
|
|||
|
ActivityDrawCard = 25, --活动抽卡
|
|||
|
TRPGMainLine = 26, --终焉福音-主线跑团活动
|
|||
|
NewCharActivity = 27, -- 新角色教学活动
|
|||
|
FubenActivityTrial = 28, -- 试玩关
|
|||
|
ShiTu = 29, -- 师徒系统
|
|||
|
Nier = 30, -- 尼尔玩法
|
|||
|
Pokemon = 31, -- 口袋战双
|
|||
|
Pursuit = 32, -- 追击玩法
|
|||
|
StrongHold = 33, --超级据点
|
|||
|
Simulate = 34, -- 模拟战
|
|||
|
Partner = 35, --伙伴系统
|
|||
|
MoeWar = 38, --萌战
|
|||
|
PetCard = 39, --宠物抽卡
|
|||
|
PetTrial = 40, --新宠物活动
|
|||
|
PokerGuessing = 41, --翻牌小游戏
|
|||
|
Hack = 42, --骇客
|
|||
|
RpgMaker = 43, --端午活动
|
|||
|
Reform = 44, --改造玩法
|
|||
|
CoupleCombat = 45, --双人同行
|
|||
|
SuperTower = 46, --超级爬塔
|
|||
|
SummerSeries = 47, --夏活系列关
|
|||
|
KillZone = 48, --杀戮无双
|
|||
|
Expedition = 49, --虚像地平线
|
|||
|
SameColorGame = 50, --三消游戏
|
|||
|
AreaWar = 51, --全服对决
|
|||
|
SuperSmashBros = 52, --超限乱斗
|
|||
|
TeachingSkin = 53, --教学关内涂装试玩
|
|||
|
Maverick = 54, --射击玩法 异构阵线
|
|||
|
MemorySave = 55, --意识营救战
|
|||
|
Theatre = 56, --肉鸽玩法
|
|||
|
DoomsDay = 57, --免疫之城
|
|||
|
PivotCombat = 58, --Sp战力验证
|
|||
|
Escape = 59, --大逃杀玩法
|
|||
|
FubenShortStory = 60, --故事集
|
|||
|
DoubleTowers = 61, --动作塔防
|
|||
|
SecondActivityBriefShop = 62, --活动商店
|
|||
|
SecondBriefPanel = 63, --副面板
|
|||
|
GuildWar = 64, --工会战
|
|||
|
GoldenMiner = 65, --黄金矿工
|
|||
|
QiGuan = 66, --春节七关
|
|||
|
TaikoMaster = 67, -- 音游小游戏
|
|||
|
MultiDim = 68, -- 多维挑战
|
|||
|
Festival = 69, -- 节日活动 v1.27:白色情人节
|
|||
|
}
|
|||
|
--跳转id
|
|||
|
XActivityBriefConfigs.SkipId =
|
|||
|
{
|
|||
|
LivWarmExtActivity = 11767, --丽芙宣发活动
|
|||
|
LivWarmRace = 20097, --二周年预热-赛跑小游戏
|
|||
|
Doomsday = 82050, --免疫之城
|
|||
|
NewYearLuck = 20112, --元旦奖券小游戏
|
|||
|
BodyCombineGame = 20118, --接头霸王(哈卡玛预热小游戏)
|
|||
|
AccumulateConsume = 20120, --累消活动
|
|||
|
WhiteValentine = 20133, --白情活动
|
|||
|
InvertCardGame = 20134, --翻牌小游戏(二期)
|
|||
|
MineSweepingGame = 20140, --扫雷小游戏
|
|||
|
}
|
|||
|
|
|||
|
local InitSkipIdToRedPointConditionsDic = function()
|
|||
|
SkipIdToRedPointConditionsDic[11739] = {XRedPointConditions.Types.CONDITION_GUARD_CAMP_RED}
|
|||
|
SkipIdToRedPointConditionsDic[80011] = {XRedPointConditions.Types.CONDITION_WHITEVALENTINE2021_ENTRYRED}
|
|||
|
SkipIdToRedPointConditionsDic[11753] = {XRedPointConditions.Types.CONDITION_FINGERGUESSING_TASK}
|
|||
|
SkipIdToRedPointConditionsDic[11757] = {XRedPointConditions.Types.CONDITION_MOVIE_ASSEMBLE_01}
|
|||
|
SkipIdToRedPointConditionsDic[11761] = {XRedPointConditions.Types.CONDITION_FASHION_STORY_HAVE_STAGE}
|
|||
|
SkipIdToRedPointConditionsDic[81103] = {XRedPointConditions.Types.CONDITION_RPG_MAKER_GAME_RED}
|
|||
|
SkipIdToRedPointConditionsDic[20091] = {XRedPointConditions.Types.CONDITION_LIV_WARM_ACTIVITY}
|
|||
|
SkipIdToRedPointConditionsDic[20107] = {XRedPointConditions.Types.CONDITION_DICEGAME_RED}
|
|||
|
SkipIdToRedPointConditionsDic[XActivityBriefConfigs.SkipId.LivWarmExtActivity] = {XRedPointConditions.Types.CONDITION_LIV_WARM_EXT_ACTIVITY}
|
|||
|
SkipIdToRedPointConditionsDic[XActivityBriefConfigs.SkipId.LivWarmRace] = {XRedPointConditions.Types.CONDITION_LIV_WARM_RACE_REWARD}
|
|||
|
SkipIdToRedPointConditionsDic[XActivityBriefConfigs.SkipId.Doomsday] = {XRedPointConditions.Types.XRedPointConditionDoomsdayActivity}
|
|||
|
SkipIdToRedPointConditionsDic[XActivityBriefConfigs.SkipId.NewYearLuck] = {XRedPointConditions.Types.CONDITION_NEW_YEAR_LUCK_RULE_RED}
|
|||
|
SkipIdToRedPointConditionsDic[XActivityBriefConfigs.SkipId.BodyCombineGame] = {XRedPointConditions.Types.CONDITION_BODYCOMBINEGAME_MAIN}
|
|||
|
SkipIdToRedPointConditionsDic[XActivityBriefConfigs.SkipId.AccumulateConsume] = {XRedPointConditions.Types.CONDITION_CONSUME_ACTIVITY}
|
|||
|
SkipIdToRedPointConditionsDic[XActivityBriefConfigs.SkipId.WhiteValentine] = {XRedPointConditions.Types.CONDITION_ACTIVITY_WHITE_VALENTINE}
|
|||
|
SkipIdToRedPointConditionsDic[XActivityBriefConfigs.SkipId.InvertCardGame] = {XRedPointConditions.Types.CONDITION_INVERTCARDGAME_RED}
|
|||
|
SkipIdToRedPointConditionsDic[XActivityBriefConfigs.SkipId.MineSweepingGame] = {XRedPointConditions.Types.CONDITION_MINSWEEPING_RED}
|
|||
|
SkipIdToRedPointConditionsDic[1400008] = {XRedPointConditions.Types.CONDITION_SLOTMACHINE_RED}
|
|||
|
SkipIdToRedPointConditionsDic[1400009] = {XRedPointConditions.Types.CONDITION_SLOTMACHINE_REDL}
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.Init()
|
|||
|
ActivityTemplates = XTableManager.ReadByIntKey(TABLE_ACTIVITY_PATH, XTable.XTableBriefActivity, "Id")
|
|||
|
ActivityShopTemplates= XTableManager.ReadByIntKey(TABLE_ACTIVITY_SHOP, XTable.XTableActivityBriefShop, "Id")
|
|||
|
ActivityTaskTemplates= XTableManager.ReadByIntKey(TABLE_ACTIVITY_TASK, XTable.XTableActivityBriefTask, "Id")
|
|||
|
ActivityGroupTemplates = XTableManager.ReadByIntKey(TABLE_ACTIVITY_GROUP_PATH, XTable.XTableActivityBriefGroup, "Id")
|
|||
|
SpecialActivityTemplates = XTableManager.ReadByIntKey(TABLE_ACTIVITY_SPECIAL, XTable.XTableSpecialActivity, "Id")
|
|||
|
ActivityStoryTemplates = XTableManager.ReadByIntKey(TABLE_ACTIVITY_Story, XTable.XTableActivityBriefStory, "Id")
|
|||
|
|
|||
|
InitSkipIdToRedPointConditionsDic()
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityBeginTime()
|
|||
|
local config = XActivityBriefConfigs.GetActivityConfig()
|
|||
|
return XFunctionManager.GetStartTimeByTimeId(config.TimeId)
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityEndTime()
|
|||
|
local config = XActivityBriefConfigs.GetActivityConfig()
|
|||
|
return XFunctionManager.GetEndTimeByTimeId(config.TimeId)
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityConfig()
|
|||
|
return ActivityTemplates[1]
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityModels()
|
|||
|
local config = XActivityBriefConfigs.GetActivityConfig()
|
|||
|
return config.UIModelId or {}
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetSpinePath(index)
|
|||
|
local config = XActivityBriefConfigs.GetActivityConfig()
|
|||
|
return config.SpinePath[index] or ""
|
|||
|
end
|
|||
|
|
|||
|
--===========================================================================
|
|||
|
--v1.27 活动面板优化:根据活动主题主副面板Id和SpineIndex获取SpinePath
|
|||
|
--===========================================================================
|
|||
|
function XActivityBriefConfigs.GetSpinePathByType(panelType, index)
|
|||
|
local config = ActivityTemplates[panelType]
|
|||
|
return config.SpinePath[index] or ""
|
|||
|
end
|
|||
|
|
|||
|
--===========================================================================
|
|||
|
--v1.27 活动面板优化:根据活动主题主副面板Id获取当前的 SpinePath List
|
|||
|
--===========================================================================
|
|||
|
function XActivityBriefConfigs.GetSpinePathList(panelType)
|
|||
|
local config = ActivityTemplates[panelType]
|
|||
|
return config.SpinePath or {}
|
|||
|
end
|
|||
|
|
|||
|
--===========================================================================
|
|||
|
--v1.27 活动面板优化:根据活动主题主副面板Id获取当前的 GroupId List
|
|||
|
--===========================================================================
|
|||
|
function XActivityBriefConfigs.GetGroupIdList(panelType)
|
|||
|
local config = ActivityTemplates[panelType]
|
|||
|
return config.GroupIdList or ""
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityEntrySkipId(id)
|
|||
|
return SpecialActivityTemplates[id].SkipId
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetAllActivityEntryConfig()
|
|||
|
return SpecialActivityTemplates
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityShopByInfoId(id)
|
|||
|
return ActivityShopTemplates[id]
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityTaskByInfoId(id)
|
|||
|
return ActivityTaskTemplates[id]
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityGroupConfig(groupId)
|
|||
|
local groupConfig = ActivityGroupTemplates[groupId]
|
|||
|
if not groupConfig then
|
|||
|
XLog.ErrorTableDataNotFound("XActivityBriefConfigs.GetActivityGroupConfig",
|
|||
|
"根据groupId获取的配置表项", TABLE_ACTIVITY_GROUP_PATH, "groupId", tostring(groupId))
|
|||
|
return
|
|||
|
end
|
|||
|
return groupConfig
|
|||
|
end
|
|||
|
|
|||
|
--===========================================================================
|
|||
|
--v1.27 活动面板优化:根据活动GroupId获取该Btn点击事件绑定函数名
|
|||
|
--===========================================================================
|
|||
|
function XActivityBriefConfigs.GetActivityGroupBtnInitMethodName(groupId)
|
|||
|
local groupConfig = ActivityGroupTemplates[groupId]
|
|||
|
if not groupConfig then
|
|||
|
XLog.ErrorTableDataNotFound("XActivityBriefConfigs.GetActivityGroupBtnInitMethodName",
|
|||
|
"根据groupId获取的配置表项", TABLE_ACTIVITY_GROUP_PATH, "groupId", tostring(groupId))
|
|||
|
return
|
|||
|
end
|
|||
|
return groupConfig.BtnInitMethodName or nil
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.TestOpenActivity()
|
|||
|
local newTemplate = {}
|
|||
|
for id, template in pairs(ActivityTemplates) do
|
|||
|
if id ~= 1 then
|
|||
|
newTemplate[id] = template
|
|||
|
else
|
|||
|
newTemplate[id] = XTool.Clone(template)
|
|||
|
newTemplate[id].TimeId = 24
|
|||
|
end
|
|||
|
end
|
|||
|
ActivityTemplates = newTemplate
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetTableActivityPath()
|
|||
|
return TABLE_ACTIVITY_PATH
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityStoryConfig()
|
|||
|
return ActivityStoryTemplates
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetActivityBriefGroup(id)
|
|||
|
local config = XActivityBriefConfigs.GetActivityGroupConfig(id)
|
|||
|
return config.Name
|
|||
|
end
|
|||
|
|
|||
|
function XActivityBriefConfigs.GetRedPointConditionsBySkipId(skipId)
|
|||
|
return skipId and SkipIdToRedPointConditionsDic[skipId]
|
|||
|
end
|