PGRData/Script/matrix/xconfig/XFubenShortStoryChapterConfigs.lua

263 lines
No EOL
9.6 KiB
Lua

local ipairs = ipairs
local pairs = pairs
local tableInsert = table.insert
XFubenShortStoryChapterConfigs = {}
local TABLE_SHORT_STORY_CHAPTER = "Share/Fuben/ShortStory/ShortStoryChapter.tab"
local TABLE_SHORT_STORY_CHAPTER_DETAILS = "Share/Fuben/ShortStory/ShortStoryDetails.tab"
local TABLE_SHORT_STORY_CHAPTER_STAR_TREASURE = "Share/Fuben/ShortStory/ShortStoryStarTreasure.tab"
local TABLE_SHORT_STORY_EXPLORE_GROUP = "Client/Fuben/ShortStory/ShortStoryExploreGroup.tab"
local ShortStoryChapterCfg = {}
local ShortStoryChapterDetailsCfg = {}
local ShortStoryChapterStarTreasureCfg = {}
local ShortStoryExploreGroupCfg = {}
local function GetShortStoryChapter(id)
local config = ShortStoryChapterCfg[id]
if not config then
XLog.Error("XFubenShortStoryChapterConfigs GetShortStoryChapter error:配置不存在, id:" ..
id .. ",path: " .. TABLE_SHORT_STORY_CHAPTER)
return
end
return config
end
local function GetChapterDetails(chapterId)
local config = ShortStoryChapterDetailsCfg[chapterId]
if not config then
XLog.Error("XFubenShortStoryChapterConfigs GetChapterDetails error:配置不存在, chapterId:" ..
chapterId .. ",path: " .. TABLE_SHORT_STORY_CHAPTER_DETAILS)
return
end
return config
end
local function GetStarTreasure(treasureId)
local config = ShortStoryChapterStarTreasureCfg[treasureId]
if not config then
XLog.Error("XFubenShortStoryChapterConfigs GetStarTreasure error:配置不存在, treasureId:" ..
treasureId .. ",path: " .. TABLE_SHORT_STORY_CHAPTER_STAR_TREASURE)
return
end
return config
end
local function GetExploreGroups(groupId)
local exploreGroups = {}
for _, exploreGroup in pairs(ShortStoryExploreGroupCfg) do
if exploreGroup.GroupId == groupId then
tableInsert(exploreGroups,exploreGroup)
end
end
return exploreGroups
end
function XFubenShortStoryChapterConfigs.Init()
ShortStoryChapterCfg = XTableManager.ReadByIntKey(TABLE_SHORT_STORY_CHAPTER,XTable.XTableShortStory,"Id")
ShortStoryChapterDetailsCfg = XTableManager.ReadByIntKey(TABLE_SHORT_STORY_CHAPTER_DETAILS,XTable.XTableShortStoryDetails,"ChapterId")
ShortStoryChapterStarTreasureCfg = XTableManager.ReadByIntKey(TABLE_SHORT_STORY_CHAPTER_STAR_TREASURE,XTable.XTableShortStoryStarTreasure,"TreasureId")
ShortStoryExploreGroupCfg = XTableManager.ReadByIntKey(TABLE_SHORT_STORY_EXPLORE_GROUP,XTable.XTableShortStoryExploreGroup,"Id")
end
function XFubenShortStoryChapterConfigs.UpdateChapterData()
for _,chapter in pairs(ShortStoryChapterCfg) do
for difficult,chapterId in pairs(chapter.ChapterId) do
local chapterDetail = GetChapterDetails(chapterId)
for k, v in ipairs(chapterDetail.StageId) do
local stageInfo = XDataCenter.FubenManager.GetStageInfo(v)
stageInfo.Type = XDataCenter.FubenManager.StageType.ShortStory
stageInfo.OrderId = k
stageInfo.ChapterId = chapterDetail.ChapterId
stageInfo.Difficult = difficult
end
end
end
end
------------------------------------------ShortStoryChapter.tab Start---------------------------------------------------
function XFubenShortStoryChapterConfigs.GetShortStoryChapterIds(id)
local chapterIds = {}
local config = GetShortStoryChapter(id)
for _, chapterId in pairs(config.ChapterId) do
if XTool.IsNumberValid(chapterId) then
tableInsert(chapterIds, chapterId)
end
end
return chapterIds
end
function XFubenShortStoryChapterConfigs.GetChapterMainIdByChapterId(chapterId)
for _,chapter in pairs(ShortStoryChapterCfg) do
for _,id in pairs(chapter.ChapterId) do
if id == chapterId then
return chapter.Id
end
end
end
return nil
end
function XFubenShortStoryChapterConfigs.GetChapterIdsByDifficult(difficult)
local chapterIds = {}
for _,chapter in pairs(ShortStoryChapterCfg) do
local chapterId = chapter.ChapterId[difficult]
if XTool.IsNumberValid(chapterId) then
chapterIds[chapter.OrderId] = chapterId
end
end
return chapterIds
end
function XFubenShortStoryChapterConfigs.GetChapterIdByDifficultAndOrderId(difficult, orderId)
for _,chapter in pairs(ShortStoryChapterCfg) do
if chapter.OrderId == orderId then
local chapterId = chapter.ChapterId[difficult]
return chapterId
end
end
return nil
end
function XFubenShortStoryChapterConfigs.GetChapterIdByIdAndDifficult(id, difficult)
local config = GetShortStoryChapter(id)
return config.ChapterId[difficult]
end
function XFubenShortStoryChapterConfigs.GetChapterNameById(id)
local config = GetShortStoryChapter(id)
return config.ChapterName
end
function XFubenShortStoryChapterConfigs.GetChapterEnById(id)
local config = GetShortStoryChapter(id)
return config.ChapterEn
end
function XFubenShortStoryChapterConfigs.GetIconById(id)
local config = GetShortStoryChapter(id)
return config.Icon
end
function XFubenShortStoryChapterConfigs.GetZhouMuId(id)
local config = GetShortStoryChapter(id)
return config.ZhouMuId
end
function XFubenShortStoryChapterConfigs.GetChapterTextColorList(id)
local config = GetShortStoryChapter(id)
return config.ChapterTextColor
end
------------------------------------------ShortStoryChapter.tab End-----------------------------------------------------
------------------------------------------ShortStoryDetails.tab Start---------------------------------------------------
function XFubenShortStoryChapterConfigs.GetChapterIdsByChapterDetails()
local chapterIds = {}
for _,chapterDetail in pairs(ShortStoryChapterDetailsCfg) do
if XTool.IsNumberValid(chapterDetail.ChapterId) then
tableInsert(chapterIds,chapterDetail.ChapterId)
end
end
return chapterIds
end
function XFubenShortStoryChapterConfigs.GetChapterOrderIdByStageId(stageId)
local stageInfo = XDataCenter.FubenManager.GetStageInfo(stageId)
local config = GetChapterDetails(stageInfo.ChapterId)
return config.OrderId
end
function XFubenShortStoryChapterConfigs.GetChapterOrderIdByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.OrderId
end
function XFubenShortStoryChapterConfigs.GetStageTitleByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.StageTitle
end
function XFubenShortStoryChapterConfigs.GetStageIdByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.StageId
end
function XFubenShortStoryChapterConfigs.GetDatumLinePrecentByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.DatumLinePrecent or 0
end
function XFubenShortStoryChapterConfigs.GetMoveStageIndexByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.MoveStageIndex or 0
end
function XFubenShortStoryChapterConfigs.GetTreasureIdByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.TreasureId
end
function XFubenShortStoryChapterConfigs.GetDifficultByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.Difficult
end
function XFubenShortStoryChapterConfigs.GetActivityConditionByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.ActivityCondition
end
function XFubenShortStoryChapterConfigs.GetOpenConditionByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.OpenCondition
end
function XFubenShortStoryChapterConfigs.GetExploreGroupIdByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.ExploreGroupId
end
function XFubenShortStoryChapterConfigs.CheckChapterTypeIsExplore(chapterId)
local config = GetChapterDetails(chapterId)
return config.ExploreGroupId and config.ExploreGroupId > 0
end
function XFubenShortStoryChapterConfigs.GetPrefabNameByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.PrefabName
end
function XFubenShortStoryChapterConfigs.GetChapterEnByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
return config.ChapterEn
end
function XFubenShortStoryChapterConfigs.CheckChapterDetailsByChapterId(chapterId)
local config = GetChapterDetails(chapterId)
if config then
return true
end
return false
end
------------------------------------------ShortStoryDetails.tab End-----------------------------------------------------
------------------------------------------ShortStoryStarTreasure.tab Start----------------------------------------------
function XFubenShortStoryChapterConfigs.GetRequireStarByTreasureId(treasureId)
local config = GetStarTreasure(treasureId)
return config.RequireStar
end
function XFubenShortStoryChapterConfigs.GetRewardIdByTreasureId(treasureId)
local config = GetStarTreasure(treasureId)
return config.RewardId
end
------------------------------------------ShortStoryStarTreasure.tab End------------------------------------------------
------------------------------------------ShortStoryExploreGroup.tab Start----------------------------------------------
function XFubenShortStoryChapterConfigs.GetExploreGroupInfoByGroupId(groupId)
local exploreGroups = GetExploreGroups(groupId)
local preShowIndexs = {}
for _, group in pairs(exploreGroups) do
preShowIndexs[group.StageIndex] = group.PreShowIndex
end
return preShowIndexs
end
------------------------------------------ShortStoryExploreGroup.tab End------------------------------------------------
return XFubenShortStoryChapterConfigs