XTrialConfigs = XTrialConfigs or {} local TABLE_LIKE_TRIALCHALLENGE = "Share/Fuben/Trial/TrialChallenge.tab" local TABLE_LIKE_TRIALTYPEREWARD = "Share/Fuben/Trial/TrialTypeReward.tab" local TrialChallengeConfig = {} local TrialTypeRewardConfig = {} function XTrialConfigs.Init() -- 读TrialChallenge表 local challengeData = XTableManager.ReadByIntKey(TABLE_LIKE_TRIALCHALLENGE, XTable.XTableTrialChallenge, "Id") for _, v in pairs(challengeData) do if TrialChallengeConfig[v.Type] == nil then TrialChallengeConfig[v.Type] = {} end table.insert(TrialChallengeConfig[v.Type], v) end --读TrialTypeReward表 local typerewardData = XTableManager.ReadByIntKey(TABLE_LIKE_TRIALTYPEREWARD, XTable.XTableTrialTypeReward, "Type") for _, v in pairs(typerewardData) do TrialTypeRewardConfig[v.Type] = v end end -- 取回所有前段关卡的数据 function XTrialConfigs.GetForTotalData() return TrialChallengeConfig[1] end -- 取回所有后段关卡的数据 function XTrialConfigs.GetBackEndTotalData() return TrialChallengeConfig[2] end -- 取前段第level个关卡的数据 function XTrialConfigs.GetForDataByLevel(level) local cfg = XTrialConfigs.GetForTotalData() return cfg[level] end -- 取后段第level个关卡的数据 function XTrialConfigs.GetBackEndDataByLevel(level) local cfg = XTrialConfigs.GetBackEndTotalData() return cfg[level] end -- 取所有类型的数据 function XTrialConfigs.GetTotalTrialTypeCfg() return TrialTypeRewardConfig end -- 通过trialtype取类型的数据 function XTrialConfigs.GetTrialTypeCfg(trialtype) return TrialTypeRewardConfig[trialtype] end -- 取回所有前段关卡总长度 function XTrialConfigs.GetForTotalLength() return #TrialChallengeConfig[1] end -- 取回所有后段关卡总长度 function XTrialConfigs.GetBackEndTotalLength() return #TrialChallengeConfig[2] end --根据stageid取回数据 function XTrialConfigs.GetCfgDataByStageId(stageid) local forcfg = XTrialConfigs.GetForTotalData() for _, v in pairs(forcfg) do if v.StageId == stageid then return v end end local endcfg = XTrialConfigs.GetBackEndTotalData() for _, v in pairs(endcfg) do if v.StageId == stageid then return v end end end