1338 lines
No EOL
44 KiB
Lua
1338 lines
No EOL
44 KiB
Lua
XMoeWarConfig = XMoeWarConfig or {}
|
||
|
||
local tableInsert = table.insert
|
||
local tableSort = table.sort
|
||
|
||
local TABLE_MOEWAR_ACTIVITY = "Share/MoeWar/MoeWarActivity.tab"
|
||
local TABLE_MOEWAR_INIT_PAIR = "Share/MoeWar/MoeWarInitPair.tab"
|
||
local TABLE_MOEWAR_MAIL = "Share/MoeWar/MoeWarMail.tab"
|
||
local TABLE_MOEWAR_MATCH = "Share/MoeWar/MoeWarMatch.tab"
|
||
local TABLE_MOEWAR_PLAYER_GROUP = "Share/MoeWar/MoeWarPlayer.tab"
|
||
local TABLE_MOEWAR_VOTE_ITEM = "Share/MoeWar/MoeWarVoteItem.tab"
|
||
local TABLE_MOEWAR_PLAYER_CONFIG = "Client/MoeWar/MoeWarPlayerLocal.tab"
|
||
local TABLE_MOEWAR_TASK_GROUP = "Client/MoeWar/MoeWarTaskGroup.tab"
|
||
local TABLE_MOEWAR_RANK_GROUP = "Client/MoeWar/MoeWarRankGroup.tab"
|
||
local TABLE_MOEWAR_PREPARATION_ACTIVITY = "Share/MoeWar/Preparation/MoeWarPreparationActivity.tab"
|
||
local TABLE_MOEWAR_PREPARATION_ASSISTANCE = "Share/MoeWar/Preparation/MoeWarPreparationAssistance.tab"
|
||
local TABLE_MOEWAR_PREPARATION_GEAR = "Share/MoeWar/Preparation/MoeWarPreparationGear.tab"
|
||
local TABLE_MOEWAR_PREPARATION_HELPER = "Share/MoeWar/Preparation/MoeWarPreparationHelper.tab"
|
||
local TABLE_MOEWAR_PREPARATION_MATCH = "Share/MoeWar/Preparation/MoeWarPreparationMatch.tab"
|
||
local TABLE_MOEWAR_PREPARATION_QUESHION = "Share/MoeWar/Preparation/MoeWarPreparationQuestion.tab"
|
||
local TABLE_MOEWAR_PREPARATION_STAGE = "Share/MoeWar/Preparation/MoeWarPreparationStage.tab"
|
||
local TABLE_MOEWAR_PREPARATION_STAGE_TAG_LABEL = "Client/MoeWar/MoeWarPreparationStageTagLabel.tab"
|
||
local TABLE_MOEWAR_PREPARATION_STAGE_EVALUATION_LABEL = "Client/MoeWar/MoeWarPreparationStageEvaluationLabel.tab"
|
||
local TABLE_MOEWAR_ANIMATION = "Client/MoeWar/MoeWarAnimation.tab"
|
||
local TABLE_MOEWAR_ANIMATION_GROUP = "Client/MoeWar/MoeWarAnimationGroup.tab"
|
||
local TABLE_MOEWAR_ICON_CONFIG = "Client/MoeWar/MoeWarIconConfig.tab"
|
||
local TABLE_MOEWAR_ACTIVITY_CONFIG = "Client/MoeWar/MoeWarActivityConfig.tab"
|
||
local TABLE_MOEWAR_PARKOUR_STAGE = "Share/MoeWar/Parkour/MoeWarParkourStage.tab"
|
||
local TABLE_MOEWAR_PARKOUR_ACTIVITY = "Share/MoeWar/Parkour/MoeWarParkourActivity.tab"
|
||
local TABLE_MOEWAR_NAMEPLATE_CONFIG = "Client/MoeWar/MoeWarNameplateConfig.tab"
|
||
local TABLE_MOEWAR_NAMEPLATE_STORE = "Share/MoeWar/MoeWarNameplateStore.tab"
|
||
local TABLE_MOEWAR_CHARACTER_MOOD = "Client/MoeWar/MoeWarCharacterMood.tab"
|
||
local TABLE_MOEWAR_THANK = "Client/MoeWar/MoeWarThank.tab"
|
||
local TABLE_MOEWAR_SCHEDULE_TAB_GROUP = "Client/MoeWar/MoeWarScheduleTabGroup.tab"
|
||
|
||
local MoeWarActivity = {}
|
||
local MoeWarInitPair = {}
|
||
local MoeWarMail = {}
|
||
local MoeWarMatch = {}
|
||
local MoeWarPlayers = {}
|
||
local MoeWarGroups = {}
|
||
local MoeWarVoteItem = {}
|
||
local MoeWarPlayerCfg = {}
|
||
local MoeWarTaskGroup = {}
|
||
local MoeWarRankGroup = {}
|
||
local MoeWarAnimation = {}
|
||
local MoeWarAnimationGroup = {}
|
||
local MoeWarIconConfig = {}
|
||
local MoeWarActivityConfig = {}
|
||
local MoeWarScheduleTabGroup = {}
|
||
|
||
local DefaultActivityId = 1
|
||
local MoeWarPreparationActivity = {}
|
||
local MoeWarPreparationAssistance = {}
|
||
local MoeWarPreparationGear = {}
|
||
local MoeWarPreparationHelper = {}
|
||
local MoeWarPreparationMatch = {}
|
||
local MoeWarPreparationQuestion = {}
|
||
local MoeWarPreparationStage = {}
|
||
local MoeWarPreparationStageTagLabel = {}
|
||
local MoeWarPreparationStageEvaluationLabel = {}
|
||
local PreparationAssistanceEffectIdList = {}
|
||
local MoeWarCharacterMood = {}
|
||
local MoeWarThank = {}
|
||
|
||
local MoeWarParkourStage = {}
|
||
local MoeWarParkourActivity = {}
|
||
local MoeWarNameplateStore = {}
|
||
local MoeWarNameplateConfig = {}
|
||
local MoeWarRobotId2HelperId = {}
|
||
|
||
|
||
XMoeWarConfig.KEY_GROUP_TAB_INDEX = "MOE_WAR_GROUP_TAB_INDEX_KEY"
|
||
XMoeWarConfig.SKIP_KEY_PREFIX = "MOE_WAR_SKIP"
|
||
XMoeWarConfig.DEFAULT_SELECT_KEY_PREFIX ="MOE_WAR_DEFAULT_SELECT"
|
||
XMoeWarConfig.MOE_WAR_VOTE_ANIMATION_RECORD = "MOE_WAR_VOTE_ANIMATION_RECORD"
|
||
XMoeWarConfig.MAX_NAMEPLATE_BUY_COUNT = 1 --铭牌最大购买数量
|
||
XMoeWarConfig.KEY_PARKOUR_TEAM = "KEY_PARKOUR_TEAM"
|
||
XMoeWarConfig.ScheNameColor = {
|
||
NORMAL = XUiHelper.Hexcolor2Color("1B1B1B"),
|
||
WIN = XUiHelper.Hexcolor2Color("1B1B1B"),
|
||
}
|
||
|
||
XMoeWarConfig.ScheNumColor = {
|
||
NORMAL = XUiHelper.Hexcolor2Color("6B6E6E"),
|
||
WIN = XUiHelper.Hexcolor2Color("6B6E6E"),
|
||
}
|
||
|
||
XMoeWarConfig.RankIcon = {
|
||
[1] = CS.XGame.ClientConfig:GetString("BabelTowerRankIcon1"),
|
||
[2] = CS.XGame.ClientConfig:GetString("BabelTowerRankIcon2"),
|
||
[3] = CS.XGame.ClientConfig:GetString("BabelTowerRankIcon3"),
|
||
}
|
||
|
||
XMoeWarConfig.ScheduleIcon = {
|
||
[1] = CS.XGame.ClientConfig:GetString("MoeWarScheduleIcon1"),
|
||
[2] = CS.XGame.ClientConfig:GetString("MoeWarScheduleIcon2"),
|
||
[3] = CS.XGame.ClientConfig:GetString("MoeWarScheduleIcon3"),
|
||
}
|
||
|
||
XMoeWarConfig.MatchType = {
|
||
Voting = 1, --投票期
|
||
Publicity = 2, --公示期
|
||
}
|
||
|
||
XMoeWarConfig.SessionType = {
|
||
-- 海选期 27进24
|
||
GameInAudition = 0,
|
||
-- 第一轮投票期 24进18
|
||
FirstRoundVoting = 1,
|
||
-- 失败周投票期上半场 18进12
|
||
FailWeekVotingUp = 2,
|
||
-- 失败周投票期下半场 12进6
|
||
FailWeekVotingDown = 3,
|
||
-- 半决赛 6进3
|
||
Game6In3 = 4,
|
||
-- 总决赛 3进1
|
||
Game3In1 = 5,
|
||
}
|
||
|
||
XMoeWarConfig.SessionName = {
|
||
"Game24In12",
|
||
"Game12In6",
|
||
"Game6In3",
|
||
"Game3In1",
|
||
}
|
||
|
||
XMoeWarConfig.WarSituationType = {
|
||
Default = 0, --默认
|
||
WinGroup = 1, --战胜组
|
||
FailGroup = 2, --失败组
|
||
WeedOut = 3, --淘汰
|
||
}
|
||
|
||
XMoeWarConfig.RankType = {
|
||
Daily = 1,
|
||
Player = 2,
|
||
}
|
||
|
||
XMoeWarConfig.EventType = {
|
||
Open = 1,
|
||
Change = 2,
|
||
VoteChange = 3,
|
||
}
|
||
|
||
XMoeWarConfig.MailType = {
|
||
LastDay = 1,
|
||
ResultOut = 2,
|
||
VoteStart = 3,
|
||
VoteEnd = 4,
|
||
}
|
||
|
||
XMoeWarConfig.SubTagType = {
|
||
Top = 0, --顶部
|
||
Mid = 1, --中间
|
||
Btm = 2, --底部
|
||
All = 3, --唯一
|
||
}
|
||
|
||
XMoeWarConfig.TaskType = {
|
||
Daily = 1, --每日任务
|
||
Normal = 2, --累计任务
|
||
}
|
||
|
||
XMoeWarConfig.ActionType = {
|
||
Intro = 1,
|
||
Thank = 2,
|
||
}
|
||
|
||
--帮手状态
|
||
XMoeWarConfig.PreparationHelperStatus = {
|
||
NotCommunicating = 0, --未通讯
|
||
Communicating = 1, --通讯中
|
||
CommunicationEnd = 2, --通讯结束
|
||
RecruitFinish = 3, --已招募
|
||
RecruitFinishAndCommunicating = 4, --已招募并通讯中
|
||
}
|
||
|
||
--场外援助效果类型
|
||
XMoeWarConfig.PreparationAssistanceEffectType = {
|
||
Null = 0, --空
|
||
MaxCount = 1, --援助上限
|
||
ExcludeWrongAnswer = 2, --排除错误选项
|
||
RecoveryTime = 3, --恢复间隔
|
||
HelperDuration = 4, --增加帮手时长
|
||
}
|
||
|
||
--招募答题信息类型
|
||
XMoeWarConfig.RecruitMsgType = {
|
||
MyMsg = 1,
|
||
OtherMsg = 2,
|
||
MyNo = 3,
|
||
MyYes = 4,
|
||
Line = 5,
|
||
GiftThank = 6, --赠礼回复
|
||
}
|
||
|
||
--问题类型
|
||
XMoeWarConfig.QuestionType = {
|
||
QuestionStart = 1, --开局问候
|
||
RandomQuestion = 2, --随机问题
|
||
RecruitRight = 3, --招募成功结语
|
||
RecruitLose = 4, --招募失败结语
|
||
}
|
||
|
||
--赛事筹备开启状态
|
||
XMoeWarConfig.MatchState = {
|
||
["NotOpen"] = 1, --未开启
|
||
["Open"] = 2, --开启中
|
||
["Over"] = 3, --已结束
|
||
}
|
||
|
||
--跑酷小游戏关卡状态
|
||
XMoeWarConfig.ParkourGameState = {
|
||
Unopened = 1, --未开启
|
||
Opening = 2, --开启中
|
||
Over = 3, --已结束
|
||
}
|
||
|
||
--跑酷积分结算Key
|
||
XMoeWarConfig.ParkourSettleResultKey = {
|
||
--总积分
|
||
TotalScore = "TotalScore",
|
||
--移动积分
|
||
MoveScore = "MoveScore",
|
||
--收集积分
|
||
CollectScore = "CollectScore",
|
||
--移动距离
|
||
MoveDistance = "MoveDistance",
|
||
--跑酷当日可获得票数
|
||
DailyReward = "DailyReward",
|
||
}
|
||
|
||
local InitPreparationAssistanceEffectIdList = function()
|
||
local cfg = {}
|
||
for effectId, v in pairs(MoeWarPreparationAssistance) do
|
||
tableInsert(cfg, v)
|
||
end
|
||
tableSort(cfg, function(a, b)
|
||
if a.Order ~= b.Order then
|
||
return a.Order < b.Order
|
||
end
|
||
return a.EffectId < b.EffectId
|
||
end)
|
||
for _, v in pairs(cfg) do
|
||
tableInsert(PreparationAssistanceEffectIdList, v.EffectId)
|
||
end
|
||
end
|
||
|
||
function XMoeWarConfig.Init()
|
||
MoeWarActivity = XTableManager.ReadByIntKey(TABLE_MOEWAR_ACTIVITY, XTable.XTableMoeWarActivity, "Id")
|
||
MoeWarInitPair = XTableManager.ReadByIntKey(TABLE_MOEWAR_INIT_PAIR, XTable.XTableMoeWarInitPair, "Id")
|
||
MoeWarMail = XTableManager.ReadByIntKey(TABLE_MOEWAR_MAIL, XTable.XTableMoeWarMail, "Id")
|
||
MoeWarMatch = XTableManager.ReadByIntKey(TABLE_MOEWAR_MATCH, XTable.XTableMoeWarMatch, "Id")
|
||
MoeWarPlayers = XTableManager.ReadByIntKey(TABLE_MOEWAR_PLAYER_GROUP, XTable.XTableMoeWarPlayer, "Id")
|
||
MoeWarVoteItem = XTableManager.ReadByIntKey(TABLE_MOEWAR_VOTE_ITEM, XTable.XTableMoeWarVoteItem, "No")
|
||
MoeWarPlayerCfg = XTableManager.ReadByIntKey(TABLE_MOEWAR_PLAYER_CONFIG, XTable.XTableMoeWarPlayerLocal, "Id")
|
||
MoeWarTaskGroup = XTableManager.ReadByIntKey(TABLE_MOEWAR_TASK_GROUP, XTable.XTableMoeWarTaskGroup, "Id")
|
||
MoeWarRankGroup = XTableManager.ReadByIntKey(TABLE_MOEWAR_RANK_GROUP, XTable.XTableMoeRankGroup, "RankType")
|
||
MoeWarPreparationActivity = XTableManager.ReadByIntKey(TABLE_MOEWAR_PREPARATION_ACTIVITY, XTable.XTableMoeWarPreparationActivity, "Id")
|
||
MoeWarPreparationAssistance = XTableManager.ReadByIntKey(TABLE_MOEWAR_PREPARATION_ASSISTANCE, XTable.XTableMoeWarPreparationAssistance, "EffectId")
|
||
MoeWarPreparationGear = XTableManager.ReadByIntKey(TABLE_MOEWAR_PREPARATION_GEAR, XTable.XTableMoeWarPreparationGear, "Id")
|
||
MoeWarPreparationHelper = XTableManager.ReadByIntKey(TABLE_MOEWAR_PREPARATION_HELPER, XTable.XTableMoeWarPreparationHelper, "Id")
|
||
MoeWarPreparationMatch = XTableManager.ReadByIntKey(TABLE_MOEWAR_PREPARATION_MATCH, XTable.XTableMoeWarPreparationMatch, "Id")
|
||
MoeWarPreparationQuestion = XTableManager.ReadByIntKey(TABLE_MOEWAR_PREPARATION_QUESHION, XTable.XTableMoeWarPreparationQuestion, "Id")
|
||
MoeWarPreparationStage = XTableManager.ReadByIntKey(TABLE_MOEWAR_PREPARATION_STAGE, XTable.XTableMoeWarPreparationStage, "StageId")
|
||
MoeWarPreparationStageTagLabel = XTableManager.ReadByIntKey(TABLE_MOEWAR_PREPARATION_STAGE_TAG_LABEL, XTable.XTableMoeWarPreparationStageTagLabel, "Id")
|
||
MoeWarPreparationStageEvaluationLabel = XTableManager.ReadByIntKey(TABLE_MOEWAR_PREPARATION_STAGE_EVALUATION_LABEL, XTable.XTableMoeWarPreparationStageEvaluationLabel, "ReachNum")
|
||
MoeWarIconConfig = XTableManager.ReadByIntKey(TABLE_MOEWAR_ICON_CONFIG,XTable.XTableMoeWarIconConfig,"Id")
|
||
MoeWarActivityConfig = XTableManager.ReadByIntKey(TABLE_MOEWAR_ACTIVITY_CONFIG,XTable.XTableMoeWarActivityConfig,"Id")
|
||
MoeWarAnimation = XTableManager.ReadByIntKey(TABLE_MOEWAR_ANIMATION, XTable.XTableMoeWarAnimation, "Id")
|
||
MoeWarAnimationGroup = XTableManager.ReadByIntKey(TABLE_MOEWAR_ANIMATION_GROUP, XTable.XTableMoeWarAnimationGroup, "Id")
|
||
MoeWarParkourStage = XTableManager.ReadByIntKey(TABLE_MOEWAR_PARKOUR_STAGE, XTable.XTableMoeWarParkourStage, "Id")
|
||
MoeWarParkourActivity = XTableManager.ReadByIntKey(TABLE_MOEWAR_PARKOUR_ACTIVITY, XTable.XTableMoeWarParkourActivity, "Id")
|
||
MoeWarNameplateConfig = XTableManager.ReadByIntKey(TABLE_MOEWAR_NAMEPLATE_CONFIG, XTable.XTableMoeWarMoeWarNameplateConfig, "Id")
|
||
MoeWarNameplateStore = XTableManager.ReadByIntKey(TABLE_MOEWAR_NAMEPLATE_STORE, XTable.XTableMoeWarNameplateStore, "NameplateId")
|
||
MoeWarCharacterMood = XTableManager.ReadByIntKey(TABLE_MOEWAR_CHARACTER_MOOD, XTable.XTableMoeWarCharacterMood, "Id")
|
||
MoeWarThank = XTableManager.ReadByIntKey(TABLE_MOEWAR_THANK, XTable.XTableMoeWarThank, "Id")
|
||
MoeWarScheduleTabGroup = XTableManager.ReadByIntKey(TABLE_MOEWAR_SCHEDULE_TAB_GROUP,XTable.XTableMoeWarScheduleTabGroup,"Id")
|
||
for _, v in pairs(MoeWarPlayers) do
|
||
if not MoeWarGroups[v.Group] then
|
||
MoeWarGroups[v.Group] = {}
|
||
end
|
||
tableInsert(MoeWarGroups[v.Group], v)
|
||
end
|
||
|
||
for id, cfg in pairs(MoeWarPreparationHelper) do
|
||
MoeWarRobotId2HelperId[cfg.RobotId] = id
|
||
end
|
||
|
||
InitPreparationAssistanceEffectIdList()
|
||
end
|
||
|
||
function XMoeWarConfig.GetPlayers()
|
||
return MoeWarPlayers
|
||
end
|
||
|
||
function XMoeWarConfig.GetPlayerGroup(id)
|
||
return MoeWarPlayers[id].Group
|
||
end
|
||
|
||
function XMoeWarConfig.GetGroups()
|
||
return MoeWarGroups
|
||
end
|
||
|
||
function XMoeWarConfig.GetRankGroups()
|
||
return MoeWarRankGroup
|
||
end
|
||
|
||
function XMoeWarConfig.GetRankGroupByType(type)
|
||
return MoeWarRankGroup[type]
|
||
end
|
||
|
||
function XMoeWarConfig.GetGroupById(id)
|
||
return MoeWarGroups[id]
|
||
end
|
||
|
||
function XMoeWarConfig.GetScheduleTabGroup()
|
||
return MoeWarScheduleTabGroup
|
||
end
|
||
|
||
function XMoeWarConfig.GetPlayerCfg(id)
|
||
local template = MoeWarPlayerCfg[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetPlayerCfg", "MoeWarPlayerCfg", TABLE_MOEWAR_PLAYER_CONFIG, "Id", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
function XMoeWarConfig.GetActTemplates()
|
||
return MoeWarActivity
|
||
end
|
||
|
||
function XMoeWarConfig.GetActivityTemplateById(id)
|
||
id = id or DefaultActivityId
|
||
if not MoeWarActivity[id] then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetActivityTemplateById", "MoeWarActivity", TABLE_MOEWAR_ACTIVITY, "Id", tostring(id))
|
||
return
|
||
end
|
||
return MoeWarActivity[id]
|
||
end
|
||
|
||
function XMoeWarConfig.GetInitPair(id)
|
||
return MoeWarInitPair[id]
|
||
end
|
||
|
||
function XMoeWarConfig.GetMail(id)
|
||
return MoeWarMail[id]
|
||
end
|
||
function XMoeWarConfig.GetInitPairsByGroupId(groupId)
|
||
local tempList = {}
|
||
for k, v in pairs(MoeWarInitPair) do
|
||
if v.GroupId == groupId then
|
||
tableInsert(tempList, v)
|
||
end
|
||
end
|
||
return tempList
|
||
end
|
||
|
||
function XMoeWarConfig.GetMatch(id)
|
||
return MoeWarMatch[id]
|
||
end
|
||
|
||
function XMoeWarConfig.GetMatchCfgs()
|
||
return MoeWarMatch
|
||
end
|
||
|
||
function XMoeWarConfig.GetVoteItems()
|
||
return MoeWarVoteItem
|
||
end
|
||
|
||
function XMoeWarConfig.GetVoteItemById(id)
|
||
return MoeWarVoteItem[id]
|
||
end
|
||
|
||
function XMoeWarConfig.GetVoteByItemId(ItemId)
|
||
return MoeWarVoteItem[ItemId]
|
||
end
|
||
|
||
function XMoeWarConfig.GetTaskGroupCount()
|
||
return #MoeWarTaskGroup
|
||
end
|
||
|
||
function XMoeWarConfig.GetTaskType(id)
|
||
if not MoeWarTaskGroup[id] then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetTaskType", "MoeWarTaskGroup", TABLE_MOEWAR_TASK_GROUP, "Id", tostring(id))
|
||
return
|
||
end
|
||
return MoeWarTaskGroup[id].Type
|
||
end
|
||
|
||
function XMoeWarConfig.GetTaskName(id)
|
||
if not MoeWarTaskGroup[id] then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetTaskName", "MoeWarTaskGroup", TABLE_MOEWAR_TASK_GROUP, "Id", tostring(id))
|
||
return
|
||
end
|
||
return MoeWarTaskGroup[id].Name
|
||
end
|
||
|
||
function XMoeWarConfig.GetTaskGroupId(id)
|
||
if not MoeWarTaskGroup[id] then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetTaskName", "MoeWarTaskGroup", TABLE_MOEWAR_TASK_GROUP, "Id", tostring(id))
|
||
return
|
||
end
|
||
return MoeWarTaskGroup[id].Group
|
||
end
|
||
|
||
function XMoeWarConfig.GetIconList(sessionId)
|
||
if not MoeWarIconConfig[sessionId] then
|
||
return
|
||
end
|
||
return MoeWarIconConfig[sessionId].IconList
|
||
end
|
||
|
||
function XMoeWarConfig.GetActivityTimeId(id)
|
||
local template = XMoeWarConfig.GetActivityTemplateById(id)
|
||
return template.ActivityTimeId
|
||
end
|
||
|
||
function XMoeWarConfig.GetActivityName(id)
|
||
local template = XMoeWarConfig.GetActivityTemplateById(id)
|
||
return template.Name
|
||
end
|
||
|
||
function XMoeWarConfig.GetActivityBg(id)
|
||
local template = XMoeWarConfig.GetActivityTemplateById(id)
|
||
return template.Background
|
||
end
|
||
|
||
function XMoeWarConfig.GetGachaSkipId()
|
||
return MoeWarActivityConfig[1].GachaSkipId
|
||
end
|
||
|
||
function XMoeWarConfig.GetRewardSkipId()
|
||
return MoeWarActivityConfig[1].RewardSkipId
|
||
end
|
||
|
||
function XMoeWarConfig.GetWebUrl()
|
||
return MoeWarActivityConfig[1].WebUrl
|
||
end
|
||
|
||
function XMoeWarConfig.GetBeginStoryId()
|
||
return MoeWarActivityConfig[1].BeginStoryId
|
||
end
|
||
|
||
function XMoeWarConfig.GetShowItems()
|
||
return MoeWarActivityConfig[1].ShowItem
|
||
end
|
||
|
||
function XMoeWarConfig.GetMainHelpId()
|
||
return MoeWarActivityConfig[1].MainHelpId
|
||
end
|
||
function XMoeWarConfig.GetVoteHelpId()
|
||
return MoeWarActivityConfig[1].VoteHelpId
|
||
end
|
||
---------MoeWarPreparationActivity begin---------
|
||
local GetPreparationActivity = function(id)
|
||
local template = MoeWarPreparationActivity[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetMoeWarPreparationActivity", "MoeWarPreparationActivity", TABLE_MOEWAR_PREPARATION_ACTIVITY, "Id", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationDefaultActivityId()
|
||
return MoeWarPreparationActivity[1] and MoeWarPreparationActivity[1].Id
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityIdInTime(isGetDefaultActivityId)
|
||
local nowTime = XTime.GetServerNowTimestamp()
|
||
local lastOverEndTime = 0
|
||
local defaultActivityId
|
||
for _, v in pairs(MoeWarPreparationActivity) do
|
||
if XFunctionManager.CheckInTimeByTimeId(v.TimeId) then
|
||
return v.Id
|
||
end
|
||
|
||
--活动没有开启返回最新已结束的活动id
|
||
if isGetDefaultActivityId then
|
||
local endTime = XFunctionManager.GetEndTimeByTimeId(v.TimeId)
|
||
if nowTime >= endTime and endTime > lastOverEndTime then
|
||
lastOverEndTime = endTime
|
||
defaultActivityId = v.Id
|
||
end
|
||
elseif nowTime < XFunctionManager.GetStartTimeByTimeId(v.TimeId) then
|
||
return v.Id
|
||
end
|
||
end
|
||
return defaultActivityId
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityTimeId(id)
|
||
local config = GetPreparationActivity(id)
|
||
return config.TimeId
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityMatchIds(id)
|
||
local config = GetPreparationActivity(id)
|
||
local matchIds = {}
|
||
for _, matchId in ipairs(config.MatchIds) do
|
||
if matchId > 0 then
|
||
tableInsert(matchIds, matchId)
|
||
end
|
||
end
|
||
return matchIds
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityMaxStageCount(id)
|
||
local config = GetPreparationActivity(id)
|
||
return config.MaxStageCount
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityStageRecoveryTime(id)
|
||
local config = GetPreparationActivity(id)
|
||
return config.StageRecoveryTime
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityPreparationGears(id)
|
||
local config = GetPreparationActivity(id)
|
||
return config.PreparationGears
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityPrePreparationGear(id, preparationGearId)
|
||
local preparationGears = XMoeWarConfig.GetPreparationActivityPreparationGears(id)
|
||
for i, gearId in ipairs(preparationGears) do
|
||
if gearId == preparationGearId then
|
||
return preparationGears[i - 1]
|
||
end
|
||
end
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityName(id)
|
||
local config = GetPreparationActivity(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityRedminNum(id)
|
||
local config = GetPreparationActivity(id)
|
||
return config.RedminNum
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationActivityGiftAmount(id)
|
||
local config = GetPreparationActivity(id)
|
||
return config.GiftAmount
|
||
end
|
||
---------MoeWarPreparationActivity end-----------
|
||
---------MoeWarPreparationAssistance begin---------
|
||
local GetMoeWarPreparationAssistance = function(id)
|
||
local template = MoeWarPreparationAssistance[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetMoeWarPreparationAssistance", "MoeWarPreparationAssistance", TABLE_MOEWAR_PREPARATION_ASSISTANCE, "Id", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
local GetPreparationAssistanceIsShowInList = function(id)
|
||
local config = GetMoeWarPreparationAssistance(id)
|
||
return config.IsShowInList
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceSupportMaxCount()
|
||
local voteItemId
|
||
local level = 0
|
||
local maxCount = 0
|
||
for _, v in pairs(MoeWarPreparationAssistance) do
|
||
if v.EffectType == XMoeWarConfig.PreparationAssistanceEffectType.MaxCount then
|
||
voteItemId = XDataCenter.MoeWarManager.GetSupportVoteItemCount(v.VoteItemId)
|
||
if voteItemId >= v.VoteItemCount and v.Level > level then
|
||
level = v.Level
|
||
maxCount = v.Param
|
||
end
|
||
end
|
||
end
|
||
return maxCount
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceAllDifferVoteItemId()
|
||
local allDifferVoteItemIdDic = {}
|
||
local allDifferVoteItemIdList = {}
|
||
for _, v in pairs(MoeWarPreparationAssistance) do
|
||
if not allDifferVoteItemIdDic[v.VoteItemId] then
|
||
allDifferVoteItemIdDic[v.VoteItemId] = true
|
||
tableInsert(allDifferVoteItemIdList, v.VoteItemId)
|
||
end
|
||
end
|
||
return allDifferVoteItemIdList
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceVoteItemId(id)
|
||
local config = GetMoeWarPreparationAssistance(id)
|
||
return config.VoteItemId
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceVoteItemCount(id)
|
||
local config = GetMoeWarPreparationAssistance(id)
|
||
return config.VoteItemCount
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceTitle(id)
|
||
local config = GetMoeWarPreparationAssistance(id)
|
||
return config.Title
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceDesc(id)
|
||
local config = GetMoeWarPreparationAssistance(id)
|
||
return config.Desc
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceEffectIdList(isNotShowInList)
|
||
if isNotShowInList then
|
||
local effectIdList = {}
|
||
local isShowInList
|
||
for _, effectId in ipairs(PreparationAssistanceEffectIdList) do
|
||
isShowInList = GetPreparationAssistanceIsShowInList(effectId)
|
||
if isShowInList == 1 then
|
||
tableInsert(effectIdList, effectId)
|
||
end
|
||
end
|
||
return effectIdList
|
||
end
|
||
|
||
return PreparationAssistanceEffectIdList
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceEffectType(id)
|
||
local config = GetMoeWarPreparationAssistance(id)
|
||
return config.EffectType
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceParam(id)
|
||
local config = GetMoeWarPreparationAssistance(id)
|
||
return config.Param
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationAssistanceLevel(id)
|
||
local config = GetMoeWarPreparationAssistance(id)
|
||
return config.Level
|
||
end
|
||
---------MoeWarPreparationAssistance end-----------
|
||
---------MoeWarPreparationGear begin---------
|
||
local GetMoeWarPreparationGear = function(id)
|
||
local template = MoeWarPreparationGear[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetMoeWarPreparationGear", "MoeWarPreparationGear", TABLE_MOEWAR_PREPARATION_GEAR, "Id", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationGearNeedCount(id)
|
||
local config = GetMoeWarPreparationGear(id)
|
||
return config.NeedCount
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationGearShowRewardId(id)
|
||
local config = GetMoeWarPreparationGear(id)
|
||
return config.ShowRewardId
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationGearMaxNeedCount(activityId)
|
||
local gears = XMoeWarConfig.GetPreparationActivityPreparationGears(activityId)
|
||
local maxNeedCount = 0
|
||
local needCount
|
||
for _, gearId in ipairs(gears) do
|
||
needCount = XMoeWarConfig.GetPreparationGearNeedCount(gearId)
|
||
if needCount > maxNeedCount then
|
||
maxNeedCount = needCount
|
||
end
|
||
end
|
||
return maxNeedCount
|
||
end
|
||
---------MoeWarPreparationGear end-----------
|
||
---------MoeWarPreparationHelper begin---------
|
||
local GetMoeWarPreparationHelper = function(id)
|
||
local template = MoeWarPreparationHelper[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetMoeWarPreparationHelper", "MoeWarPreparationHelper", TABLE_MOEWAR_PREPARATION_HELPER, "Id", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
function XMoeWarConfig.GetMoeWarPreparationHelperRobotId(id)
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
return config.RobotId
|
||
end
|
||
|
||
function XMoeWarConfig.GetMoeWarPreparationHelperLabelIds(id)
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
return config.LabelIds
|
||
end
|
||
|
||
function XMoeWarConfig.GetMoeWarPreparationHelperTotalQuestionCount(id)
|
||
local questionCounts = XMoeWarConfig.GetMoeWarPreparationHelperQuestionCounts(id)
|
||
local questionBankIds = XMoeWarConfig.GetMoeWarPreparationHelperQuestionBankIds(id)
|
||
local totalCount = 0
|
||
local questionBankIdCount
|
||
local realQuestionCount
|
||
for i, questionCount in ipairs(questionCounts) do
|
||
questionBankIdCount = XMoeWarConfig.GetPreparationQuestionBankIdCount(questionBankIds[i])
|
||
realQuestionCount = questionBankIdCount < questionCount and questionBankIdCount or questionCount
|
||
totalCount = totalCount + realQuestionCount
|
||
end
|
||
return totalCount
|
||
end
|
||
|
||
function XMoeWarConfig.GetMoeWarPreparationCommunicateConsumeCount(id)
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
return config.CommunicateConsumeCount
|
||
end
|
||
|
||
function XMoeWarConfig.GetCharacterFullNameByHelperId(helperId)
|
||
local robotId = XMoeWarConfig.GetMoeWarPreparationHelperRobotId(helperId)
|
||
local characterId = XRobotManager.GetCharacterId(robotId)
|
||
return XCharacterConfigs.GetCharacterFullNameStr(characterId)
|
||
end
|
||
|
||
function XMoeWarConfig.GetMoeWarPreparationHelperQuestionCounts(id)
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
return config.QuestionCounts
|
||
end
|
||
|
||
function XMoeWarConfig.GetMoeWarPreparationHelperQuestionBankIds(id)
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
return config.QuestionBankIds
|
||
end
|
||
|
||
function XMoeWarConfig.GetMoeWarPreparationHelperCirleIcon(id)
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
return config.CirleIcon
|
||
end
|
||
|
||
function XMoeWarConfig.GetHelperIdByRobotId(robotId)
|
||
return MoeWarRobotId2HelperId[robotId]
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationHelperMoodUpLimit(id)
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
local moodUpLimit = config.MoodUpLimit
|
||
return XTool.IsNumberValid(moodUpLimit) and moodUpLimit or 1
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationHelperGiftRecoveryMood(id)
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
return config.GiftRecoveryMood
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationHelperDefaultLock(id)
|
||
if not XTool.IsNumberValid(id) then
|
||
return false
|
||
end
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
return XTool.IsNumberValid(config.DefaultLock)
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationHelperThankId(id)
|
||
local config = GetMoeWarPreparationHelper(id)
|
||
return config.ThankId
|
||
end
|
||
|
||
---------MoeWarPreparationHelper end-----------
|
||
---------MoeWarPreparationMatch begin---------
|
||
local GetMoeWarPreparationMatch = function(id)
|
||
local template = MoeWarPreparationMatch[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetMoeWarPreparationMatch", "MoeWarPreparationMatch", TABLE_MOEWAR_PREPARATION_MATCH, "Id", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationMatchTimeId(id)
|
||
local config = GetMoeWarPreparationMatch(id)
|
||
return config.TimeId
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationMatchHelperIds(id)
|
||
local config = GetMoeWarPreparationMatch(id)
|
||
return config.HelperIds
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationMatchName(id)
|
||
local config = GetMoeWarPreparationMatch(id)
|
||
return config.Name
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationCurrOpenMatchId()
|
||
local timeId
|
||
for _, v in pairs(MoeWarPreparationMatch) do
|
||
timeId = XMoeWarConfig.GetPreparationMatchTimeId(v.Id)
|
||
if XFunctionManager.CheckInTimeByTimeId(timeId) then
|
||
return v.Id
|
||
end
|
||
end
|
||
end
|
||
|
||
function XMoeWarConfig.IsFillPreparationStageLabel(stageLableId, helperId)
|
||
if not stageLableId or (not helperId or helperId == 0) then
|
||
return false
|
||
end
|
||
local helperLabelIds = XMoeWarConfig.GetMoeWarPreparationHelperLabelIds(helperId)
|
||
for index, helperLabelId in ipairs(helperLabelIds) do
|
||
if stageLableId == helperLabelId then
|
||
return true
|
||
end
|
||
end
|
||
return false
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationMatchNumText(id)
|
||
local config = GetMoeWarPreparationMatch(id)
|
||
return config.NumText or ""
|
||
end
|
||
---------MoeWarPreparationMatch end-----------
|
||
---------MoeWarPreparationQuestion begin---------
|
||
local GetMoeWarPreparationQuestion = function(id)
|
||
local template = MoeWarPreparationQuestion[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetMoeWarPreparationQuestion", "MoeWarPreparationQuestion", TABLE_MOEWAR_PREPARATION_QUESHION, "Id", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionAnswers(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.Answers
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionAnswer(id, index)
|
||
local questionAnswers = XMoeWarConfig.GetPreparationQuestionAnswers(id)
|
||
return questionAnswers and questionAnswers[index]
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionPreChatId(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.PreChatId
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionIdListByType(helperId, questionType)
|
||
local questionIdList = {}
|
||
for _, v in pairs(MoeWarPreparationQuestion) do
|
||
if v.HelperId == helperId and v.Type == questionType then
|
||
tableInsert(questionIdList, v.Id)
|
||
end
|
||
end
|
||
|
||
local questionSortIdList = {}
|
||
local questionIdDic = {}
|
||
local preChatId
|
||
local isStop = false
|
||
while not isStop do
|
||
isStop = true
|
||
for i, id in ipairs(questionIdList) do
|
||
preChatId = XMoeWarConfig.GetPreparationQuestionPreChatId(id)
|
||
if preChatId == 0 or questionIdDic[preChatId] then
|
||
tableInsert(questionSortIdList, id)
|
||
questionIdDic[id] = true
|
||
table.remove(questionIdList, i)
|
||
isStop = false
|
||
break
|
||
end
|
||
end
|
||
end
|
||
return questionSortIdList
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionType(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.Type
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestion(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.Question
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionRightReply(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.RightReply
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionWrongReply(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.WrongReply
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionChat(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.Chat or ""
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionChatReply(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.ChatReply
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionHelperIcon(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.HelperIcon
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionId(helperId, questionType)
|
||
for _, v in pairs(MoeWarPreparationQuestion) do
|
||
if v.HelperId == helperId and questionType == v.Type then
|
||
return v.Id
|
||
end
|
||
end
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionBankIdCount(bankId)
|
||
local count = 0
|
||
for _, v in pairs(MoeWarPreparationQuestion) do
|
||
if v.BankId == bankId then
|
||
count = count + 1
|
||
end
|
||
end
|
||
return count
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationQuestionHelperName(id)
|
||
local config = GetMoeWarPreparationQuestion(id)
|
||
return config.HelperName
|
||
end
|
||
---------MoeWarPreparationQuestion end-----------
|
||
---------MoeWarPreparationStage begin---------
|
||
local GetMoeWarPreparationStage = function(id)
|
||
local template = MoeWarPreparationStage[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetMoeWarPreparationStage", "MoeWarPreparationStage", TABLE_MOEWAR_PREPARATION_STAGE, "Id", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
--筹备关卡界面的基本奖励
|
||
function XMoeWarConfig.GetPreparationStageShowBaseRewardId(id)
|
||
local config = GetMoeWarPreparationStage(id)
|
||
return config.ShowBaseRewardId
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationStageLabelIds(id)
|
||
local config = GetMoeWarPreparationStage(id)
|
||
local labelIds = {}
|
||
for i, labelId in ipairs(config.LabelIds or {}) do
|
||
if labelId > 0 then
|
||
tableInsert(labelIds, labelId)
|
||
end
|
||
end
|
||
return labelIds
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationStageExtraRewardCount(stageId, showExtraRewardIdsIndex)
|
||
local showExtraRewardIds = XMoeWarConfig.GetPreparationStageShowExtraRewardIds(stageId)
|
||
local rewardId = showExtraRewardIds[showExtraRewardIdsIndex]
|
||
if not rewardId then
|
||
return 0
|
||
end
|
||
|
||
local rewardList = XRewardManager.GetRewardList(rewardId)
|
||
return rewardList[1].Count
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationStageShowExtraRewardIds(stageId)
|
||
local config = GetMoeWarPreparationStage(stageId)
|
||
return config.ShowExtraRewardIds
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationStageShowExtraRewardId(stageId, index)
|
||
local config = GetMoeWarPreparationStage(stageId)
|
||
local showExtraRewardIds = config.ShowExtraRewardIds
|
||
return showExtraRewardIds[index]
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationStageShowExtraRewardName(stageId, showExtraRewardIdsIndex)
|
||
local showExtraRewardIds = XMoeWarConfig.GetPreparationStageShowExtraRewardIds(stageId)
|
||
for index, showExtraRewardId in ipairs(showExtraRewardIds) do
|
||
if index == showExtraRewardIdsIndex then
|
||
local rewards = XRewardManager.GetRewardList(showExtraRewardId)
|
||
local templateId = rewards[1] and rewards[1].TemplateId
|
||
return (templateId and templateId > 0 and XGoodsCommonManager.GetGoodsName(templateId)) or ""
|
||
end
|
||
end
|
||
return ""
|
||
end
|
||
|
||
--获得满足条件的数量
|
||
function XMoeWarConfig.GetPreparationFillConditionCount(stageId, helperId)
|
||
local labelIds = XMoeWarConfig.GetPreparationStageLabelIds(stageId)
|
||
local fillConditionCount = 0
|
||
for _, stageLabelId in ipairs(labelIds) do
|
||
if XMoeWarConfig.IsFillPreparationStageLabel(stageLabelId, helperId) then
|
||
fillConditionCount = fillConditionCount + 1
|
||
end
|
||
end
|
||
return fillConditionCount
|
||
end
|
||
|
||
--获得心情消耗
|
||
function XMoeWarConfig.GetStageCostMoodNum(stageId, helperId)
|
||
local fillConditionCount = XMoeWarConfig.GetPreparationFillConditionCount(stageId, helperId)
|
||
local config = GetMoeWarPreparationStage(stageId)
|
||
if not config then
|
||
return 0
|
||
end
|
||
|
||
local levelCostMoodNums = config.LabelCostMoodNums
|
||
return levelCostMoodNums[fillConditionCount] or config.BaseCostMoodNum
|
||
end
|
||
|
||
--通讯次数奖励
|
||
function XMoeWarConfig.GetPreparationStageShowSpecialRewardId(id)
|
||
local config = GetMoeWarPreparationStage(id)
|
||
return config.ShowSpecialRewardId
|
||
end
|
||
|
||
--筹备界面每个关卡的奖励
|
||
function XMoeWarConfig.GetPreparationStageShowAllRewardId(id)
|
||
local config = GetMoeWarPreparationStage(id)
|
||
return config.ShowAllRewardId
|
||
end
|
||
---------MoeWarPreparationStage end-----------
|
||
---------MoeWarPreparationStageTagLabel begin---------
|
||
local GetPreparationStageTagLabel = function(id)
|
||
local template = MoeWarPreparationStageTagLabel[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetMoeWarPreparationStageTagLabel", "MoeWarPreparationStageTagLabel", TABLE_MOEWAR_PREPARATION_STAGE_TAG_LABEL, "Id", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationStageTagLabelById(id)
|
||
local config = GetPreparationStageTagLabel(id)
|
||
return config.TagLabel
|
||
end
|
||
---------MoeWarPreparationStageTagLabel end-----------
|
||
---------MoeWarPreparationStageEvaluationLabel begin----------
|
||
local GetPreparationStageEvaluationLabel = function(id)
|
||
local template = MoeWarPreparationStageEvaluationLabel[id]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetMoeWarPreparationStageEvaluationLabel", "MoeWarPreparationStageEvaluationLabel", TABLE_MOEWAR_PREPARATION_STAGE_EVALUATION_LABEL, "ReachNum", tostring(id))
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreparationStageEvaluationEvaluatioLabel(reachNum)
|
||
local config = GetPreparationStageEvaluationLabel(reachNum)
|
||
return config.EvaluatioLabel
|
||
end
|
||
---------MoeWarPreparationStageEvaluationLabel end------------
|
||
---------------------场景动画相关 begin--------------------
|
||
local function GetAnimationGroupConfig(groupId)
|
||
local config = MoeWarAnimationGroup[groupId]
|
||
if not config then
|
||
XLog.Error("XMoeWarConfig GetAnimationGroupConfig error:配置不存在, groupId: " .. groupId .. ", 配置路径: " .. TABLE_MOEWAR_ANIMATION_GROUP)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
--返回PlayerLocal表中配置的AnimationGroupIds
|
||
function XMoeWarConfig.GetAllAnimationGroupIds()
|
||
local animationGroupIds = {}
|
||
for _, v in pairs(MoeWarPlayerCfg) do
|
||
for _, winAnimGroupId in ipairs(v.WinAnimGroupId) do
|
||
table.insert(animationGroupIds, winAnimGroupId)
|
||
end
|
||
for _, loseAnimGroupId in ipairs(v.LoseAnimGroupId) do
|
||
table.insert(animationGroupIds, loseAnimGroupId)
|
||
end
|
||
end
|
||
return animationGroupIds
|
||
end
|
||
|
||
function XMoeWarConfig.GetAnimationIds(groupId)
|
||
local animationIds = {}
|
||
|
||
local config = GetAnimationGroupConfig(groupId)
|
||
for _, animationId in ipairs(config.AnimationId) do
|
||
if XTool.IsNumberValid(animationId) then
|
||
tableInsert(animationIds, animationId)
|
||
end
|
||
end
|
||
|
||
return animationIds
|
||
end
|
||
|
||
function XMoeWarConfig.GetAnimationGroupInitModelName(groupId)
|
||
local config = GetAnimationGroupConfig(groupId)
|
||
return config.InitModelName
|
||
end
|
||
|
||
function XMoeWarConfig.GetAnimationGroupInitAnim(groupId)
|
||
local config = GetAnimationGroupConfig(groupId)
|
||
return config.InitAnim
|
||
end
|
||
|
||
local function GetAnimationConfig(animationId)
|
||
local config = MoeWarAnimation[animationId]
|
||
if not config then
|
||
XLog.Error("XMoeWarConfig GetAnimationConfig error:配置不存在, animationId: " .. animationId .. ", 配置路径: " .. TABLE_MOEWAR_ANIMATION)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XMoeWarConfig.GetAnimationModelName(animationId)
|
||
local config = GetAnimationConfig(animationId)
|
||
return config.ModelName
|
||
end
|
||
|
||
function XMoeWarConfig.GetAnimationAnimName(animationId)
|
||
local config = GetAnimationConfig(animationId)
|
||
return config.AnimName
|
||
end
|
||
|
||
function XMoeWarConfig.GetAnimationSpeed(animationId)
|
||
local config = GetAnimationConfig(animationId)
|
||
return config.Speed
|
||
end
|
||
|
||
function XMoeWarConfig.GetAnimationTotalDistance(groupId)
|
||
local animationIds = XMoeWarConfig.GetAnimationIds(groupId)
|
||
local totalDistance = 0
|
||
for _, animationId in ipairs(animationIds) do
|
||
totalDistance = totalDistance + XMoeWarConfig.GetAnimationDistance(animationId)
|
||
end
|
||
return totalDistance
|
||
end
|
||
|
||
function XMoeWarConfig.GetAnimationDistance(animationId)
|
||
local config = GetAnimationConfig(animationId)
|
||
return config.Distance
|
||
end
|
||
|
||
function XMoeWarConfig.GetAnimationRoleEffect(animationId)
|
||
local config = GetAnimationConfig(animationId)
|
||
return config.RoleEffect, config.RoleEffectRoot
|
||
end
|
||
|
||
--runwayIndex:场景上的跑道下标
|
||
function XMoeWarConfig.GetAnimationSceneEffect(animationId, runwayIndex)
|
||
local config = GetAnimationConfig(animationId)
|
||
local sceneEffectRoot = config.SceneEffectRoot
|
||
return config.SceneEffect, not string.IsNilOrEmpty(sceneEffectRoot) and string.format(sceneEffectRoot, runwayIndex)
|
||
end
|
||
|
||
XMoeWarConfig.ReloadAnimationConfigs = function()
|
||
MoeWarAnimation = XTableManager.ReadByIntKey(TABLE_MOEWAR_ANIMATION, XTable.XTableMoeWarAnimation, "Id")
|
||
MoeWarAnimationGroup = XTableManager.ReadByIntKey(TABLE_MOEWAR_ANIMATION_GROUP, XTable.XTableMoeWarAnimationGroup, "Id")
|
||
end
|
||
---------------------场景动画相关 end--------------------
|
||
|
||
|
||
--region ------------------跑酷小游戏相关 start-------------------
|
||
|
||
local GetParkourActivity = function(id)
|
||
local cfg = MoeWarParkourActivity[id]
|
||
if not cfg then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetParkourActivity", "MoeWarParkourActivity", TABLE_MOEWAR_PARKOUR_ACTIVITY, "Id", id)
|
||
return
|
||
end
|
||
return cfg
|
||
end
|
||
|
||
function XMoeWarConfig.GetParkourActivityId(useDefault)
|
||
local timeOfNow = XTime.GetServerNowTimestamp()
|
||
local activityId = 0
|
||
local lastOverEndTime = 0
|
||
for id, cfg in pairs(MoeWarParkourActivity) do
|
||
if XFunctionManager.CheckInTimeByTimeId(cfg.TimeId) then
|
||
return id
|
||
end
|
||
|
||
if useDefault then
|
||
local timeOfEnd = XFunctionManager.GetEndTimeByTimeId(cfg.TimeId)
|
||
if timeOfNow >= timeOfEnd and timeOfEnd > lastOverEndTime then
|
||
activityId = cfg.Id
|
||
lastOverEndTime = timeOfEnd
|
||
end
|
||
end
|
||
end
|
||
return activityId
|
||
end
|
||
|
||
local GetParkourTimeId = function (id)
|
||
local cfg = GetParkourActivity(id)
|
||
return cfg.TimeId
|
||
end
|
||
|
||
function XMoeWarConfig.GetParkourStageList(id)
|
||
local cfg = GetParkourActivity(id)
|
||
return cfg.StageId
|
||
end
|
||
|
||
function XMoeWarConfig.GetParkourRewardId(id)
|
||
local cfg = GetParkourActivity(id)
|
||
return cfg.RewardId
|
||
end
|
||
|
||
function XMoeWarConfig.GetParkourTeachStageId(id)
|
||
local cfg = GetParkourActivity(id)
|
||
return cfg.TeachStageId
|
||
end
|
||
|
||
function XMoeWarConfig.GetParkourStartTime(id)
|
||
local timeId = GetParkourTimeId(id)
|
||
return XFunctionManager.GetStartTimeByTimeId(timeId)
|
||
end
|
||
|
||
function XMoeWarConfig.GetParkourEndTime(id)
|
||
local timeId = GetParkourTimeId(id)
|
||
return XFunctionManager.GetEndTimeByTimeId(timeId)
|
||
end
|
||
|
||
function XMoeWarConfig.GetParkourStageTemplate(stageId)
|
||
local template = MoeWarParkourStage[stageId]
|
||
if not template then
|
||
XLog.ErrorTableDataNotFound("XMoeWarConfig.GetParkourStageTemplate", "MoeWarParkourStage", TABLE_MOEWAR_PARKOUR_STAGE, "StageId", stageId)
|
||
return
|
||
end
|
||
return template
|
||
end
|
||
|
||
function XMoeWarConfig.GetParkourDailyMaxReward(id)
|
||
local cfg = GetParkourActivity(id)
|
||
return cfg.DailyMaxReward
|
||
end
|
||
|
||
--endregion------------------跑酷小游戏相关 finish------------------
|
||
|
||
--region ------------------铭牌商城相关 start-------------------
|
||
|
||
function XMoeWarConfig.GetMoeWarNameplateList()
|
||
return MoeWarNameplateConfig
|
||
end
|
||
|
||
function XMoeWarConfig.GetMoeWarNameplateCostItemId(nameplateId)
|
||
local cfg = MoeWarNameplateStore[nameplateId]
|
||
return cfg and cfg.CostItemId or 0
|
||
end
|
||
|
||
function XMoeWarConfig.GetMoeWarNameplateCostItemCount(nameplateId)
|
||
local cfg = MoeWarNameplateStore[nameplateId]
|
||
return cfg and cfg.CostItemCount or 0
|
||
end
|
||
|
||
function XMoeWarConfig.GetPreNameplateId(nameplateId)
|
||
local cfg = MoeWarNameplateStore[nameplateId]
|
||
return cfg and cfg.PreNameplateId or 0
|
||
end
|
||
|
||
function XMoeWarConfig.GetNameplateItemName(nameplateId)
|
||
local cfg = MoeWarNameplateStore[nameplateId]
|
||
return cfg and cfg.ItemName or ""
|
||
end
|
||
|
||
--endregion------------------铭牌商城相关 finish------------------
|
||
|
||
|
||
---------------------心情显示相关 begin------------------
|
||
local GetCharacterMoodConfig = function(id)
|
||
local config = MoeWarCharacterMood[id]
|
||
if not config then
|
||
XLog.Error("XMoeWarConfig GetAnimationConfig error:配置不存在, id: " .. id .. ", 配置路径: " .. TABLE_MOEWAR_CHARACTER_MOOD)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
local IsInitCharacterMood = false
|
||
local CharacterMoodIdList = {}
|
||
local InitCharacterMood = function()
|
||
if IsInitCharacterMood then
|
||
return
|
||
end
|
||
|
||
for id in pairs(MoeWarCharacterMood) do
|
||
tableInsert(CharacterMoodIdList, id)
|
||
end
|
||
tableSort(CharacterMoodIdList, function(idA, idB)
|
||
local valueA = XMoeWarConfig.GetCharacterMoodMinValue(idA)
|
||
local valueB = XMoeWarConfig.GetCharacterMoodMinValue(idB)
|
||
return valueA > valueB
|
||
end)
|
||
|
||
IsInitCharacterMood = true
|
||
end
|
||
|
||
function XMoeWarConfig.GetCharacterMoodId(moodValue)
|
||
InitCharacterMood()
|
||
if moodValue then
|
||
local minValue
|
||
for _, id in ipairs(CharacterMoodIdList) do
|
||
minValue = XMoeWarConfig.GetCharacterMoodMinValue(id)
|
||
if moodValue > minValue then
|
||
return id
|
||
end
|
||
end
|
||
end
|
||
return CharacterMoodIdList[#CharacterMoodIdList]
|
||
end
|
||
|
||
function XMoeWarConfig.GetCharacterMoodMinValue(id)
|
||
local config = GetCharacterMoodConfig(id)
|
||
return config.MoodMinValue
|
||
end
|
||
|
||
function XMoeWarConfig.GetCharacterMoodColor(id)
|
||
local config = GetCharacterMoodConfig(id)
|
||
return XUiHelper.Hexcolor2Color(config.Color)
|
||
end
|
||
|
||
function XMoeWarConfig.GetCharacterMoodIcon(id)
|
||
local config = GetCharacterMoodConfig(id)
|
||
return config.Icon
|
||
end
|
||
---------------------心情显示相关 end--------------------
|
||
---------------------赠礼回复相关 begin------------------
|
||
local GetThankConfig = function(id)
|
||
local config = MoeWarThank[id]
|
||
if not config then
|
||
XLog.Error("XMoeWarConfig GetThankConfig error:配置不存在, id: " .. id .. ", 配置路径: " .. TABLE_MOEWAR_THANK)
|
||
return
|
||
end
|
||
return config
|
||
end
|
||
|
||
function XMoeWarConfig.GetThankText(id)
|
||
local config = GetThankConfig(id)
|
||
return config.Text
|
||
end
|
||
---------------------赠礼回复相关 end-------------------- |