forked from endernon/PGRData
207 lines
No EOL
8 KiB
Lua
207 lines
No EOL
8 KiB
Lua
XExhibitionConfigs = XExhibitionConfigs or {}
|
||
|
||
local TABLE_CHARACTER_EXHIBITION = "Client/Exhibition/Exhibition.tab"
|
||
local TABLE_CHARACTER_EXHIBITION_LEVEL = "Client/Exhibition/ExhibitionLevel.tab"
|
||
local TABLE_CHARACTER_GROW_TASK_INFO = "Share/Exhibition/ExhibitionReward.tab"
|
||
local TABLE_EXHIBITIONLIMIT = "Share/Exhibition/ExhibitionLimit.tab"
|
||
|
||
local DefaultPortraitImagePath = CS.XGame.ClientConfig:GetString("DefaultPortraitImagePath")
|
||
local ExhibitionLevelPoint = {}
|
||
local ExhibitionConfig = {}
|
||
local ExhibitionGroupNameConfig = {}
|
||
local ExhibitionGroupLogoConfig = {}
|
||
local ExhibitionGroupDescConfig = {}
|
||
local CharacterExhibitionLevelConfig = {}
|
||
local GrowUpTasksConfig = {}
|
||
local CharacterGrowUpTasksConfig = {}
|
||
local CharacterGrowUpTasksConfigByType = {}
|
||
local CharacterHeadPortrait = {}
|
||
local CharacterGraduationPortrait = {}
|
||
local ExhibitionConfigByTypeAndPort = {}
|
||
local ExhibitionConfigByTypeAndGroup = {}
|
||
local CharacterToExhibitionTypeTable = {}
|
||
local InVisibleGroupTable = {}
|
||
local ExhibitionlimitTable = {}
|
||
local ExhibitionCharacterGroupDic = {}
|
||
|
||
function XExhibitionConfigs.Init()
|
||
CharacterExhibitionLevelConfig = XTableManager.ReadByIntKey(TABLE_CHARACTER_EXHIBITION_LEVEL, XTable.XTableExhibitionLevel, "LevelId")
|
||
ExhibitionlimitTable = XTableManager.ReadByIntKey(TABLE_EXHIBITIONLIMIT, XTable.XTableExhibitionLimit, "CharacterId")
|
||
ExhibitionConfig = XTableManager.ReadByIntKey(TABLE_CHARACTER_EXHIBITION, XTable.XTableCharacterExhibition, "Id")
|
||
for _, v in pairs(ExhibitionConfig) do
|
||
if v.Port ~= nil then
|
||
CharacterHeadPortrait[v.CharacterId] = v.HeadPortrait
|
||
CharacterGraduationPortrait[v.CharacterId] = v.GraduationPortrait
|
||
ExhibitionCharacterGroupDic[v.CharacterId] = { GroupName = v.GroupName, GroupNameEn = v.GroupNameEn }
|
||
ExhibitionGroupNameConfig[v.GroupId] = v.GroupName
|
||
ExhibitionGroupLogoConfig[v.GroupId] = v.GroupLogo
|
||
ExhibitionGroupDescConfig[v.GroupId] = v.GroupDescription
|
||
if v.Type and not ExhibitionConfigByTypeAndPort[v.Type] then
|
||
ExhibitionConfigByTypeAndPort[v.Type] = {}
|
||
ExhibitionConfigByTypeAndGroup[v.Type] = {}
|
||
end
|
||
ExhibitionConfigByTypeAndPort[v.Type][v.Port] = v
|
||
ExhibitionConfigByTypeAndGroup[v.Type][v.GroupId] = v
|
||
if v.Type then
|
||
if not InVisibleGroupTable[v.Type] then InVisibleGroupTable[v.Type] = {} end
|
||
if InVisibleGroupTable[v.Type][v.GroupId] == nil then InVisibleGroupTable[v.Type][v.GroupId] = true end
|
||
if v.InVisible == 1 then InVisibleGroupTable[v.Type][v.GroupId] = false end
|
||
end
|
||
end
|
||
if v.CharacterId and v.CharacterId ~= 0 and not CharacterToExhibitionTypeTable[v.CharacterId] then
|
||
CharacterToExhibitionTypeTable[v.CharacterId] = v.Type
|
||
end
|
||
end
|
||
GrowUpTasksConfig = XTableManager.ReadByIntKey(TABLE_CHARACTER_GROW_TASK_INFO, XTable.XTableExhibitionReward, "Id")
|
||
for task, v in pairs(GrowUpTasksConfig) do
|
||
if CharacterGrowUpTasksConfig[v.CharacterId] == nil then
|
||
CharacterGrowUpTasksConfig[v.CharacterId] = {}
|
||
end
|
||
CharacterGrowUpTasksConfig[v.CharacterId][task] = v
|
||
local type = CharacterToExhibitionTypeTable[v.CharacterId] or 1
|
||
if not CharacterGrowUpTasksConfigByType[type] then CharacterGrowUpTasksConfigByType[type] = {} end
|
||
if not CharacterGrowUpTasksConfigByType[type][v.Id] then
|
||
CharacterGrowUpTasksConfigByType[type][v.Id] = v
|
||
end
|
||
end
|
||
ExhibitionLevelPoint[1] = CS.XGame.ClientConfig:GetInt("ExhibitionLevelPoint_01")
|
||
ExhibitionLevelPoint[2] = CS.XGame.ClientConfig:GetInt("ExhibitionLevelPoint_02")
|
||
ExhibitionLevelPoint[3] = CS.XGame.ClientConfig:GetInt("ExhibitionLevelPoint_03")
|
||
ExhibitionLevelPoint[4] = CS.XGame.ClientConfig:GetInt("ExhibitionLevelPoint_04")
|
||
-- ExhibitionLevelPoint[5] = CS.XGame.ClientConfig:GetInt("ExhibitionLevelPoint_05")
|
||
end
|
||
|
||
function XExhibitionConfigs.GetDefaultPortraitImagePath()
|
||
return DefaultPortraitImagePath
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionLevelPoints()
|
||
return ExhibitionLevelPoint
|
||
end
|
||
|
||
function XExhibitionConfigs.GetGrowUpLevelMax()
|
||
local maxPoint = 0
|
||
for _, value in pairs(ExhibitionLevelPoint) do
|
||
maxPoint = maxPoint + value
|
||
end
|
||
return maxPoint
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionConfig()
|
||
return ExhibitionConfig
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionPortConfigByType(showType)
|
||
if not showType then return ExhibitionConfig end
|
||
return ExhibitionConfigByTypeAndPort[showType] or {}
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionGroupNameConfig()
|
||
return ExhibitionGroupNameConfig
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionGroupConfigByType(showType)
|
||
if not showType then return ExhibitionConfig end
|
||
return ExhibitionConfigByTypeAndGroup[showType] or {}
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionConfigByTypeAndGroup(showType, groupId)
|
||
return ExhibitionConfigByTypeAndGroup[showType][groupId]
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionTypeByCharacterId(characterId)
|
||
return CharacterToExhibitionTypeTable[characterId]
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionGroupLogoConfig()
|
||
return ExhibitionGroupLogoConfig
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionGroupDescConfig()
|
||
return ExhibitionGroupDescConfig
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionInVisbleGroupTable(exhibitionType)
|
||
return InVisibleGroupTable[exhibitionType] or {}
|
||
end
|
||
|
||
function XExhibitionConfigs.GetIsExhibitionInVisbleGroup(exhibitionType, groupId)
|
||
return InVisibleGroupTable[exhibitionType] and InVisibleGroupTable[exhibitionType][groupId] or false
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionLevelConfig()
|
||
return CharacterExhibitionLevelConfig
|
||
end
|
||
|
||
function XExhibitionConfigs.GetCharacterGrowUpTasks(characterId)
|
||
local config = CharacterGrowUpTasksConfig[characterId]
|
||
if not config then
|
||
XLog.Error("XExhibitionConfigs.GetCharacterGrowUpTasks error: 角色解放配置错误:characterId: " .. characterId .. " ,path: " .. TABLE_CHARACTER_GROW_TASK_INFO)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XExhibitionConfigs.GetCharacterGrowUpTask(characterId, level)
|
||
local levelTasks = XExhibitionConfigs.GetCharacterGrowUpTasks(characterId)
|
||
for _, config in pairs(levelTasks) do
|
||
if config.LevelId == level then
|
||
return config
|
||
end
|
||
end
|
||
end
|
||
|
||
function XExhibitionConfigs.GetCharacterGrowUpTasksConfig()
|
||
return CharacterGrowUpTasksConfig
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionGrowUpLevelConfig(level)
|
||
return CharacterExhibitionLevelConfig[level]
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionLevelNameByLevel(level)
|
||
return CharacterExhibitionLevelConfig[level].Name or ""
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionLevelDescByLevel(level)
|
||
return CharacterExhibitionLevelConfig[level].Desc or ""
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionLevelIconByLevel(level)
|
||
return CharacterExhibitionLevelConfig[level].LevelIcon or ""
|
||
end
|
||
|
||
function XExhibitionConfigs.GetExhibitionGroupByCharId(charId)
|
||
return ExhibitionCharacterGroupDic[charId]
|
||
end
|
||
|
||
function XExhibitionConfigs.GetCharacterHeadPortrait(characterId)
|
||
return CharacterHeadPortrait[characterId]
|
||
end
|
||
|
||
function XExhibitionConfigs.GetCharacterGraduationPortrait(characterId)
|
||
return CharacterGraduationPortrait[characterId]
|
||
end
|
||
|
||
function XExhibitionConfigs.GetGrowUpTasksConfig()
|
||
return GrowUpTasksConfig
|
||
end
|
||
|
||
function XExhibitionConfigs.GetCharacterExhibitonLimitCfgByCharacterId(id)
|
||
return ExhibitionlimitTable[id]
|
||
end
|
||
|
||
function XExhibitionConfigs.GetAureoleListByCharacterId(id)
|
||
local res = {}
|
||
local idList = ExhibitionlimitTable[id].AureoleIds
|
||
for k, id in pairs(idList) do
|
||
local aureoleCfg = XFashionConfigs.GetAllConfigs(XFashionConfigs.TableKey.FashionAureole)[id]
|
||
res[k] = aureoleCfg
|
||
end
|
||
return res
|
||
end
|
||
|
||
function XExhibitionConfigs.GetGrowUpTasksConfigByType(exhibitionType)
|
||
if not exhibitionType then return GrowUpTasksConfig end
|
||
return CharacterGrowUpTasksConfigByType[exhibitionType] or {}
|
||
end |