PGRData/Script/matrix/xmodule/xtheatre3/XTheatre3Model.lua
2024-09-01 22:49:41 +02:00

754 lines
No EOL
23 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local XTheatre3Activity = require("XModule/XTheatre3/XEntity/XTheatre3Activity")
--=============
--配置表枚举
--ReadFunc : 读取表格的方法默认为XConfigUtil.ReadType.Int
--DirPath : 读取的文件夹类型XConfigUtil.DirectoryType默认是Share
--Identifier : 读取表格的主键名默认为Id
--TableDefinedName : 表定于名,默认同表名
--CacheType : 配置表缓存方式默认XConfigUtil.CacheType.Private
--=============
local TableKey = {
Theatre3Activity = { CacheType = XConfigUtil.CacheType.Normal },
Theatre3Chapter = {},
Theatre3ChapterGroup = {},
Theatre3CharacterGroup = {},
Theatre3CharacterLevel = {},
Theatre3CharacterRecruit = {},
Theatre3CharacterEnding = {},
Theatre3StrengthenTree = {},
Theatre3Difficulty = {},
Theatre3BattlePass = { CacheType = XConfigUtil.CacheType.Normal, Identifier = "Level" },
Theatre3Config = { ReadFunc = XConfigUtil.ReadType.String, Identifier = "Key" },
Theatre3Task = { CacheType = XConfigUtil.CacheType.Normal, DirPath = XConfigUtil.DirectoryType.Client },
Theatre3EquipSuit = {},
Theatre3Equip = {},
Theatre3Item = {},
Theatre3Ending = { CacheType = XConfigUtil.CacheType.Normal },
Theatre3SettleFactor = {},
Theatre3Event = {},
Theatre3EventOptionGroup = {},
Theatre3FightStageTemplate = { CacheType = XConfigUtil.CacheType.Normal },
Theatre3FightNode = {},
Theatre3NodeShop = {},
Theatre3Reboot = { CacheType = XConfigUtil.CacheType.Normal },
Theatre3EventNode = { DirPath = XConfigUtil.DirectoryType.Client, Identifier = "EventId" },
Theatre3ItemType = { DirPath = XConfigUtil.DirectoryType.Client, Identifier = "Type" },
Theatre3EquipSuitType = { DirPath = XConfigUtil.DirectoryType.Client, Identifier = "Type" },
Theatre3ClientConfig = { CacheType = XConfigUtil.CacheType.Normal, ReadFunc = XConfigUtil.ReadType.String, DirPath = XConfigUtil.DirectoryType.Client, Identifier = "Key" },
Theatre3ItemBox = {},
Theatre3EquipBox = {},
Theatre3Gold = {},
Theatre3EnergyUnused = {},
}
---@class XTheatre3Model : XModel
---@field ActivityData XTheatre3Activity
local XTheatre3Model = XClass(XModel, "XTheatre3Model")
function XTheatre3Model:OnInit()
--初始化内部变量
--这里只定义一些基础数据, 请不要一股脑把所有表格在这里进行解析
self._ConfigUtil:InitConfigByTableKey("Theatre3", TableKey)
-- BP最高等级
self.MaxBattlePassLevel = 0
-- BPId列表
self.BattlePassIdList = {}
self.IsInitBattlePassConfig = false
-- 任务列表
self.TaskConfigIdList = {}
-- 参与主界面任务显示逻辑的Id列表
self.TaskMainShowIdList = {}
self.IsInitTaskConfig = false
-- 天赋树Id列表
self.StrengthenTreeIdList = {}
self.IsInitStrengthenTreeConfig = false
-- 精通-角色组Id列表
self.CharacterGroupIdList = {}
-- 角色组对应的角色Id列表 KeyGroupIdvalueCharacterIdList
self.CharacterGroupIdToCharacterIdList = {}
-- 角色Id对应的角色等级列表 KeyCharacterIdvalueCharacterLevelIdList
self.CharacterIdToCharacterLevelIdList = {}
-- 角色Id和等级对应的角色等级配置的Id Key1CharacterId key2Level ValueId
self.CharacterIdAndLevelToCharacterLevelId = {}
-- 角色最高等级字典 KeyCharacterIdvalueMaxLevel
self.CharacterIdToMaxLevel = {}
-- 角色Id对应的角色加成列表 KeyCharacterIdvalueCharacterEndingIdList
self.CharacterIdToCharacterEndingIdList = {}
self.IsInitCharacterConfig = false
-- 图鉴-道具类型Id列表
self.ItemTypeIdList = {}
-- 图鉴-道具类型对应的道具Id列表 KeyTypeIdvalueItemIdList
self.ItemTypeIdToItemIdList = {}
self.IsInitItemConfig = false
-- 图鉴-套装类型Id列表
self.EquipSuitTypeIdList = {}
-- 图鉴-套装类型对应的套装Id列表 KeyTypeIdvalueEquipSuitIdList
self.EquipSuitTypeToEquipSuitIdList = {}
self.IsInitEquipSuitConfig = false
-- 每个套装包含的装备
self.SuitToEquipsMap = {}
-- 招募角色消耗列表
self.CharacterCostMap = {}
-- 机器人对应角色列表
self.CharacterRobotMap = {}
end
function XTheatre3Model:ClearPrivate()
--这里执行内部数据清理
end
function XTheatre3Model:ResetAll()
--这里执行重登数据清理
self.ActivityData = nil
end
--region 服务端信息更新和获取
function XTheatre3Model:NotifyTheatre3Activity(data)
if not data or not XTool.IsNumberValid(data.CurActivityId) then
return
end
if not self.ActivityData then
self.ActivityData = XTheatre3Activity.New()
end
self.ActivityData:NotifyTheatre3Activity(data)
end
function XTheatre3Model:NotifyTheatre3AdventureSettle(data)
if not data or not self.ActivityData then
return
end
self.ActivityData:UpdateSettle(data.SettleData)
end
function XTheatre3Model:NotifyTheatre3AddStep(data)
self.ActivityData:NotifyTheatre3AddStep(data)
end
function XTheatre3Model:UpdateGetRewardId(rewardType, data, id)
if rewardType == XEnumConst.THEATRE3.GetBattlePassRewardType.GetOnce then
self.ActivityData:AddGetRewardId(id)
else
self.ActivityData:UpdateGetRewardIdData(data)
end
end
-- 获取BP经验值
function XTheatre3Model:GetBattlePassTotalExp()
if not self.ActivityData then
return 0
end
return self.ActivityData:GetTotalBattlePassExp()
end
--endregion
--region 活动表相关
function XTheatre3Model:GetActivityConfig()
if not self.ActivityData then
return {}
end
local curActivityId = self.ActivityData:GetCurActivityId()
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Activity, curActivityId)
end
--endregion
--region BP奖励相关
function XTheatre3Model:GetBattlePassConfigs()
local config = self._ConfigUtil:GetByTableKey(TableKey.Theatre3BattlePass)
return config or {}
end
function XTheatre3Model:GetBattlePassConfig(level)
local config = self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3BattlePass, level)
return config or {}
end
function XTheatre3Model:GetBattlePassNeedExp(level)
local config = self:GetBattlePassConfig(level)
return config.NeedExp or 0
end
function XTheatre3Model:InitBattlePassConfig()
if self.IsInitBattlePassConfig then
return
end
local configs = self:GetBattlePassConfigs()
for id, _ in pairs(configs) do
table.insert(self.BattlePassIdList, id)
if id > self.MaxBattlePassLevel then
self.MaxBattlePassLevel = id
end
end
self.IsInitBattlePassConfig = true
end
function XTheatre3Model:GetMaxBattlePassLevel()
self:InitBattlePassConfig()
return self.MaxBattlePassLevel
end
function XTheatre3Model:GetBattlePassIdList()
self:InitBattlePassConfig()
return self.BattlePassIdList
end
-- 根据经验获取BP的等级
function XTheatre3Model:GetBattlePassLevelByExp(totalExp)
local configs = self:GetBattlePassConfigs()
local curLevel = 0
local curScore = 0
for id, config in pairs(configs) do
curScore = curScore + config.NeedExp
if totalExp >= curScore then
curLevel = id
else
break
end
end
return curLevel
end
function XTheatre3Model:GetEnergyUnusedConfig()
local config = self._ConfigUtil:GetByTableKey(TableKey.Theatre3EnergyUnused)
return config or {}
end
--endregion
--region Config表相关
-- 获取Share路径下的Config配置信息
function XTheatre3Model:GetShareConfig(key)
local config = self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Config, key)
return config and config.Value or ""
end
-- 获取Client路径下的Config配置信息
function XTheatre3Model:GetClientConfig(key, index)
local config = self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3ClientConfig, key)
if not config then
return ""
end
return config.Values and config.Values[index] or ""
end
--endregion
--region 任务相关配置
function XTheatre3Model:InitTaskConfig()
if self.IsInitTaskConfig then
return
end
local configs = self:GetTaskConfigs()
for id, config in pairs(configs) do
local mainShowOrder = config.MainShowOrder
if XTool.IsNumberValid(mainShowOrder) then
table.insert(self.TaskMainShowIdList, id)
end
table.insert(self.TaskConfigIdList, id)
end
table.sort(self.TaskMainShowIdList, function(a, b)
local orderA = self:GetTaskMainShowOrder(a)
local orderB = self:GetTaskMainShowOrder(b)
if orderA ~= orderB then
return orderA < orderB
end
return a < b
end)
self.IsInitTaskConfig = true
end
function XTheatre3Model:GetTaskConfigIdList()
self:InitTaskConfig()
return self.TaskConfigIdList
end
function XTheatre3Model:GetTaskMainShowIdList()
self:InitTaskConfig()
return self.TaskMainShowIdList
end
function XTheatre3Model:GetTaskConfigs()
local config = self._ConfigUtil:GetByTableKey(TableKey.Theatre3Task)
return config or {}
end
function XTheatre3Model:GetTaskConfig(id)
local config = self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Task, id)
return config or {}
end
function XTheatre3Model:GetTaskIdsById(id)
local config = self:GetTaskConfig(id)
return config.TaskId or {}
end
function XTheatre3Model:GetTaskMainShowOrder(id)
local config = self:GetTaskConfig(id)
return config.MainShowOrder or 0
end
--endregion
--region 编队相关
function XTheatre3Model:GetCharacterCost(id)
if XTool.IsTableEmpty(self.CharacterCostMap) then
self:InitMemberConfig()
end
return self.CharacterCostMap[id]
end
function XTheatre3Model:GetCharacterByRobot(id)
if XTool.IsTableEmpty(self.CharacterRobotMap) then
self:InitMemberConfig()
end
return self.CharacterRobotMap[id]
end
function XTheatre3Model:InitMemberConfig()
local configs = self:GetCharacterRecruitConfig()
for _, v in pairs(configs) do
local cost = self:GetCharacterGroupById(v.GroupId).EnergyCost
self.CharacterCostMap[v.CharacterId] = cost
self.CharacterRobotMap[v.RobotId] = v.CharacterId
end
end
--endregion
--region 装备相关
---@return XTableTheatre3Equip[]
function XTheatre3Model:GetEquipConfig()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3Equip)
end
function XTheatre3Model:GetEquipById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Equip, id)
end
---@return XTableTheatre3EquipSuit[]
function XTheatre3Model:GetEquipSuitConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3EquipSuit)
end
function XTheatre3Model:GetSuitById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3EquipSuit, id)
end
---@return XTableTheatre3Equip[]
function XTheatre3Model:GetSameSuitEquip(suitId)
local data = self.SuitToEquipsMap[suitId]
if not data then
data = {}
local config = self:GetEquipConfig()
for _, v in pairs(config) do
if v.SuitId == suitId then
table.insert(data, v)
end
end
table.sort(data, function(a, b)
return a.Id < b.Id
end)
self.SuitToEquipsMap[suitId] = data
end
return data
end
--endregion
--region 精通-成员相关
function XTheatre3Model:InitCharacterConfig()
if self.IsInitCharacterConfig then
return
end
local recruitConfigs = self:GetCharacterRecruitConfig()
for _, config in pairs(recruitConfigs or {}) do
if not self.CharacterGroupIdToCharacterIdList[config.GroupId] then
self.CharacterGroupIdToCharacterIdList[config.GroupId] = {}
end
table.insert(self.CharacterGroupIdToCharacterIdList[config.GroupId], config.CharacterId)
end
local levelConfig = self:GetCharacterLevelConfig()
local characterId, level
for id, config in pairs(levelConfig or {}) do
characterId = config.CharacterId
level = config.Level
if not self.CharacterIdToCharacterLevelIdList[characterId] then
self.CharacterIdToCharacterLevelIdList[characterId] = {}
end
table.insert(self.CharacterIdToCharacterLevelIdList[characterId], id)
if not self.CharacterIdAndLevelToCharacterLevelId[characterId] then
self.CharacterIdAndLevelToCharacterLevelId[characterId] = {}
end
self.CharacterIdAndLevelToCharacterLevelId[characterId][level] = id
if not self.CharacterIdToMaxLevel[characterId] or level > self.CharacterIdToMaxLevel[characterId] then
self.CharacterIdToMaxLevel[characterId] = level
end
end
local characterEnding = self:GetCharacterEndingConfigs()
for _, config in pairs(characterEnding or {}) do
if not self.CharacterIdToCharacterEndingIdList[config.CharacterId] then
self.CharacterIdToCharacterEndingIdList[config.CharacterId] = {}
end
table.insert(self.CharacterIdToCharacterEndingIdList[config.CharacterId], config.Id)
end
local groupConfig = self:GetCharacterGroupConfig()
for id, _ in pairs(groupConfig or {}) do
table.insert(self.CharacterGroupIdList, id)
end
self.IsInitCharacterConfig = true
end
function XTheatre3Model:GetCharacterGroupIdList()
self:InitCharacterConfig()
return self.CharacterGroupIdList
end
function XTheatre3Model:GetCharacterIdListByGroupId(groupId)
self:InitCharacterConfig()
return self.CharacterGroupIdToCharacterIdList[groupId] or {}
end
function XTheatre3Model:GetCharacterLevelIdListByCharacterId(characterId)
self:InitCharacterConfig()
return self.CharacterIdToCharacterLevelIdList[characterId] or {}
end
-- 获取角色最高等级
function XTheatre3Model:GetCharacterMaxLevel(characterId)
self:InitCharacterConfig()
return self.CharacterIdToMaxLevel[characterId] or 0
end
-- 获取角色等级表的Id
function XTheatre3Model:GetCharacterLevelId(characterId, level)
self:InitCharacterConfig()
if not self.CharacterIdAndLevelToCharacterLevelId[characterId] then
XLog.Error("Theatre3CharacterLevel表找不到数据 CharacterId:", characterId)
return
end
return self.CharacterIdAndLevelToCharacterLevelId[characterId][level]
end
function XTheatre3Model:GetCharacterEndingIdList(characterId)
self:InitCharacterConfig()
return self.CharacterIdToCharacterEndingIdList[characterId] or {}
end
---@return XTableTheatre3CharacterGroup[]
function XTheatre3Model:GetCharacterGroupConfig()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3CharacterGroup)
end
---@return XTableTheatre3CharacterGroup
function XTheatre3Model:GetCharacterGroupById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3CharacterGroup, id)
end
---@return XTableTheatre3CharacterRecruit[]
function XTheatre3Model:GetCharacterRecruitConfig()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3CharacterRecruit)
end
---@return XTableTheatre3CharacterRecruit
function XTheatre3Model:GetCharacterRecruitConfigById(recruitId)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3CharacterRecruit, recruitId)
end
---@return XTableTheatre3CharacterLevel[]
function XTheatre3Model:GetCharacterLevelConfig()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3CharacterLevel)
end
---@return XTableTheatre3CharacterLevel
function XTheatre3Model:GetCharacterLevelConfigById(levelId)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3CharacterLevel, levelId)
end
---@return XTableTheatre3CharacterEnding[]
function XTheatre3Model:GetCharacterEndingConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3CharacterEnding)
end
---@return XTableTheatre3CharacterEnding
function XTheatre3Model:GetCharacterEndingConfigById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3CharacterEnding, id)
end
--endregion
--region 精通-天赋相关
function XTheatre3Model:InitStrengthenTreeConfig()
if self.IsInitStrengthenTreeConfig then
return
end
local configs = self:GetStrengthenTreeConfig()
for id, _ in pairs(configs or {}) do
table.insert(self.StrengthenTreeIdList, id)
end
XTool.SortIdTable(self.StrengthenTreeIdList)
self.IsInitStrengthenTreeConfig = true
end
function XTheatre3Model:GetStrengthenTreeIdList()
self:InitStrengthenTreeConfig()
return self.StrengthenTreeIdList
end
---@return XTableTheatre3StrengthenTree[]
function XTheatre3Model:GetStrengthenTreeConfig()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3StrengthenTree)
end
---@return XTableTheatre3StrengthenTree
function XTheatre3Model:GetStrengthenTreeConfigById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3StrengthenTree, id)
end
--endregion
--region 图鉴-道具相关
function XTheatre3Model:InitItemConfig()
if self.IsInitItemConfig then
return
end
local itemConfigs = self:GetItemConfigs()
for id, config in pairs(itemConfigs or {}) do
if not self.ItemTypeIdToItemIdList[config.Type] then
self.ItemTypeIdToItemIdList[config.Type] = {}
end
table.insert(self.ItemTypeIdToItemIdList[config.Type], id)
end
local itemTypeConfigs = self:GetItemTypeConfigs()
for _, config in pairs(itemTypeConfigs or {}) do
if config.ShowInArchive == 1 then
table.insert(self.ItemTypeIdList, config.Type)
end
end
self.IsInitItemConfig = true
end
function XTheatre3Model:GetItemTypeIdList()
self:InitItemConfig()
return self.ItemTypeIdList
end
function XTheatre3Model:GetItemIdListByTypeId(typeId)
self:InitItemConfig()
return self.ItemTypeIdToItemIdList[typeId] or {}
end
---@return XTableTheatre3Item[]
function XTheatre3Model:GetItemConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3Item)
end
---@return XTableTheatre3Item
function XTheatre3Model:GetItemConfigById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Item, id)
end
---@return XTableTheatre3ItemType[]
function XTheatre3Model:GetItemTypeConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3ItemType)
end
function XTheatre3Model:GetItemTypeConfigByTypeId(typeId)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3ItemType, typeId)
end
--endregion
--region 图鉴-套装相关
function XTheatre3Model:InitEquipSuitConfig()
if self.IsInitEquipSuitConfig then
return
end
local equipSuitConfigs = self:GetEquipSuitConfigs()
for id, config in pairs(equipSuitConfigs or {}) do
if not self.EquipSuitTypeToEquipSuitIdList[config.UseType] then
self.EquipSuitTypeToEquipSuitIdList[config.UseType] = {}
end
table.insert(self.EquipSuitTypeToEquipSuitIdList[config.UseType], id)
end
local equipSuitTypeConfigs = self:GetEquipSuitTypeConfigs()
for typeId, _ in pairs(equipSuitTypeConfigs) do
table.insert(self.EquipSuitTypeIdList, typeId)
end
self.IsInitEquipSuitConfig = true
end
function XTheatre3Model:GetEquipSuitTypeIdList()
self:InitEquipSuitConfig()
return self.EquipSuitTypeIdList
end
function XTheatre3Model:GetEquipSuitIdListByTypeId(typeId)
self:InitEquipSuitConfig()
return self.EquipSuitTypeToEquipSuitIdList[typeId] or {}
end
function XTheatre3Model:GetEquipSuitTypeConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3EquipSuitType)
end
function XTheatre3Model:GetEquipSuitTypeConfigByTypeId(typeId)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3EquipSuitType, typeId)
end
--endregion
--region 结算相关
---@return XTableTheatre3Ending
function XTheatre3Model:GetEndingById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Ending, id)
end
function XTheatre3Model:GetSettleFactor()
local config = self._ConfigUtil:GetByTableKey(TableKey.Theatre3SettleFactor)
return config or {}
end
---@return XTableTheatre3ItemBox
function XTheatre3Model:GetItemBoxById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3ItemBox, id)
end
---@return XTableTheatre3EquipBox
function XTheatre3Model:GetEquipBoxById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3EquipBox, id)
end
function XTheatre3Model:GetGoldBoxById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Gold, id)
end
--endregion
--region Difficulty
---@return XTableTheatre3Difficulty[]
function XTheatre3Model:GetDifficultyConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3Difficulty)
end
---@return XTableTheatre3Difficulty
function XTheatre3Model:GetDifficultyById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Difficulty, id)
end
--endregion
--region Chapter
---@return XTableTheatre3Chapter[]
function XTheatre3Model:GetChapterConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3Chapter)
end
---@return XTableTheatre3Chapter
function XTheatre3Model:GetChapterCfgById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Chapter, id)
end
--endregion
--region EventNode
---@return XTableTheatre3Event[]
function XTheatre3Model:GetEventConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3Event)
end
---@return XTableTheatre3EventNode
function XTheatre3Model:GetEventNodeCfgById(eventId)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3EventNode, eventId)
end
---@return XTableTheatre3EventOptionGroup[]
function XTheatre3Model:GetEventOptionGroupConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3EventOptionGroup)
end
---@return XTableTheatre3EventOptionGroup
function XTheatre3Model:GetEventOptionCfgById(optionId)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3EventOptionGroup, optionId)
end
--endregion
--region FightNode
---@return XTableTheatre3FightNode
function XTheatre3Model:GetFightNodeCfgById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3FightNode, id)
end
---@return XTableTheatre3FightStageTemplate[]
function XTheatre3Model:GetFightStageTemplateConfigs()
return self._ConfigUtil:GetByTableKey(TableKey.Theatre3FightStageTemplate)
end
---@return XTableTheatre3FightStageTemplate
function XTheatre3Model:GetFightStageTemplateCfgById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3FightStageTemplate, id)
end
--endregion
--region ShopNode
---@return XTableTheatre3NodeShop
function XTheatre3Model:GetShopNodeCfgById(id)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3NodeShop, id)
end
--endregion
--region Reboot
---@return XTable.XTableTheatre3Reboot
function XTheatre3Model:GetRebootCfg(rebootId)
return self._ConfigUtil:GetCfgByTableKeyAndIdKey(TableKey.Theatre3Reboot, rebootId)
end
function XTheatre3Model:GetRebootCost(rebootId)
local cfg = self:GetRebootCfg(rebootId)
return cfg and cfg.RebootCost or 0
end
function XTheatre3Model:GetMaxRebootCount(rebootId)
local cfg = self:GetRebootCfg(rebootId)
return cfg and cfg.MaxRebootCount or 0
end
function XTheatre3Model:GetFubenRestartCost(rebootId)
local cfg = self:GetRebootCfg(rebootId)
return cfg and cfg.FubenRestartCost or 0
end
function XTheatre3Model:GetFubenClashCost(rebootId)
local cfg = self:GetRebootCfg(rebootId)
return cfg and cfg.FubenClashCost or 0
end
--endregion
return XTheatre3Model