PGRData/Script/matrix/xmodule/xtheatre3/XTheatre3Model.lua

754 lines
23 KiB
Lua
Raw Normal View History

2024-09-01 22:49:41 +02:00
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