263 lines
No EOL
9.6 KiB
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 |