PGRData/Script/matrix/xconfig/XDoubleTowersConfigs.lua

751 lines
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.

XDoubleTowersConfigs = XDoubleTowersConfigs or {}
XDoubleTowersConfigs.StageState = {
-- 通关
Clear = 1,
-- 未通关
NotClear = 2,
-- 未解锁
Lock = 3
}
XDoubleTowersConfigs.ReasonOfLockGroup = {
-- 已解锁
None = 0,
-- 前置关卡未通关
PreconditionStageNotClear = 1,
-- 未到开放时间
TimeLimit = 2
}
--模块类型
XDoubleTowersConfigs.ModuleType = {
Role = 1, --角色
Guard = 2 --守卫
}
-- 每组最多关卡数量
XDoubleTowersConfigs.MaxStageAmountPerGroup = 3
-- teamId 一支队伍就一个人,没必要保存服务端
XDoubleTowersConfigs.TeamId = 19
XDoubleTowersConfigs.TeamTypeId = 130
-- 活动总控表
local ACTIVITY_TAB = "Share/Fuben/DoubleTower/DoubleTowerActivity.tab"
-- 关卡组表
local GROUP_TAB = "Share/Fuben/DoubleTower/DoubleTowerStageGroup.tab"
-- 关卡表
local STAGE_TAB = "Share/Fuben/DoubleTower/DoubleTowerStage.tab"
-- 情报表
local INFORMATION_TAB = "Client/Fuben/DoubleTower/DoubleTowerInformation.tab"
-- 角色(帮手)配置表
local ROLE_TAB = "Share/Fuben/DoubleTower/DoubleTowerRole.tab"
-- 守卫配置表
local GUARD_TAB = "Share/Fuben/DoubleTower/DoubleTowerGuard.tab"
-- 插件表
local PLUGIN_TAB = "Share/Fuben/DoubleTower/DoubleTowerPlugin.tab"
-- 插件详情表
local PLUGIN_LEVEL_TAB = "Share/Fuben/DoubleTower/DoubleTowerPluginLevel.tab"
--region 无脑get配置
local ActivityConfigs = nil
local GroupConfigs = nil
local StageConfigs = nil
local InformationConfigs = nil
local RoleConfigs = nil
local GuardConfigs = nil
local PluginConfigs = nil
local PluginLevelConfigs = nil
function XDoubleTowersConfigs.Init()
end
local function GetActivityConfigs()
if not ActivityConfigs then
ActivityConfigs = XTableManager.ReadByIntKey(ACTIVITY_TAB, XTable.XTableDoubleTowerActivity, "Id")
end
return ActivityConfigs
end
local function GetGroupConfigs()
if not GroupConfigs then
GroupConfigs = XTableManager.ReadByIntKey(GROUP_TAB, XTable.XTableDoubleTowerStageGroup, "Id")
end
return GroupConfigs
end
local function GetStageConfigs()
if not StageConfigs then
StageConfigs = XTableManager.ReadByIntKey(STAGE_TAB, XTable.XTableDoubleTowerStage, "Id")
end
return StageConfigs
end
local function GetInformationConfigs()
if not InformationConfigs then
InformationConfigs = XTableManager.ReadByIntKey(INFORMATION_TAB, XTable.XTableDoubleTowerInformation, "Id")
end
return InformationConfigs
end
local function GetRoleConfigs()
if not RoleConfigs then
RoleConfigs = XTableManager.ReadByIntKey(ROLE_TAB, XTable.XTableDoubleTowerRole, "Id")
end
return RoleConfigs
end
local function GetGuardConfigs()
if not GuardConfigs then
GuardConfigs = XTableManager.ReadByIntKey(GUARD_TAB, XTable.XTableDoubleTowerGuard, "Id")
end
return GuardConfigs
end
local function GetPluginConfigs()
if not PluginConfigs then
PluginConfigs = XTableManager.ReadByIntKey(PLUGIN_TAB, XTable.XTableDoubleTowerPlugin, "Id")
end
return PluginConfigs
end
local function GetPluginLevelConfigs()
if not PluginLevelConfigs then
PluginLevelConfigs = XTableManager.ReadByIntKey(PLUGIN_LEVEL_TAB, XTable.XTableDoubleTowerPluginLevel, "Id")
end
return PluginLevelConfigs
end
function XDoubleTowersConfigs.GetActivityCfg(activityId)
local config = GetActivityConfigs()[activityId]
if not config then
XLog.Error(
"XDoubleTowersConfigs GetActivityCfg error:配置不存在Id:" .. (activityId or "nil") .. " ,Path:" .. ACTIVITY_TAB
)
end
return config
end
function XDoubleTowersConfigs.GetDefaultActivityId()
local cfg = GetActivityConfigs()
for key, value in pairs(cfg) do
return key
end
return false
end
function XDoubleTowersConfigs.GetGroupConfigs()
return GetGroupConfigs()
end
function XDoubleTowersConfigs.GetStageGroupCfg(groupId)
return GetGroupConfigs()[groupId] or {}
end
function XDoubleTowersConfigs.GetAllStageConfigs()
return GetStageConfigs()
end
function XDoubleTowersConfigs.GetStageCfg(id)
return GetStageConfigs()[id] or {}
end
function XDoubleTowersConfigs.GetInfoCfg(id)
return GetInformationConfigs()[id]
end
local function GetRoleCfg(id)
local config = GetRoleConfigs()[id]
if not config then
XLog.ErrorTableDataNotFound("XDoubleTowersConfigs.GetRoleCfg", "RoleConfigs", ROLE_TAB, "Id", id)
return
end
return config
end
local function GetGuardCfg(id)
local config = GetGuardConfigs()[id]
if not config then
XLog.ErrorTableDataNotFound("XDoubleTowersConfigs.GetGuardCfg", "GuardConfigs", GUARD_TAB, "Id", id)
return
end
return config
end
local function GetPluginCfg(id)
local config = GetPluginConfigs()[id]
if not config then
XLog.ErrorTableDataNotFound("XDoubleTowersConfigs.GetPluginCfg", "PluginCfgs", PLUGIN_TAB, "Id", id)
return
end
return config
end
local function GetPluginLevelCfg(id)
return GetPluginLevelConfigs()[id]
end
--endregion
-------------------------------------------------------------------------------------------
function XDoubleTowersConfigs.GetTimeLimitId(activityId)
return XDoubleTowersConfigs.GetActivityCfg(activityId).OpenTimeId
end
function XDoubleTowersConfigs.GetActivityBackground(activityId)
return XDoubleTowersConfigs.GetActivityCfg(activityId).BannerBg
end
---@return string@活动名/标题
function XDoubleTowersConfigs.GetTitleName(activityId)
return XDoubleTowersConfigs.GetActivityCfg(activityId).Name
end
---@return number@收菜货币的id
function XDoubleTowersConfigs.GetCoinItemId(activityId)
return XDoubleTowersConfigs.GetActivityCfg(activityId).RewardItemId
end
---@return number@收菜间隔
function XDoubleTowersConfigs.GetGatherInterval(activityId)
return XDoubleTowersConfigs.GetActivityCfg(activityId).RewardTimer
end
---@return number@一次收菜多少代币
function XDoubleTowersConfigs.GetGatherCoins(activityId)
return XDoubleTowersConfigs.GetActivityCfg(activityId).RewardItemCount
end
---@return number@图文教学界面对应helpCourse.tab
function XDoubleTowersConfigs.GetHelpKey(activityId)
return XDoubleTowersConfigs.GetActivityCfg(activityId).HelpKey
end
local _StageGroupAmount = nil
---@return number@关卡组数量从一之门到n之门不算特殊关卡
function XDoubleTowersConfigs.GetStageGroupAmount()
if not _StageGroupAmount then
_StageGroupAmount = 0
local groupConfigs = GetGroupConfigs()
for groupId, cfg in pairs(groupConfigs) do
if not cfg.IsSpecial then
_StageGroupAmount = _StageGroupAmount + 1
end
end
end
return _StageGroupAmount
end
local function SortId(id1, id2)
return id1 < id2
end
local _GroupIndex2Id = nil
local function InitGroupIndex2Id()
if not _GroupIndex2Id then
_GroupIndex2Id = {}
local groupConfigs = GetGroupConfigs()
for groupId, cfg in pairs(groupConfigs) do
if not _GroupIndex2Id[cfg.ActivityId] then
_GroupIndex2Id[cfg.ActivityId] = {}
end
local t = _GroupIndex2Id[cfg.ActivityId]
t[#t + 1] = groupId
end
for activity, group2Id in pairs(_GroupIndex2Id) do
table.sort(group2Id, SortId)
end
end
end
---@return number@ groupId
function XDoubleTowersConfigs.GetGroupId(activityId, groupIndex)
InitGroupIndex2Id()
return _GroupIndex2Id[activityId] and _GroupIndex2Id[activityId][groupIndex]
end
function XDoubleTowersConfigs.GetActivityIdByStageId(stageId)
local groupId = XDoubleTowersConfigs.GetGroupIdByStageId(stageId)
local groupCfg = XDoubleTowersConfigs.GetStageGroupCfg(groupId)
return groupCfg and groupCfg.ActivityId
end
local _GroupId2Stage = nil
---@return table@ {stageId1,stageId2,stageId3}
local function GetGroup(activityId, groupId)
if not _GroupId2Stage then
local stageConfigs = GetStageConfigs()
_GroupId2Stage = {}
for id, cfg in pairs(stageConfigs) do
local groupActivityId = XDoubleTowersConfigs.GetActivityIdByStageId(cfg.Id)
if groupActivityId then
if not _GroupId2Stage[groupActivityId] then
_GroupId2Stage[groupActivityId] = {}
end
local groupId2Stage = _GroupId2Stage[groupActivityId]
groupId2Stage[cfg.GroupId] = groupId2Stage[cfg.GroupId] or {}
local groupIdArray = groupId2Stage[cfg.GroupId]
groupIdArray[#groupIdArray + 1] = cfg.Id
end
end
for activity, groupId2Stage in pairs(_GroupId2Stage) do
for groupId, group in pairs(groupId2Stage) do
table.sort(group, SortId)
end
end
end
return _GroupId2Stage[activityId][groupId] or {}
end
function XDoubleTowersConfigs.GetGroup(activityId, groupId)
return GetGroup(activityId, groupId)
end
local function GetGroupCfg(groupId)
return GetGroupConfigs()[groupId] or {}
end
function XDoubleTowersConfigs.GetStageId(activityId, groupId, stageIndex)
return GetGroup(activityId, groupId)[stageIndex]
end
function XDoubleTowersConfigs.GetStageName(stageId)
return XDoubleTowersConfigs.GetStageCfg(stageId).Name
end
function XDoubleTowersConfigs.GetStageTip(stageId)
return XDoubleTowersConfigs.GetStageCfg(stageId).BuffDesc
end
function XDoubleTowersConfigs.GetPreconditionStage(stageId)
return XDoubleTowersConfigs.GetStageCfg(stageId).PreStageId
end
-- 关卡组 按时间开放
function XDoubleTowersConfigs.GetGroupTimeLimitId(groupId)
return GetGroupCfg(groupId).OpenTimeId
end
function XDoubleTowersConfigs.GetGroupName(groupId)
return GetGroupCfg(groupId).Name
end
local _StageAmount = {}
function XDoubleTowersConfigs.GetTotalNormalStageAmount(activityId)
if _StageAmount[activityId] then
return _StageAmount[activityId]
end
local stageAmount = 0
local allGroup = GetGroupConfigs()
for groupId, groupCfg in pairs(allGroup) do
if groupCfg.ActivityId == activityId and not groupCfg.IsSpecial then
local group = GetGroup(activityId, groupId)
stageAmount = stageAmount + #group
end
end
_StageAmount[activityId] = stageAmount
return stageAmount
end
local _SpecialGroupId = {}
function XDoubleTowersConfigs.GetSpecialGroupId(activityId)
if _SpecialGroupId[activityId] ~= nil then
return _SpecialGroupId[activityId]
end
local groupConfigs = GetGroupConfigs()
for groupId, cfg in pairs(groupConfigs) do
if cfg.IsSpecial and activityId == cfg.ActivityId then
_SpecialGroupId[activityId] = groupId
return groupId
end
end
_SpecialGroupId[activityId] = false
return false
end
local _Stage2InfoGroup = nil
function XDoubleTowersConfigs.GetInfoIdGroup(stageId)
if not _Stage2InfoGroup then
_Stage2InfoGroup = {}
for infoId, info in pairs(GetInformationConfigs()) do
_Stage2InfoGroup[info.StageId] = _Stage2InfoGroup[info.StageId] or {}
local group = _Stage2InfoGroup[info.StageId]
group[#group + 1] = info.Id
end
end
return _Stage2InfoGroup[stageId] or {}
end
function XDoubleTowersConfigs.GetGroupIdByStageId(stageId)
return XDoubleTowersConfigs.GetStageCfg(stageId).GroupId
end
function XDoubleTowersConfigs.GetGroupPreconditionStage(groupId)
return XDoubleTowersConfigs.GetStageGroupCfg(groupId).PreStageId
end
function XDoubleTowersConfigs.GetEnemyInfoImg(infoId)
return XDoubleTowersConfigs.GetInfoCfg(infoId).BossImage
end
function XDoubleTowersConfigs.GetEnemyInfoRoundDesc(infoId)
return XDoubleTowersConfigs.GetInfoCfg(infoId).RoundDesc
end
function XDoubleTowersConfigs.GetEnemyInfoTypeDesc(infoId)
return XDoubleTowersConfigs.GetInfoCfg(infoId).TypeDesc
end
function XDoubleTowersConfigs.GetGroupIndexByStageId(stageId)
local groupId = XDoubleTowersConfigs.GetGroupIdByStageId(stageId)
InitGroupIndex2Id()
local activityId = XDoubleTowersConfigs.GetActivityIdByStageId(stageId)
local groupIndex2Id = _GroupIndex2Id[activityId]
if not groupIndex2Id then
return false
end
for groupIndex = 1, #groupIndex2Id do
if groupIndex2Id[groupIndex] == groupId then
return groupIndex
end
end
return false
end
function XDoubleTowersConfigs.GetMaxCoins(activityId)
return XDoubleTowersConfigs.GetActivityCfg(activityId).RewardMaxCount
end
function XDoubleTowersConfigs.GetRolePluginMaxCount()
local activityId = XDataCenter.DoubleTowersManager.GetActivityId()
local config = XDoubleTowersConfigs.GetActivityCfg(activityId)
return config and config.RolePluginMaxCount
end
function XDoubleTowersConfigs.GetGuardPluginMaxCount()
local activityId = XDataCenter.DoubleTowersManager.GetActivityId()
local config = XDoubleTowersConfigs.GetActivityCfg(activityId)
return config and config.GuardPluginMaxCount
end
function XDoubleTowersConfigs.GetActivityRewardItemId()
local activityId = XDataCenter.DoubleTowersManager.GetActivityId()
local config = XDoubleTowersConfigs.GetActivityCfg(activityId)
return config and config.RewardItemId
end
---------------DoubleTowerRole being-----------------
local IsInitDoubleTowerRole = false
local ActivityIdToRoleId = 0
local InitDoubleTowerRoleDic = function(activityId)
if IsInitDoubleTowerRole then
return
end
-- local configs = GetRoleConfigs()
-- for id, v in pairs(configs) do
-- if not ActivityIdToRoleId[v.ActivityId] then
-- ActivityIdToRoleId[v.ActivityId] = id
-- end
-- end
ActivityIdToRoleId = activityId
IsInitDoubleTowerRole = true
end
function XDoubleTowersConfigs.GetDoubleTowerRoleId()
local activityId = XDataCenter.DoubleTowersManager.GetActivityId()
InitDoubleTowerRoleDic(activityId)
return ActivityIdToRoleId
end
function XDoubleTowersConfigs.GetRoleBasePluginIdList()
local selectPluginType = XDoubleTowersConfigs.GetRoleSelectPluginType()
if XTool.IsNumberValid(selectPluginType) then
return XDoubleTowersConfigs.GetRolePluginLevelIdList()
end
return XDoubleTowersConfigs.GetDoubleTowerPluginIdList(selectPluginType)
end
function XDoubleTowersConfigs.GetRoleSelectPluginType()
local id = XDoubleTowersConfigs.GetDoubleTowerRoleId()
return GetRoleCfg(id).SlotPluginType
end
function XDoubleTowersConfigs.GetRolePluginLevelIdList()
local id = XDoubleTowersConfigs.GetDoubleTowerRoleId()
return GetRoleCfg(id).PluginLevelId
end
function XDoubleTowersConfigs.GetDefaultRoleBaseId()
local idList = XDoubleTowersConfigs.GetRolePluginLevelIdList()
for idx, id in ipairs(idList or {}) do
local preStage = XDoubleTowersConfigs.GetRolePreStageId(idx)
--默认为不需要前置关卡的pluginevelId
if not XTool.IsNumberValid(preStage) then
return id
end
end
return idList[1]
end
function XDoubleTowersConfigs.GetRoleDefaultPluginId()
local id = XDoubleTowersConfigs.GetDoubleTowerRoleId()
return GetRoleCfg(id).DefaultPlugin
end
function XDoubleTowersConfigs.GetRolePluginLevelId(index)
local idList = XDoubleTowersConfigs.GetRolePluginLevelIdList()
return idList[index]
end
function XDoubleTowersConfigs.GetRolePreStageId(index)
local id = XDoubleTowersConfigs.GetDoubleTowerRoleId()
local preStageIdList = GetRoleCfg(id).PreStage
return preStageIdList[index]
end
function XDoubleTowersConfigs.GetRoleIcon(index)
local id = XDoubleTowersConfigs.GetDoubleTowerRoleId()
local iconList = GetRoleCfg(id).Icon
return iconList[index]
end
function XDoubleTowersConfigs.GetRoleIconByPluginLevelId(pluginLevelId)
local idList = XDoubleTowersConfigs.GetRolePluginLevelIdList()
for index, id in ipairs(idList) do
if pluginLevelId == id then
return XDoubleTowersConfigs.GetRoleIcon(index)
end
end
end
function XDoubleTowersConfigs.GetSlotPreStageId(index, type)
local preStageIdList = {}
if type == XDoubleTowersConfigs.ModuleType.Role then
local id = XDoubleTowersConfigs.GetDoubleTowerRoleId()
preStageIdList = GetRoleCfg(id).SlotPreStageId
elseif type == XDoubleTowersConfigs.ModuleType.Guard then
local id = XDoubleTowersConfigs.GetDoubleTowerGuardId()
preStageIdList = GetGuardCfg(id).SlotPreStageId
end
return preStageIdList[index]
end
---------------DoubleTowerRole end-------------------
---------------DoubleTowerGuard being-------------------
local IsInitDoubleTowerGuard = false
local ActivityIdToGuardId = 0
local InitDoubleTowerGuardDic = function(activityId)
if IsInitDoubleTowerGuard then
return
end
-- local configs = GetGuardConfigs()
-- for id, v in pairs(configs) do
-- if not ActivityIdToGuardIdList[v.ActivityId] then
-- ActivityIdToGuardIdList[v.ActivityId] = id
-- end
-- end
ActivityIdToGuardId = activityId
IsInitDoubleTowerGuard = true
end
function XDoubleTowersConfigs.GetDoubleTowerGuardId()
local activityId = XDataCenter.DoubleTowersManager.GetActivityId()
InitDoubleTowerGuardDic(activityId)
return ActivityIdToGuardId
end
function XDoubleTowersConfigs.GetGuardBasePluginIdList()
local selectPluginType = XDoubleTowersConfigs.GetGuardSelectPluginType()
if XTool.IsNumberValid(selectPluginType) then
return XDoubleTowersConfigs.GetGuardPluginLevelIdList()
end
return XDoubleTowersConfigs.GetDoubleTowerPluginIdList(selectPluginType)
end
function XDoubleTowersConfigs.GetDefaultGuardIndex()
local idList = XDoubleTowersConfigs.GetGuardPluginLevelIdList()
for idx, _ in ipairs(idList or {}) do
local preStage = XDoubleTowersConfigs.GetGuardPreStageId(idx)
--默认为不需要前置关卡的pluginevelId
if not XTool.IsNumberValid(preStage) then
return idx
end
end
return 1
end
function XDoubleTowersConfigs.GetGuardPluginLevelId(index)
local idList = XDoubleTowersConfigs.GetGuardPluginLevelIdList()
return idList[index]
end
function XDoubleTowersConfigs.GetGuardSelectPluginType()
local id = XDoubleTowersConfigs.GetDoubleTowerGuardId()
return GetGuardCfg(id).SlotPluginType
end
function XDoubleTowersConfigs.GetGuardNpcIdList(index)
local id = XDoubleTowersConfigs.GetDoubleTowerGuardId()
local npcIdList = GetGuardCfg(id).NPCId
return npcIdList[index]
end
function XDoubleTowersConfigs.GetGuardPluginLevelIdList()
local id = XDoubleTowersConfigs.GetDoubleTowerGuardId()
return GetGuardCfg(id).PluginLevelId
end
function XDoubleTowersConfigs.GetGuardPreStageId(index)
local id = XDoubleTowersConfigs.GetDoubleTowerGuardId()
local preStageIdList = GetGuardCfg(id).PreStageId
return preStageIdList[index]
end
function XDoubleTowersConfigs.GetGuardIcon(index)
local id = XDoubleTowersConfigs.GetDoubleTowerGuardId()
local iconList = GetGuardCfg(id).Icon
return iconList[index]
end
function XDoubleTowersConfigs.GetGuardSmallIcon(index)
local id = XDoubleTowersConfigs.GetDoubleTowerGuardId()
local iconList = GetGuardCfg(id).SmallIcon
return iconList[index]
end
function XDoubleTowersConfigs.GetGuardIconByPluginLevelId(pluginLevelId, useSmallIcon)
local idList = XDoubleTowersConfigs.GetGuardPluginLevelIdList()
for index, id in ipairs(idList) do
if pluginLevelId == id then
return useSmallIcon and XDoubleTowersConfigs.GetGuardSmallIcon(index) or
XDoubleTowersConfigs.GetGuardIcon(index)
end
end
end
---------------DoubleTowerGuard end---------------------
---------------DoubleTowerPlugin begin-------------------
local IsInitDoubleTowerPlugin = false
local ActivityIdToPluginIdList = {} --key:活动Id, value:插件组Id列表
local PluginIdToLevelIdDic = {} --key1:插件Id, key2:等级, value:插件等级Id
local PluginIdToMaxLevelDic = {} --key:插件Id, value:插件最高等级
local PluginIdToLevelIdList = {}
local InitDoubleTowerPluginDic = function()
if IsInitDoubleTowerPlugin then
return
end
local configs = GetPluginConfigs()
for id, v in pairs(configs) do
if not ActivityIdToPluginIdList[v.ActivityId] then
ActivityIdToPluginIdList[v.ActivityId] = {}
end
table.insert(ActivityIdToPluginIdList[v.ActivityId], id)
end
configs = GetPluginLevelConfigs()
for id, v in pairs(configs) do
if not PluginIdToLevelIdDic[v.PluginId] then
PluginIdToLevelIdDic[v.PluginId] = {}
end
PluginIdToLevelIdDic[v.PluginId][v.Level] = id
if not PluginIdToLevelIdList[v.PluginId] then
PluginIdToLevelIdList[v.PluginId] = {}
end
table.insert(PluginIdToLevelIdList[v.PluginId], v.Id)
local curMaxLevel = PluginIdToMaxLevelDic[v.PluginId]
if not curMaxLevel or curMaxLevel < v.Level then
PluginIdToMaxLevelDic[v.PluginId] = v.Level
end
end
for _, levelIdList in pairs(PluginIdToLevelIdList) do
table.sort(
levelIdList,
function(levelIdA, levelIdB)
local levelA = XDoubleTowersConfigs.GetPluginLevel(levelIdA)
local levelB = XDoubleTowersConfigs.GetPluginLevel(levelIdB)
if levelA ~= levelB then
return levelA < levelB
end
return levelIdA < levelIdB
end
)
end
IsInitDoubleTowerPlugin = true
end
function XDoubleTowersConfigs.GetDoubleTowerPluginIdList(type)
InitDoubleTowerPluginDic()
local activityId = XDataCenter.DoubleTowersManager.GetActivityId()
local pluginIdList = ActivityIdToPluginIdList[activityId] or {}
if not type then
return pluginIdList
end
local sameTypePluginIdList = {}
for _, pluginId in ipairs(pluginIdList) do
if XDoubleTowersConfigs.GetPluginType(pluginId) == type then
table.insert(sameTypePluginIdList, pluginId)
end
end
return sameTypePluginIdList
end
function XDoubleTowersConfigs.GetPluginType(id)
return GetPluginCfg(id).Type
end
function XDoubleTowersConfigs.GetPluginIcon(id)
return GetPluginCfg(id).Icon
end
function XDoubleTowersConfigs.GetPluginDesc(id)
return GetPluginCfg(id).Desc
end
---------------DoubleTowerPlugin end---------------------
---------------DoubleTowerPluginLevel begin-------------------
function XDoubleTowersConfigs.GetPluginLevelId(pluginId, level)
InitDoubleTowerPluginDic()
level = XTool.IsNumberValid(level) and level or 1
return PluginIdToLevelIdDic[pluginId] and PluginIdToLevelIdDic[pluginId][level]
end
function XDoubleTowersConfigs.GetPluginLevelIdList(pluginId)
InitDoubleTowerPluginDic()
return PluginIdToLevelIdList[pluginId] or {}
end
function XDoubleTowersConfigs.GetPluginMaxLevel(pluginId)
InitDoubleTowerPluginDic()
return PluginIdToMaxLevelDic[pluginId] or 0
end
function XDoubleTowersConfigs.GetPluginLevelName(id)
return GetPluginLevelCfg(id).Name
end
function XDoubleTowersConfigs.GetLevelPluginId(id)
return GetPluginLevelCfg(id).PluginId
end
function XDoubleTowersConfigs.GetPluginLevel(id)
return GetPluginLevelCfg(id).Level
end
function XDoubleTowersConfigs.GetPluginLevelFightEventId(id)
return GetPluginLevelCfg(id).FightEventId
end
function XDoubleTowersConfigs.GetPluginLevelUpgradeSpend(id)
return GetPluginLevelCfg(id).UpgradeSpend
end
function XDoubleTowersConfigs.GetPluginLevelDesc(id)
return GetPluginLevelCfg(id).Desc
end
---------------DoubleTowerPluginLevel end---------------------