644 lines
21 KiB
Lua
644 lines
21 KiB
Lua
|
local tableInsert = table.insert
|
||
|
local tableSort = table.sort
|
||
|
local ipairs = ipairs
|
||
|
local pairs = pairs
|
||
|
local next = next
|
||
|
XMultiDimConfig = XMultiDimConfig or {}
|
||
|
|
||
|
local SHARE_MULTI_DIM_ACTIVITY = "Share/Fuben/MultiDim/MultiDimActivity.tab"
|
||
|
local SHARE_MULTI_DIM_DIFFICULTY = "Share/Fuben/MultiDim/MultiDimDifficulty.tab"
|
||
|
local SHARE_MULTI_DIM_RANK_REWARD = "Share/Fuben/MultiDim/MultiDimRankReward.tab"
|
||
|
local SHARE_MULTI_DIM_SINGLE_FUBEN = "Share/Fuben/MultiDim/MultiDimSingleFuben.tab"
|
||
|
local SHARE_MULTI_DIM_TALENT = "Share/Fuben/MultiDim/MultiDimTalent.tab"
|
||
|
local SHARE_MULTI_DIM_THEME = "Share/Fuben/MultiDim/MultiDimTheme.tab"
|
||
|
local SHARE_MULTI_DIM_CONFIG = "Share/Fuben/MultiDim/MultiDimConfig.tab"
|
||
|
local SHARE_MULTI_DIM_CHARACTER_CAREER = "Share/Fuben/MultiDim/MultiDimCharacterCareer.tab"
|
||
|
|
||
|
local CLIENT_MULTI_DIM_ACTIVITY_DETAIL = "Client/Fuben/MultiDim/MultiDimActivityDetail.tab"
|
||
|
local CLIENT_MULTI_DIM_THEME_DETAIL = "Client/Fuben/MultiDim/MultiDimThemeDetail.tab"
|
||
|
local CLIENT_MULTI_DIM_DIFFICULTY_DETAIL = "Client/Fuben/MultiDim/MultiDimDifficultyDetail.tab"
|
||
|
local CLIENT_MULTI_DIM_CAREER = "Client/Fuben/MultiDim/MultiDimCareer.tab"
|
||
|
local CLIENT_MULTI_DIM_BUFF_DETAILS = "Client/Fuben/MultiDim/MultiDimBuffDetails.tab"
|
||
|
local CLIENT_MULTI_DIM_TALENT_DETAIL = "Client/Fuben/MultiDim/MultiDimTalentDetail.tab"
|
||
|
|
||
|
local MultiDimActivity = {}
|
||
|
local MultiDimDifficulty = {}
|
||
|
local MultiDimRankReward = {}
|
||
|
local MultiDimSingleFuben = {}
|
||
|
local MultiDimTalent = {}
|
||
|
local MultiDimTheme = {}
|
||
|
local MultiDimCharacterCareer = {}
|
||
|
|
||
|
local MultiDimActivityDetail = {}
|
||
|
local MultiDimThemeDetail = {}
|
||
|
local MultiDimDifficultyDetail = {}
|
||
|
local MultiDimCareer = {}
|
||
|
local MultiDimBuffDetails = {}
|
||
|
local MultiDimTalentDetail = {}
|
||
|
|
||
|
local DifficultyGroups = {}
|
||
|
local DifficultyGroupsDetail = {}
|
||
|
local MultiSingleStageData = {}
|
||
|
local ThemeSingleStageList = {}
|
||
|
local MultiDifficultyStageData = {}
|
||
|
local TalentLevelGroups = {}
|
||
|
local TalentLevelGroupsDetail = {}
|
||
|
local RankRewardGroups = {}
|
||
|
|
||
|
XMultiDimConfig.TalentType = {
|
||
|
Talent01 = 1, -- 子天赋1
|
||
|
Talent02 = 2, -- 子天赋2
|
||
|
Talent03 = 3, -- 子天赋3
|
||
|
CoreTalent = 4, -- 核心天赋
|
||
|
}
|
||
|
|
||
|
XMultiDimConfig.MAX_SPECIAL_NUM = 3 -- 前几名特殊处理
|
||
|
|
||
|
XMultiDimConfig.RANK_MODEL = {
|
||
|
SINGLE_RANK = 1, -- 单人
|
||
|
TEAM_RANK = 2, -- 多人
|
||
|
}
|
||
|
|
||
|
XMultiDimConfig.MultiDimFirstReward = "MultiDimFirstReward" --首通奖励红点
|
||
|
XMultiDimConfig.MultiDimThemeUnlock = "MultiDimThemeUnlock" --天赋技能是否解锁
|
||
|
XMultiDimConfig.MultiDimDefaultThemeId = "MultiDimDefaultThemeId" --默认主题
|
||
|
|
||
|
local function InitDifficultyGroups()
|
||
|
DifficultyGroups = {}
|
||
|
for _, config in pairs(MultiDimDifficulty) do
|
||
|
if DifficultyGroups[config.ThemeId] == nil then
|
||
|
DifficultyGroups[config.ThemeId] = {}
|
||
|
end
|
||
|
DifficultyGroups[config.ThemeId][config.DifficultyId] = config
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function InitDifficultyGroupsDetail()
|
||
|
DifficultyGroupsDetail = {}
|
||
|
for _, config in pairs(MultiDimDifficultyDetail) do
|
||
|
if DifficultyGroupsDetail[config.ThemeId] == nil then
|
||
|
DifficultyGroupsDetail[config.ThemeId] = {}
|
||
|
end
|
||
|
DifficultyGroupsDetail[config.ThemeId][config.DifficultyId] = config
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function InitMultiFubenSingleData()
|
||
|
for key, value in ipairs(MultiDimSingleFuben) do
|
||
|
if value.StageId and value.StageId > 0 then --配置了StageId
|
||
|
-- 将MultiDimSingleFuben的数据改成以stageId为key
|
||
|
MultiSingleStageData[value.StageId] = value
|
||
|
|
||
|
-- 将MultiDimSingleFuben的Stage按theme排列成List
|
||
|
if not ThemeSingleStageList[value.ThemeId] or not next(ThemeSingleStageList[value.ThemeId]) then
|
||
|
ThemeSingleStageList[value.ThemeId] = {}
|
||
|
end
|
||
|
tableInsert(ThemeSingleStageList[value.ThemeId], value.StageId)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
local function InitTalentLevelGroups()
|
||
|
TalentLevelGroups = {}
|
||
|
for _, config in pairs(MultiDimTalent) do
|
||
|
if TalentLevelGroups[config.ClassId] == nil then
|
||
|
TalentLevelGroups[config.ClassId] = {}
|
||
|
end
|
||
|
if TalentLevelGroups[config.ClassId][config.TalentType] == nil then
|
||
|
TalentLevelGroups[config.ClassId][config.TalentType] = {}
|
||
|
end
|
||
|
TalentLevelGroups[config.ClassId][config.TalentType][config.Level] = config
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function InitMultiDimDifficultyStageData()
|
||
|
for key, value in pairs(MultiDimDifficulty) do
|
||
|
if value.StageId and value.StageId > 0 then --配置了StageId
|
||
|
-- 将 MultiDimDifficulty 的数据改成以stageId为key
|
||
|
MultiDifficultyStageData[value.StageId] = value
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function InitTalentLevelGroupsDetail()
|
||
|
TalentLevelGroupsDetail = {}
|
||
|
for _, config in pairs(MultiDimTalentDetail) do
|
||
|
if TalentLevelGroupsDetail[config.ClassId] == nil then
|
||
|
TalentLevelGroupsDetail[config.ClassId] = {}
|
||
|
end
|
||
|
if TalentLevelGroupsDetail[config.ClassId][config.TalentType] == nil then
|
||
|
TalentLevelGroupsDetail[config.ClassId][config.TalentType] = {}
|
||
|
end
|
||
|
TalentLevelGroupsDetail[config.ClassId][config.TalentType][config.Level] = config
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function InitRankRewardGroups()
|
||
|
RankRewardGroups = {}
|
||
|
for _, config in pairs(MultiDimRankReward) do
|
||
|
if RankRewardGroups[config.ThemeId] == nil then
|
||
|
RankRewardGroups[config.ThemeId] = {}
|
||
|
end
|
||
|
tableInsert(RankRewardGroups[config.ThemeId], config)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.Init()
|
||
|
MultiDimActivity = XTableManager.ReadByIntKey(SHARE_MULTI_DIM_ACTIVITY, XTable.XTableMultiDimActivity, "Id")
|
||
|
MultiDimDifficulty = XTableManager.ReadByIntKey(SHARE_MULTI_DIM_DIFFICULTY, XTable.XTableMultiDimDifficulty, "Id")
|
||
|
MultiDimRankReward = XTableManager.ReadByIntKey(SHARE_MULTI_DIM_RANK_REWARD, XTable.XTableMultiDimRankReward, "Id")
|
||
|
MultiDimSingleFuben = XTableManager.ReadByIntKey(SHARE_MULTI_DIM_SINGLE_FUBEN, XTable.XTableMultiDimSingleFuben, "Id")
|
||
|
MultiDimTalent = XTableManager.ReadByIntKey(SHARE_MULTI_DIM_TALENT, XTable.XTableMultiDimTalent, "Id")
|
||
|
MultiDimTheme = XTableManager.ReadByIntKey(SHARE_MULTI_DIM_THEME, XTable.XTableMultiDimTheme, "Id")
|
||
|
MultiDimCharacterCareer = XTableManager.ReadByIntKey(SHARE_MULTI_DIM_CHARACTER_CAREER, XTable.XTableMultiDimCharacterCareer, "Id")
|
||
|
XConfigCenter.CreateGetPropertyByFunc(XMultiDimConfig, "MultiDimConfig", function()
|
||
|
return XTableManager.ReadByStringKey(SHARE_MULTI_DIM_CONFIG, XTable.XTableMultiDimConfig, "Key")
|
||
|
end)
|
||
|
|
||
|
MultiDimActivityDetail = XTableManager.ReadByIntKey(CLIENT_MULTI_DIM_ACTIVITY_DETAIL, XTable.XTableMultiDimActivityDetail, "Id")
|
||
|
MultiDimThemeDetail = XTableManager.ReadByIntKey(CLIENT_MULTI_DIM_THEME_DETAIL, XTable.XTableMultiDimThemeDetail, "Id")
|
||
|
MultiDimDifficultyDetail = XTableManager.ReadByIntKey(CLIENT_MULTI_DIM_DIFFICULTY_DETAIL, XTable.XTableMultiDimDifficultyDetail, "Id")
|
||
|
MultiDimCareer = XTableManager.ReadByIntKey(CLIENT_MULTI_DIM_CAREER, XTable.XTableMultiDimCareer, "Career")
|
||
|
MultiDimBuffDetails = XTableManager.ReadByIntKey(CLIENT_MULTI_DIM_BUFF_DETAILS, XTable.XTableMultiDimBuffDetails, "Id")
|
||
|
MultiDimTalentDetail = XTableManager.ReadByIntKey(CLIENT_MULTI_DIM_TALENT_DETAIL, XTable.XTableMultiDimTalentDetail, "Id")
|
||
|
|
||
|
InitDifficultyGroups()
|
||
|
InitDifficultyGroupsDetail()
|
||
|
InitMultiFubenSingleData()
|
||
|
InitMultiDimDifficultyStageData()
|
||
|
InitTalentLevelGroups()
|
||
|
InitTalentLevelGroupsDetail()
|
||
|
InitRankRewardGroups()
|
||
|
end
|
||
|
|
||
|
--region 获取配置表
|
||
|
|
||
|
local function GetMultiDimActivity(id)
|
||
|
local config = MultiDimActivity[id]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimActivity", "tab", SHARE_MULTI_DIM_ACTIVITY, "id", tostring(id))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetMultiDimDifficulty(themeId, difficultyId)
|
||
|
local themeConfig = DifficultyGroups[themeId]
|
||
|
if not themeConfig then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimDifficulty", "tab", SHARE_MULTI_DIM_DIFFICULTY, "themeId", tostring(themeId))
|
||
|
return
|
||
|
end
|
||
|
local config = themeConfig[difficultyId]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimDifficulty", "tab", SHARE_MULTI_DIM_DIFFICULTY, "difficultyId", tostring(difficultyId))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetRankRewardGroups(themeId)
|
||
|
local config = RankRewardGroups[themeId]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetRankRewardGroups", "tab", SHARE_MULTI_DIM_RANK_REWARD, "themeId", tostring(themeId))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetMultiDimSingleFubenCfg()
|
||
|
return MultiDimSingleFuben
|
||
|
end
|
||
|
|
||
|
local function GetMultiDimTalent(id)
|
||
|
local config = MultiDimTalent[id]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimTalent", "tab", SHARE_MULTI_DIM_TALENT, "id", tostring(id))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetMultiDimTheme(id)
|
||
|
local config = MultiDimTheme[id]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimTheme", "tab", SHARE_MULTI_DIM_THEME, "id", tostring(id))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimCharacterCareer(id)
|
||
|
local config = MultiDimCharacterCareer[id]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimCharacterCareer", "tab", SHARE_MULTI_DIM_CHARACTER_CAREER, "id", tostring(id))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetMultiDimActivityDetail(id)
|
||
|
local config = MultiDimActivityDetail[id]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimActivityDetail", "tab", CLIENT_MULTI_DIM_ACTIVITY_DETAIL, "id", tostring(id))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetMultiDimThemeDetail(id)
|
||
|
local config = MultiDimThemeDetail[id]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimThemeDetail", "tab", CLIENT_MULTI_DIM_THEME_DETAIL, "id", tostring(id))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetDifficultyGroupsDetail(themeId, difficultyId)
|
||
|
local themeConfig = DifficultyGroupsDetail[themeId]
|
||
|
if not themeConfig then
|
||
|
XLog.ErrorTableDataNotFound("GetDifficultyGroupsDetail", "tab", CLIENT_MULTI_DIM_DIFFICULTY_DETAIL, "themeId", tostring(themeId))
|
||
|
return
|
||
|
end
|
||
|
local config = themeConfig[difficultyId]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetDifficultyGroupsDetail", "tab", CLIENT_MULTI_DIM_DIFFICULTY_DETAIL, "difficultyId", tostring(difficultyId))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetMultiDimCareer(career)
|
||
|
local config = MultiDimCareer[career]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimCareer", "tab", CLIENT_MULTI_DIM_CAREER, "career", tostring(career))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetMultiDimBuffDetails(buffId)
|
||
|
local config = MultiDimBuffDetails[buffId]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetMultiDimBuffDetails", "tab", CLIENT_MULTI_DIM_BUFF_DETAILS, "buffId", tostring(buffId))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetTalentLevelGroups(classId, talentType, level)
|
||
|
local classInfo = TalentLevelGroups[classId]
|
||
|
if not classInfo then
|
||
|
XLog.ErrorTableDataNotFound("GetTalentLevelGroups", "tab", SHARE_MULTI_DIM_TALENT, "classId", tostring(classId))
|
||
|
return
|
||
|
end
|
||
|
local talentTypeInfo = classInfo[talentType]
|
||
|
if not talentTypeInfo then
|
||
|
XLog.ErrorTableDataNotFound("GetTalentLevelGroups", "tab", SHARE_MULTI_DIM_TALENT, "talentType", tostring(talentType))
|
||
|
return
|
||
|
end
|
||
|
local config = talentTypeInfo[level]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetTalentLevelGroups", "tab", SHARE_MULTI_DIM_TALENT, "level", tostring(level))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
local function GetTalentLevelGroupsDetail(classId, talentType, level)
|
||
|
local classInfo = TalentLevelGroupsDetail[classId]
|
||
|
if not classInfo then
|
||
|
XLog.ErrorTableDataNotFound("GetTalentLevelGroupsDetail", "tab", CLIENT_MULTI_DIM_TALENT_DETAIL, "classId", tostring(classId))
|
||
|
return
|
||
|
end
|
||
|
local talentTypeInfo = classInfo[talentType]
|
||
|
if not talentTypeInfo then
|
||
|
XLog.ErrorTableDataNotFound("GetTalentLevelGroupsDetail", "tab", CLIENT_MULTI_DIM_TALENT_DETAIL, "talentType", tostring(talentType))
|
||
|
return
|
||
|
end
|
||
|
local config = talentTypeInfo[level]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetTalentLevelGroupsDetail", "tab", CLIENT_MULTI_DIM_TALENT_DETAIL, "level", tostring(level))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
--endregion
|
||
|
|
||
|
--region 活动相关
|
||
|
|
||
|
function XMultiDimConfig.GetActivityTimeId(activityId)
|
||
|
local config = GetMultiDimActivity(activityId)
|
||
|
return config.TimeId or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetDefaultActivityId()
|
||
|
local defaultActivityId = 0
|
||
|
for activityId, config in pairs(MultiDimActivity) do
|
||
|
defaultActivityId = activityId
|
||
|
if XTool.IsNumberValid(config.TimeId) and XFunctionManager.CheckInTimeByTimeId(config.TimeId) then
|
||
|
break
|
||
|
end
|
||
|
end
|
||
|
return defaultActivityId
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetActivityName(activityId)
|
||
|
local config = GetMultiDimActivity(activityId)
|
||
|
return config.Name or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetActivityItemId(activityId)
|
||
|
local config = GetMultiDimActivityDetail(activityId)
|
||
|
return config.ItemId or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetActivityBannerBg(activityId)
|
||
|
local config = GetMultiDimActivityDetail(activityId)
|
||
|
return config.BannerBg or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetActivityTaskGroupId(activityId)
|
||
|
local config = GetMultiDimActivityDetail(activityId)
|
||
|
return config.TaskGroupId or nil
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetActivityTaskGroupName(activityId)
|
||
|
local config = GetMultiDimActivityDetail(activityId)
|
||
|
return config.TaskGroupName or nil
|
||
|
end
|
||
|
|
||
|
--endregion
|
||
|
|
||
|
--region 主题相关
|
||
|
function XMultiDimConfig.GetThemeAllId()
|
||
|
local allId = {}
|
||
|
for _, config in pairs(MultiDimTheme) do
|
||
|
tableInsert(allId, config.Id)
|
||
|
end
|
||
|
tableSort(allId, function(a, b)
|
||
|
return a < b
|
||
|
end)
|
||
|
return allId
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimThemes()
|
||
|
return MultiDimTheme
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimThemeDetails()
|
||
|
return MultiDimThemeDetail
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTheme(id)
|
||
|
local config = GetMultiDimTheme(id)
|
||
|
return config or nil
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimThemeDetail(id)
|
||
|
local config = GetMultiDimThemeDetail(id)
|
||
|
return config or nil
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetThemeTimeIdById(id)
|
||
|
local config = GetMultiDimTheme(id)
|
||
|
return config.TimeId or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetThemeNameById(id)
|
||
|
local config = GetMultiDimTheme(id)
|
||
|
return config.Name or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetThemeFirstPassTimeIdById(id)
|
||
|
local config = GetMultiDimTheme(id)
|
||
|
return config.ThemeFirstPassTimeId or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetThemeDailyFirstPassRewardIdById(id)
|
||
|
local config = GetMultiDimTheme(id)
|
||
|
return config.ThemeDailyFirstPassRewardId or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetThemeMatchConditionIdById(id)
|
||
|
local config = GetMultiDimTheme(id)
|
||
|
return config.MatchConditionId or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetThemeModelId(id)
|
||
|
local config = GetMultiDimThemeDetail(id)
|
||
|
return config.ModelId or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetThemeModelScale(id)
|
||
|
local config = GetMultiDimThemeDetail(id)
|
||
|
return config.ModelScale or 1
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiSingleStageListByThemeId(themeId)
|
||
|
local config = ThemeSingleStageList[themeId]
|
||
|
return config or nil
|
||
|
end
|
||
|
|
||
|
--endregion
|
||
|
|
||
|
--region 难度相关
|
||
|
function XMultiDimConfig.GetMultiSingleStageDataById(stageId)
|
||
|
local config = MultiSingleStageData[stageId]
|
||
|
return config or nil
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimDifficultyStageData(stageId)
|
||
|
local config = MultiDifficultyStageData[stageId]
|
||
|
return config or nil
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiSingleStageDatas()
|
||
|
return MultiSingleStageData
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimSingleFubenCfg()
|
||
|
local config = GetMultiDimSingleFubenCfg()
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimBuffDetailsConfig(buffId)
|
||
|
local config = GetMultiDimBuffDetails(buffId)
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimDifficultyStageId()
|
||
|
local stageIds = {}
|
||
|
for _, config in pairs(MultiDimDifficulty) do
|
||
|
if config then
|
||
|
tableInsert(stageIds, config.StageId)
|
||
|
for _, extraStageId in pairs(config.ExtraStageIds) do
|
||
|
tableInsert(stageIds,extraStageId)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
return stageIds
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetDifficultyStageId(themeId, difficultyId)
|
||
|
local config = GetMultiDimDifficulty(themeId, difficultyId)
|
||
|
return config.StageId or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetDifficultyFirstPassReward(themeId, difficultyId)
|
||
|
local config = GetMultiDimDifficulty(themeId, difficultyId)
|
||
|
return config.DifficultyFirstPassReward or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetDifficultyInfoByThemeId(themeId)
|
||
|
local config = DifficultyGroups[themeId]
|
||
|
if not config then
|
||
|
XLog.ErrorTableDataNotFound("GetDifficultyInfoByThemeId", "tab", SHARE_MULTI_DIM_DIFFICULTY, "themeId", tostring(themeId))
|
||
|
return
|
||
|
end
|
||
|
return config
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetDifficultyRecommendClass(themeId, difficultyId)
|
||
|
local config = GetMultiDimDifficulty(themeId, difficultyId)
|
||
|
return config.RecommendClass or {}
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetDifficultyDetailInfo(themeId, difficultyId)
|
||
|
return GetDifficultyGroupsDetail(themeId, difficultyId)
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetDifficultyDetailName(themeId, difficultyId)
|
||
|
local config = GetDifficultyGroupsDetail(themeId, difficultyId)
|
||
|
return config.Name or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetDifficultIsOnRank(themeId, difficultyId)
|
||
|
local config = GetMultiDimDifficulty(themeId, difficultyId)
|
||
|
return config.IsOnRank or 0
|
||
|
end
|
||
|
|
||
|
--endregion
|
||
|
|
||
|
--region 排行榜相关
|
||
|
--[[
|
||
|
单人排行榜人数 Name SingleRankNum
|
||
|
单人排行榜奖励保底人数 Name SingleRankFloor
|
||
|
多人排行榜人数 Name MultiRankNum
|
||
|
多人排行榜缓存人数 Name MultiRankMax
|
||
|
多人副本凌晨1点到9点关闭 Name MultiFubenCloseStartHour MultiFubenCloseEndHour
|
||
|
重置天赋CD,单位秒 Name TalentResetCD
|
||
|
]]
|
||
|
function XMultiDimConfig.GetMultiDimConfigValue(name)
|
||
|
return XMultiDimConfig.GetMultiDimConfig(name).Value
|
||
|
end
|
||
|
--endregion
|
||
|
|
||
|
--region 职业相关
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimCareerIconTranspose(career)
|
||
|
local config = GetMultiDimCareer(career)
|
||
|
return config.IconTranspose or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimCareerName(career)
|
||
|
local config = GetMultiDimCareer(career)
|
||
|
return config.Name or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimCareerFilterCareer(career)
|
||
|
local config = GetMultiDimCareer(career)
|
||
|
return config.FilterCareer or {}
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimCareerIcon(career)
|
||
|
local config = GetMultiDimCareer(career)
|
||
|
return config.Icon or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimCareerDes(career)
|
||
|
local config = GetMultiDimCareer(career)
|
||
|
return config.Des or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimCareerInfo()
|
||
|
return MultiDimCareer
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimRecommendCareerList(stageId)
|
||
|
for _,cfg in pairs(MultiDimDifficulty) do
|
||
|
if cfg.StageId == stageId then
|
||
|
return cfg.RecommendClass or {}
|
||
|
end
|
||
|
end
|
||
|
return {}
|
||
|
end
|
||
|
|
||
|
--endregion
|
||
|
|
||
|
--region 天赋相关
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentClassId(id)
|
||
|
local config = GetMultiDimTalent(id)
|
||
|
return config.ClassId or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentType(id)
|
||
|
local config = GetMultiDimTalent(id)
|
||
|
return config.TalentType or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentLevel(id)
|
||
|
local config = GetMultiDimTalent(id)
|
||
|
return config.Level or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentName(classId, talentType, level)
|
||
|
local config = GetTalentLevelGroups(classId, talentType, level)
|
||
|
return config.Name or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentCostItemId(classId, talentType, level)
|
||
|
local config = GetTalentLevelGroups(classId, talentType, level)
|
||
|
return config.CostItemId or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentCostItemCount(classId, talentType, level)
|
||
|
local config = GetTalentLevelGroups(classId, talentType, level)
|
||
|
return config.CostItemCount or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentIcon(classId, talentType, level)
|
||
|
local config = GetTalentLevelGroupsDetail(classId, talentType, level)
|
||
|
return config.Icon or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentDescription(classId, talentType, level)
|
||
|
local config = GetTalentLevelGroups(classId, talentType, level)
|
||
|
return config.Desc or ""
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentIsHighLevel(classId, talentType, level)
|
||
|
local config = GetTalentLevelGroupsDetail(classId, talentType, level)
|
||
|
return config.IsHighLevel or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentNextLevel(classId, talentType, level)
|
||
|
local config = GetTalentLevelGroupsDetail(classId, talentType, level)
|
||
|
return config.NextLevel or 0
|
||
|
end
|
||
|
|
||
|
function XMultiDimConfig.GetMultiDimTalentId(classId, talentType, level)
|
||
|
local config = GetTalentLevelGroups(classId, talentType, level)
|
||
|
return config.Id or 0
|
||
|
end
|
||
|
|
||
|
--endregion
|
||
|
|
||
|
--region 排行奖品相关
|
||
|
|
||
|
function XMultiDimConfig.GetRankRewardInfo(themeId)
|
||
|
return GetRankRewardGroups(themeId)
|
||
|
end
|
||
|
|
||
|
--endregion
|