PGRData/Script/matrix/xconfig/XFubenRepeatChallengeConfigs.lua

123 lines
4.7 KiB
Lua
Raw Normal View History

local TABLE_ACTIVITY_PATH = "Share/Fuben/RepeatChallenge/RepeatChallengeActivity.tab"
local TABLE_CHAPTER_PATH = "Share/Fuben/RepeatChallenge/RepeatChallengeChapter.tab"
local TABLE_STAGE_PATH = "Share/Fuben/RepeatChallenge/RepeatChallengeStage.tab"
local TABLE_LEVEL_PATH = "Share/Fuben/RepeatChallenge/RepeatChallengeLevel.tab"
local TABLE_REWARD_PATH = "Share/Fuben/RepeatChallenge/RepeatChallengeReward.tab"
local pairs = pairs
local RepeatChallengeActivityTemplates = {}
local RepeatChallengeChapterTemplates = {}
local RepeatChallengeStageTemplates = {}
local RepeatChallengeLevelTemplates = {}
local RepeatChallengeRewardTemplates = {}
local DefaultActivityId = 0
local StageIdToChapterIdDic = {}
XFubenRepeatChallengeConfigs = XFubenRepeatChallengeConfigs or {}
function XFubenRepeatChallengeConfigs.Init()
RepeatChallengeActivityTemplates = XTableManager.ReadByIntKey(TABLE_ACTIVITY_PATH, XTable.XTableRepeatChallengeActivity, "Id")
RepeatChallengeChapterTemplates = XTableManager.ReadByIntKey(TABLE_CHAPTER_PATH, XTable.XTableRepeatChallengeChapter, "Id")
RepeatChallengeStageTemplates = XTableManager.ReadByIntKey(TABLE_STAGE_PATH, XTable.XTableRepeatChallengeStage, "Id")
RepeatChallengeLevelTemplates = XTableManager.ReadByIntKey(TABLE_LEVEL_PATH, XTable.XTableRepeatChallengeLevel, "Id")
RepeatChallengeRewardTemplates = XTableManager.ReadByIntKey(TABLE_REWARD_PATH, XTable.XTableRepeatChallengeReward, "Id")
for activityId, config in pairs(RepeatChallengeActivityTemplates) do
if XTool.IsNumberValid(config.ActivityTimeId) then
if DefaultActivityId == 0 or DefaultActivityId < activityId then
DefaultActivityId = activityId
end
end
DefaultActivityId = activityId--若全部过期取最后一行配置作为默认下次开启的活动ID
end
for chapterId, chapterCfg in pairs(RepeatChallengeChapterTemplates) do
for _, stageId in pairs(chapterCfg.StageId) do
StageIdToChapterIdDic[stageId] = chapterId
end
end
end
2024-09-01 20:49:41 +00:00
function XFubenRepeatChallengeConfigs.GetActivityConfig(activityId)
local activityCfg = RepeatChallengeActivityTemplates[activityId]
if not activityCfg then
XLog.ErrorTableDataNotFound("XFubenRepeatChallengeConfigs.GetActivityConfig",
"RepeatChallengeActivity", TABLE_ACTIVITY_PATH, "activityId", tostring(activityId))
return
end
return activityCfg
end
function XFubenRepeatChallengeConfigs.GetActivityChapterId(activityId)
local chapter = XFubenRepeatChallengeConfigs.GetActivityConfig(activityId).NormalChapter[1]
return chapter
end
function XFubenRepeatChallengeConfigs.GetActivityStageId(activityId)
local chapter = XFubenRepeatChallengeConfigs.GetActivityConfig(activityId).NormalChapter[1]
local stageId = XFubenRepeatChallengeConfigs.GetChapterCfg(chapter).StageId[1]
return stageId
end
function XFubenRepeatChallengeConfigs.GetChapterCfgs()
return RepeatChallengeChapterTemplates
end
function XFubenRepeatChallengeConfigs.GetChapterCfgPath()
return TABLE_CHAPTER_PATH
end
function XFubenRepeatChallengeConfigs.GetChapterCfg(chapterId)
local chapterCfg = RepeatChallengeChapterTemplates[chapterId]
if not chapterCfg then
XLog.ErrorTableDataNotFound("XFubenRepeatChallengeConfigs.GetChapterCfg",
"RepeatChallengeChapter", TABLE_CHAPTER_PATH, "chapterId", tostring(chapterId))
return
end
return chapterCfg
end
function XFubenRepeatChallengeConfigs.GetLevelConfigs()
return RepeatChallengeLevelTemplates
end
function XFubenRepeatChallengeConfigs.GetMaxLevel()
return #RepeatChallengeLevelTemplates
end
function XFubenRepeatChallengeConfigs.GetLevelConfig(level)
local activityCfg = RepeatChallengeLevelTemplates[level]
if not activityCfg then
XLog.ErrorTableDataNotFound("XFubenRepeatChallengeConfigs.GetLevelConfig", "RepeatChallengeLevel", TABLE_LEVEL_PATH, "level", tostring(level))
return
end
return activityCfg
end
2024-09-01 20:49:41 +00:00
function XFubenRepeatChallengeConfigs.GetStageConfigs()
return RepeatChallengeStageTemplates
end
function XFubenRepeatChallengeConfigs.GetStageConfig(stageId)
local activityCfg = RepeatChallengeStageTemplates[stageId]
if not activityCfg then
XLog.ErrorTableDataNotFound("XFubenRepeatChallengeConfigs.GetStageConfig",
"RepeatChallengeStage", TABLE_STAGE_PATH, "stageId", tostring(stageId))
return
end
return activityCfg
end
2024-09-01 20:49:41 +00:00
function XFubenRepeatChallengeConfigs.GetRewardConfigs()
local rewardCfg = RepeatChallengeRewardTemplates
return rewardCfg
end
function XFubenRepeatChallengeConfigs.GetDefaultActivityId()
return DefaultActivityId
end
function XFubenRepeatChallengeConfigs.GetChapterIdByStageId(stageId)
return StageIdToChapterIdDic[stageId]
end