984 lines
No EOL
44 KiB
Lua
984 lines
No EOL
44 KiB
Lua
--@description 获取活动简介的活动是否开放
|
|
--[[ 对应活动的开放判断函数默认返回的参数:
|
|
@返回参数1:是否开放
|
|
@返回参数2:未开放的点击提示
|
|
@返回参数3:活动时间(可不返回)
|
|
]]
|
|
XActivityBrieIsOpen = {}
|
|
|
|
local TimeFormat = "MM.dd"
|
|
local CSXTextManagerGetText = CS.XTextManager.GetText
|
|
local TimestampToGameDateTimeString = XTime.TimestampToGameDateTimeString
|
|
|
|
--对应下面的开放判断函数
|
|
XActivityBrieIsOpen.IsOpenFunc = {
|
|
[XActivityBriefConfigs.ActivityGroupId.MainLine] = "MainLine", --主线活动
|
|
[XActivityBriefConfigs.ActivityGroupId.Branch] = "Branch", --支线活动
|
|
[XActivityBriefConfigs.ActivityGroupId.BossSingle] = "BossSingle", --单机Boss活动
|
|
[XActivityBriefConfigs.ActivityGroupId.BossOnline] = "BossOnline", --联机Boss活动
|
|
[XActivityBriefConfigs.ActivityGroupId.Prequel] = "Prequel", --间章故事-角色A
|
|
[XActivityBriefConfigs.ActivityGroupId.BabelTower] = "BabelTower", --巴别塔
|
|
[XActivityBriefConfigs.ActivityGroupId.RougueLike] = "RougueLike", --爬塔
|
|
[XActivityBriefConfigs.ActivityGroupId.RepeatChallenge] = "RepeatChallenge", --复刷关
|
|
[XActivityBriefConfigs.ActivityGroupId.ArenaOnline] = "ArenaOnline", --区域联机
|
|
[XActivityBriefConfigs.ActivityGroupId.UnionKill] = "UnionKill", --狙击战
|
|
[XActivityBriefConfigs.ActivityGroupId.ShortStories] = "ShortStories", --短篇故事
|
|
[XActivityBriefConfigs.ActivityGroupId.Prequel2] = "Prequel2", --间章故事-角色B
|
|
[XActivityBriefConfigs.ActivityGroupId.Labyrinth] = "Labyrinth", --迷宫
|
|
[XActivityBriefConfigs.ActivityGroupId.Society] = "Society", --公会
|
|
[XActivityBriefConfigs.ActivityGroupId.Resource] = "Resource", --资源
|
|
[XActivityBriefConfigs.ActivityGroupId.BigWar] = "BigWar", --大作战
|
|
[XActivityBriefConfigs.ActivityGroupId.Extra] = "Extra", --番外-普通
|
|
[XActivityBriefConfigs.ActivityGroupId.WorldBoss] = "WorldBoss", --世界Boss
|
|
[XActivityBriefConfigs.ActivityGroupId.Expedition] = "Expedition", --自走棋
|
|
[XActivityBriefConfigs.ActivityGroupId.FubenBossSingle] = "FubenBossSingle", --幻痛囚笼
|
|
[XActivityBriefConfigs.ActivityGroupId.ActivityBriefShop] = "ActivityBriefShop", --活动商店
|
|
[XActivityBriefConfigs.ActivityGroupId.Extra2] = "Extra", --番外-隐藏
|
|
[XActivityBriefConfigs.ActivityGroupId.MaintainerAction] = "MaintainerAction", --大富翁玩法
|
|
[XActivityBriefConfigs.ActivityGroupId.RpgTower] = "RpgTower", --RPG玩法
|
|
[XActivityBriefConfigs.ActivityGroupId.ActivityDrawCard] = "ActivityDrawCard", --活动抽卡
|
|
[XActivityBriefConfigs.ActivityGroupId.TRPGMainLine] = "TRPGMainLine", --终焉福音-主线跑团活动
|
|
[XActivityBriefConfigs.ActivityGroupId.NewCharActivity] = "NewCharActivity", -- 新角色教学活动
|
|
[XActivityBriefConfigs.ActivityGroupId.FubenActivityTrial] = "FubenActivityTrial", -- 试玩关
|
|
[XActivityBriefConfigs.ActivityGroupId.ShiTu] = "ShiTu", -- 师徒系统
|
|
[XActivityBriefConfigs.ActivityGroupId.Nier] = "Nier", -- 尼尔玩法
|
|
[XActivityBriefConfigs.ActivityGroupId.Pokemon] = "Pokemon", -- 口袋战双
|
|
[XActivityBriefConfigs.ActivityGroupId.Pursuit] = "Pursuit", -- 追击玩法
|
|
[XActivityBriefConfigs.ActivityGroupId.Simulate] = "Simulate", --模拟战
|
|
[XActivityBriefConfigs.ActivityGroupId.StrongHold] = "StrongHold", --超级据点
|
|
[XActivityBriefConfigs.ActivityGroupId.Partner] = "Partner", --伙伴系统
|
|
[XActivityBriefConfigs.ActivityGroupId.MoeWar] = "MoeWar", --萌战
|
|
[XActivityBriefConfigs.ActivityGroupId.PetCard] = "PetCard", --宠物抽卡
|
|
[XActivityBriefConfigs.ActivityGroupId.PetTrial] = "PetTrial", --新宠物活动
|
|
[XActivityBriefConfigs.ActivityGroupId.PokerGuessing] = "PokerGuessing", --翻牌拼大小
|
|
[XActivityBriefConfigs.ActivityGroupId.Hack] = "Hack", --骇客玩法
|
|
[XActivityBriefConfigs.ActivityGroupId.RpgMaker] = "RpgMaker", --端午活动
|
|
[XActivityBriefConfigs.ActivityGroupId.Reform] = "Reform", --改造玩法
|
|
[XActivityBriefConfigs.ActivityGroupId.CoupleCombat] = "CoupleCombat", --双人同行
|
|
[XActivityBriefConfigs.ActivityGroupId.SuperTower] = "SuperTower", --超级爬塔
|
|
[XActivityBriefConfigs.ActivityGroupId.KillZone] = "KillZone", --杀戮空间
|
|
[XActivityBriefConfigs.ActivityGroupId.SummerSeries] = "SummerSeries", --夏活系列关
|
|
[XActivityBriefConfigs.ActivityGroupId.Expedition] = "Expedition", --虚像地平线
|
|
[XActivityBriefConfigs.ActivityGroupId.SameColorGame] = "SameColorGame", --三消游戏
|
|
[XActivityBriefConfigs.ActivityGroupId.AreaWar] = "AreaWar", --全服决战
|
|
[XActivityBriefConfigs.ActivityGroupId.SuperSmashBros] = "SuperSmashBros", --超限乱斗
|
|
[XActivityBriefConfigs.ActivityGroupId.TeachingSkin] = "TeachingSkin", --教学关内涂装试玩
|
|
[XActivityBriefConfigs.ActivityGroupId.Maverick] = "Maverick", -- 射击玩法
|
|
[XActivityBriefConfigs.ActivityGroupId.MemorySave] = "MemorySave", --意识营救战
|
|
[XActivityBriefConfigs.ActivityGroupId.Theatre] = "Theatre", --肉鸽玩法
|
|
[XActivityBriefConfigs.ActivityGroupId.DoomsDay] = "DoomsDay", --末日生存
|
|
[XActivityBriefConfigs.ActivityGroupId.PivotCombat] = "PivotCombat", --Sp战力验证
|
|
[XActivityBriefConfigs.ActivityGroupId.Escape] = "Escape", --大逃杀
|
|
[XActivityBriefConfigs.ActivityGroupId.FubenShortStory] = "FubenShortStory", --故事集
|
|
[XActivityBriefConfigs.ActivityGroupId.TaikoMaster] = "TaikoMaster", --音游小游戏
|
|
[XActivityBriefConfigs.ActivityGroupId.MultiDim] = "MultiDim", --多维挑战
|
|
}
|
|
|
|
function XActivityBrieIsOpen.Get(activityGroupId, ...)
|
|
local groupConfig = XActivityBriefConfigs.GetActivityGroupConfig(activityGroupId)
|
|
local beginTime,endTime = XFunctionManager.GetTimeByTimeId(groupConfig.TimeId)
|
|
local skipConfig = XFunctionConfig.GetSkipFuncCfg(groupConfig.SkipId)
|
|
local isOpen = skipConfig.FunctionalId and XFunctionManager.JudgeCanOpen(skipConfig.FunctionalId)
|
|
if groupConfig.TimeId and groupConfig.TimeId > 0 then
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
return inTime and isOpen, (not isOpen) and XFunctionManager.GetFunctionOpenCondition(skipConfig.FunctionalId) or openTimeTipsStr, timeStr
|
|
elseif groupConfig.TimeId == -1 then
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(skipConfig.FunctionalId), ""
|
|
end
|
|
local funcName = XActivityBrieIsOpen.IsOpenFunc[activityGroupId]
|
|
if funcName then
|
|
local func = XActivityBrieIsOpen[funcName]
|
|
|
|
if not func then
|
|
return
|
|
end
|
|
|
|
return func(...)
|
|
else
|
|
XLog.Error("活动没有配置开放条件:" .. funcName)
|
|
return false
|
|
end
|
|
end
|
|
|
|
--@region 对应活动的开放判断函数
|
|
function XActivityBrieIsOpen.MainLine()
|
|
local functionId = XFunctionManager.FunctionName.FubenActivityMainLine
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId) and XDataCenter.FubenMainLineManager.IsMainLineActivityOpen()
|
|
return isOpen, XDataCenter.FubenMainLineManager.IsMainLineActivityOpen() and XFunctionManager.GetFunctionOpenCondition(functionId) or CSXTextManagerGetText("ActivityBriefMainlineNotInTime")
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Branch()
|
|
local beginTime = XDataCenter.FubenActivityBranchManager.GetActivityBeginTime()
|
|
local fightEndTime = XDataCenter.FubenActivityBranchManager.GetFightEndTime()
|
|
local endTime = XDataCenter.FubenActivityBranchManager.GetActivityEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.FubenActivityBranch
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.BossSingle()
|
|
local beginTime = XDataCenter.FubenActivityBossSingleManager.GetActivityBeginTime()
|
|
local fightEndTime = XDataCenter.FubenActivityBossSingleManager.GetFightEndTime()
|
|
local endTime = XDataCenter.FubenActivityBossSingleManager.GetActivityEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.FubenActivitySingleBoss
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.BossOnline()
|
|
local functionId = XFunctionManager.FunctionName.FubenActivityOnlineBoss
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId) and XDataCenter.FubenBossOnlineManager.GetIsActivity()
|
|
return isOpen, XUiManager.TipText("ActivityBossOnlineOver") --*
|
|
end
|
|
|
|
function XActivityBrieIsOpen.BabelTower()
|
|
local newActivityId = XDataCenter.FubenBabelTowerManager.GetNewActivityNo()
|
|
local beginTime = XDataCenter.FubenBabelTowerManager.GetActivityBeginTime(newActivityId)
|
|
local fightEndTime = XDataCenter.FubenBabelTowerManager.GetFightEndTime(newActivityId)
|
|
local endTime = XDataCenter.FubenBabelTowerManager.GetActivityEndTime(newActivityId)
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.BabelTower
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.RepeatChallenge()
|
|
local beginTime = XDataCenter.FubenRepeatChallengeManager.GetActivityBeginTime()
|
|
local fightEndTime = XDataCenter.FubenRepeatChallengeManager.GetFightEndTime()
|
|
local endTime = XDataCenter.FubenRepeatChallengeManager.GetActivityEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.RepeatChallenge
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.ArenaOnline()
|
|
local functionId = XFunctionManager.FunctionName.ArenaOnline
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId)
|
|
end
|
|
|
|
function XActivityBrieIsOpen.UnionKill()
|
|
local beginTime, endTime = XDataCenter.FubenUnionKillManager.GetUnionActivityTimes()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.FubenUnionKill
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.ShortStories()
|
|
return true
|
|
end
|
|
|
|
--@region 间章
|
|
local function GetPrequelBeginTime(coverId)
|
|
local coverTemplate = XPrequelConfigs.GetPrequelCoverById(coverId)
|
|
local time = coverTemplate.ActiveTimes[1]
|
|
if time then
|
|
return XTime.ParseToTimestamp(time)
|
|
else
|
|
return 0
|
|
end
|
|
end
|
|
|
|
local function Prequel(activityGroupId)
|
|
local config = XActivityBriefConfigs.GetActivityGroupConfig(activityGroupId)
|
|
local skipId = config.SkipId
|
|
local skipList = XFunctionConfig.GetSkipList(skipId)
|
|
local coverId = skipList.CustomParams[1]
|
|
local chapterId = skipList.CustomParams[2]
|
|
local nowTimeStamp = XTime.GetServerNowTimestamp()
|
|
local activeTime = GetPrequelBeginTime(coverId)
|
|
|
|
if nowTimeStamp >= activeTime then
|
|
local functionId = XFunctionManager.FunctionName.Prequel
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
|
|
if isOpen then
|
|
local IsCanOpen = XDataCenter.FunctionalSkipManager.IsCanOpenUiPrequel(skipList)
|
|
local desc = XDataCenter.PrequelManager.GetChapterUnlockDescription(chapterId)
|
|
|
|
return IsCanOpen, desc
|
|
else
|
|
return false, XFunctionManager.GetFunctionOpenCondition(functionId)
|
|
end
|
|
else
|
|
return false, XActivityBrieIsOpen.GetOpenTimeTipsStr(true, activeTime)
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Prequel()
|
|
return Prequel(XActivityBriefConfigs.ActivityGroupId.Prequel)
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Prequel2()
|
|
return Prequel(XActivityBriefConfigs.ActivityGroupId.Prequel2)
|
|
end
|
|
|
|
--@endregion
|
|
function XActivityBrieIsOpen.Labyrinth()
|
|
local functionId = XFunctionManager.FunctionName.FubenInfesotorExplore
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId)
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Society()
|
|
local functionId = XFunctionManager.FunctionName.Guild
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
-- return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId)
|
|
return false, CSXTextManagerGetText("ActivityGuildNotOpen")--因为延期,暂时写死
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Resource()
|
|
local functionId = XFunctionManager.FunctionName.FubenDailyXYZB
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId)
|
|
end
|
|
|
|
function XActivityBrieIsOpen.BigWar()
|
|
local activityId = XDataCenter.FubenSpecialTrainManager.GetCurActivityId()
|
|
local config = XFubenSpecialTrainConfig.GetActivityConfigById(activityId)
|
|
local beginTime, endTime = XFunctionManager.GetTimeByTimeId(config.TimeId)
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.SpecialTrain
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Extra(args)
|
|
local config = XActivityBriefConfigs.GetActivityGroupConfig(args.activityGroupId)
|
|
local skipList = XFunctionConfig.GetSkipList(config.SkipId)
|
|
local chapterId = skipList.CustomParams[1]
|
|
local specialTip = CsXTextManagerGetText("ActivityBriefExtraNotInTime")
|
|
local checkResult, checkDesription = XDataCenter.ExtraChapterManager.CheckCanGoTo(chapterId, nil, specialTip)
|
|
|
|
if checkResult then
|
|
--如果是隐藏关卡还需要判断是否解锁
|
|
if args.difficultType == XDataCenter.FubenManager.DifficultHard then
|
|
if not XFunctionManager.JudgeCanOpen(XFunctionManager.FunctionName.FubenDifficulty) then
|
|
return false, XFunctionManager.GetFunctionOpenCondition(XFunctionManager.FunctionName.FubenDifficulty)
|
|
end
|
|
end
|
|
|
|
local timeStr = ""
|
|
local functionId = XFunctionManager.FunctionName.FubenActivityMainLine---这里实际上用了一个弃用系统的FO--在此仅相当于一个条件来使用
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId) and XDataCenter.ExtraChapterManager.IsExtraActivityOpen()
|
|
return isOpen, CSXTextManagerGetText("ActivityExpeditionOver")
|
|
else
|
|
return false, checkDesription
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.WorldBoss()
|
|
local beginTime = XDataCenter.WorldBossManager.GetActivityBeginTime()
|
|
local endTime = XDataCenter.WorldBossManager.GetActivityEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.WorldBoss
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId) and XDataCenter.WorldBossManager.IsInActivity()
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Expedition()
|
|
local beginTime = XDataCenter.ExpeditionManager.GetStartTime()
|
|
local endTime = XDataCenter.ExpeditionManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.Expedition
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId) and not XDataCenter.ExpeditionManager.GetIsActivityEnd()
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.FubenBossSingle()
|
|
local functionId = XFunctionManager.FunctionName.FubenChallengeBossSingle
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId)
|
|
end
|
|
|
|
function XActivityBrieIsOpen.ActivityBriefShop()
|
|
local beginTime = XActivityBriefConfigs.GetActivityBeginTime()
|
|
local endTime = XActivityBriefConfigs.GetActivityEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.ShopActive
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.RougueLike()
|
|
local functionId = XFunctionManager.FunctionName.RogueLike
|
|
local beginTime = XDataCenter.FubenRogueLikeManager.GetActivityBeginTime()
|
|
local fightEndTime = XDataCenter.FubenRogueLikeManager.GetFightEndTime()
|
|
local endTime = XDataCenter.FubenRogueLikeManager.GetActivityEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
|
|
function XActivityBrieIsOpen.MaintainerAction()
|
|
local ret, msg = XDataCenter.MaintainerActionManager.CheckIsOpen()
|
|
return ret, msg
|
|
end
|
|
|
|
function XActivityBrieIsOpen.RpgTower()
|
|
local beginTime = XDataCenter.RpgTowerManager.GetStartTime()
|
|
local endTime = XDataCenter.RpgTowerManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, _, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
local timeStr = XActivityBrieIsOpen.GetTimeStr(beginTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.RpgTower
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.ActivityDrawCard()
|
|
local beginTime = XActivityBriefConfigs.GetActivityBeginTime()
|
|
local endTime = XActivityBriefConfigs.GetActivityEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
local functionId = XFunctionManager.FunctionName.ActivityDrawCard
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.TRPGMainLine()
|
|
if XDataCenter.FubenMainLineManager.IsMainLineActivityOpen() then
|
|
local chapterId = XDataCenter.FubenMainLineManager.TRPGChapterId
|
|
local ret, desc = XDataCenter.FubenMainLineManager.CheckActivityCondition(chapterId)
|
|
return ret, desc
|
|
end
|
|
|
|
local functionId = XFunctionManager.FunctionName.MainLineTRPG
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId)
|
|
end
|
|
|
|
function XActivityBrieIsOpen.NewCharActivity(actId)
|
|
local functionId = XFunctionManager.FunctionName.NewCharAct
|
|
local _, beginTime, endTime = XDataCenter.FubenNewCharActivityManager.IsOpen(actId)
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.FubenActivityTrial()
|
|
--local functionId = XFunctionManager.FunctionName.FashionStory
|
|
--夏活版本涂装试玩关暂时移到FashionStory展示
|
|
--local chapters = XDataCenter.FashionStoryManager.GetActivityChapters(true)
|
|
--local beginTime = math.huge
|
|
--local endTime = 0
|
|
--for _,chapter in pairs(chapters) do
|
|
-- local chapterStartTime, chapterEndTime = XDataCenter.FashionStoryManager.GetActivityTime(chapter.Id)
|
|
-- if beginTime > chapterStartTime then
|
|
-- beginTime = chapterStartTime
|
|
-- end
|
|
-- if endTime < chapterEndTime then
|
|
-- endTime = chapterEndTime
|
|
-- end
|
|
--end
|
|
local functionId = XFunctionManager.FunctionName.FubenActivityTrial
|
|
local beginTime, endTime = XDataCenter.FubenExperimentManager.GetSkinTrialTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
local timeStr = XActivityBrieIsOpen.GetTimeStr(beginTime, endTime)
|
|
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.ShiTu()
|
|
local functionId = XFunctionManager.FunctionName.MentorSystem
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), ""
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Nier()
|
|
local beginTime = XDataCenter.NieRManager.GetStartTime()
|
|
local endTime = XDataCenter.NieRManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.NieR
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId) and not XDataCenter.NieRManager.GetIsActivityEnd()
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Pokemon()
|
|
local beginTime = XDataCenter.PokemonManager.GetStartTime()
|
|
local endTime = XDataCenter.PokemonManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.Pokemon
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId) and XDataCenter.PokemonManager.IsOpen()
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Pursuit()
|
|
local beginTime = XChessPursuitConfig.GetActivityFullBeginTime()
|
|
local endTime = XChessPursuitConfig.GetActivityFullEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.ChessPursuitMain
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Simulate()
|
|
local beginTime = XDataCenter.FubenSimulatedCombatManager.GetStartTime()
|
|
local endTime = XDataCenter.FubenSimulatedCombatManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.FubenSimulatedCombat
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.StrongHold()
|
|
local beginTime = XDataCenter.StrongholdManager.GetStartTime()
|
|
local endTime = XDataCenter.StrongholdManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.Stronghold
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Partner()
|
|
local functionId = XFunctionManager.FunctionName.Partner
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), ""
|
|
end
|
|
|
|
function XActivityBrieIsOpen.MoeWar()
|
|
local beginTime = XDataCenter.MoeWarManager.GetActivityStartTime()
|
|
local endTime = XDataCenter.MoeWarManager.GetActivityEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.MoeWar
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.PetCard()
|
|
local functionId = XFunctionManager.FunctionName.Partner
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
local config = XActivityBriefConfigs.GetActivityGroupConfig(XActivityBriefConfigs.ActivityGroupId.PetCard)
|
|
local skipId = config.SkipId
|
|
local skipConfig = XFunctionConfig.GetSkipList(skipId)
|
|
if skipConfig then
|
|
local isInTime = XFunctionManager.CheckSkipInDuration(skipId)
|
|
if not isInTime then
|
|
return isInTime,CSXTextManagerGetText("ActivityBriefNotOpenTips",skipConfig.StartTime)
|
|
end
|
|
end
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), ""
|
|
end
|
|
|
|
function XActivityBrieIsOpen.PetTrial()
|
|
local config = XActivityBriefConfigs.GetActivityGroupConfig(XActivityBriefConfigs.ActivityGroupId.PetTrial)
|
|
local skipId = config.SkipId
|
|
local skipConfig = XFunctionConfig.GetSkipList(skipId)
|
|
if skipConfig then
|
|
local timeId = XPartnerTeachingConfigs.GetChapterActivityTimeId(skipConfig.CustomParams[1])
|
|
local beginTime = XFunctionManager.GetStartTimeByTimeId(timeId)
|
|
local endTime = XFunctionManager.GetEndTimeByTimeId(timeId)
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.PartnerTeaching
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
end
|
|
|
|
--翻牌猜大小
|
|
function XActivityBrieIsOpen.PokerGuessing()
|
|
local beginTime = XDataCenter.PokerGuessingManager.GetStartTime()
|
|
local endTime = XDataCenter.PokerGuessingManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.PokerGuessing
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Hack()
|
|
local beginTime = XDataCenter.FubenHackManager.GetStartTime()
|
|
local endTime = XDataCenter.FubenHackManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.FubenHack
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.RpgMaker()
|
|
local beginTime,endTime = XDataCenter.RpgMakerGameManager.GetActivityTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.RpgMakerActivity
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Reform()
|
|
local beginTime = XDataCenter.ReformActivityManager.GetActivityStartTime()
|
|
local endTime = XDataCenter.ReformActivityManager.GetActivityEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.Reform
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.CoupleCombat()
|
|
local beginTime = XDataCenter.FubenCoupleCombatManager.GetStartTime()
|
|
local endTime = XDataCenter.FubenCoupleCombatManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.FubenCoupleCombat
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.SuperTower()
|
|
local beginTime = XDataCenter.SuperTowerManager.GetActivityStartTime()
|
|
local endTime = XDataCenter.SuperTowerManager.GetActivityEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.SuperTower
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.KillZone()
|
|
local beginTime = XDataCenter.KillZoneManager.GetStartTime()
|
|
local endTime = XDataCenter.KillZoneManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.KillZone
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.SummerSeries()
|
|
local config = XActivityBriefConfigs.GetActivityGroupConfig(XActivityBriefConfigs.ActivityGroupId.SummerSeries)
|
|
local skipId = config.SkipId
|
|
local skipList = XFunctionConfig.GetSkipList(skipId)
|
|
if skipList then
|
|
local chapterId = skipList.CustomParams[1]
|
|
local chapterConfig = XFestivalActivityConfig.GetFestivalById(chapterId)
|
|
local beginTime = XFunctionManager.GetStartTimeByTimeId(chapterConfig.TimeId)
|
|
local endTime = XFunctionManager.GetEndTimeByTimeId(chapterConfig.TimeId)
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.FestivalActivity
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Expedition()
|
|
local timeId = XDataCenter.ActivityBriefManager.GetBtnTimeId(XActivityBriefConfigs.ActivityGroupId.Expedition)
|
|
local beginTime = XFunctionManager.GetStartTimeByTimeId(timeId) or 0
|
|
local endTime = XFunctionManager.GetEndTimeByTimeId(timeId) or 0
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.Expedition
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.SameColorGame()
|
|
local beginTime = XDataCenter.SameColorActivityManager.GetStartTime()
|
|
local endTime = XDataCenter.SameColorActivityManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.SameColor
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.AreaWar()
|
|
local beginTime = XDataCenter.AreaWarManager.GetStartTime()
|
|
local endTime = XDataCenter.AreaWarManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.AreaWar
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.SuperSmashBros()
|
|
local beginTime = XDataCenter.SuperSmashBrosManager.GetActivityStartTime()
|
|
local endTime = XDataCenter.SuperSmashBrosManager.GetActivityEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.SuperSmashBros
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.TeachingSkin(actId)
|
|
local functionId = XFunctionManager.FunctionName.NewCharAct
|
|
local _, beginTime, endTime = XDataCenter.FubenNewCharActivityManager.IsOpen(actId)
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
--射击玩法
|
|
function XActivityBrieIsOpen.Maverick()
|
|
local functionId = XFunctionManager.FunctionName.Maverick
|
|
local beginTime = XDataCenter.MaverickManager.GetStartTime()
|
|
local endTime = XDataCenter.MaverickManager.GetEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
--意识营救战
|
|
function XActivityBrieIsOpen.MemorySave()
|
|
local functionId = XFunctionManager.FunctionName.MemorySave
|
|
local beginTime = XDataCenter.MemorySaveManager.GetActivityStartTime()
|
|
local endTime = XDataCenter.MemorySaveManager.GetActivityEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
--肉鸽玩法
|
|
function XActivityBrieIsOpen.Theatre()
|
|
local functionId = XFunctionManager.FunctionName.Theatre
|
|
local beginTime = XActivityBriefConfigs.GetActivityBeginTime()
|
|
local endTime = XActivityBriefConfigs.GetActivityEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
-- 末日生存
|
|
function XActivityBrieIsOpen.DoomsDay()
|
|
local functionId = XFunctionManager.FunctionName.Doomsday
|
|
local beginTime = XDataCenter.DoomsdayManager.GetStartTime()
|
|
local endTime = XDataCenter.DoomsdayManager.GetEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
function XActivityBrieIsOpen.FubenShortStory()
|
|
local functionId = XFunctionManager.FunctionName.ShortStory
|
|
local config = XActivityBriefConfigs.GetActivityGroupConfig(XActivityBriefConfigs.ActivityGroupId.FubenShortStory)
|
|
local skipId = config.SkipId
|
|
local skipList = XFunctionConfig.GetSkipList(skipId)
|
|
local chapterId = skipList.CustomParams[1]
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId) and XDataCenter.ShortStoryChapterManager.IsOpen(chapterId)
|
|
local decs = nil --海外修改,提示弹窗文本不准问题
|
|
for _, v in pairs(XFunctionConfig.GetFuncOpenCfg(functionId).Condition) do
|
|
if v and v ~= 0 then
|
|
local Open, decsText = XConditionManager.CheckCondition(v)
|
|
if not Open then
|
|
decs = decsText
|
|
break
|
|
end
|
|
end
|
|
end
|
|
if not decs then
|
|
decs = CSXTextManagerGetText("ActivityBriefMainlineNotInTime")
|
|
end
|
|
return isOpen,decs
|
|
end
|
|
|
|
function XActivityBrieIsOpen.PivotCombat()
|
|
local functionId = XFunctionManager.FunctionName.PivotCombat
|
|
local beginTime,endTime = XPivotCombatConfigs.GetTotalTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.Escape()
|
|
local functionId = XFunctionManager.FunctionName.Escape
|
|
local beginTime = XDataCenter.EscapeManager.GetActivityStartTime()
|
|
local endTime = XDataCenter.EscapeManager.GetActivityEndTime()
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, endTime, endTime)
|
|
|
|
if inTime then
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
--v1.27音游小游戏
|
|
function XActivityBrieIsOpen.TaikoMaster()
|
|
local beginTime = XDataCenter.TaikoMasterManager.GetActivityStartTime()
|
|
local endTime = XDataCenter.TaikoMasterManager.GetActivityEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.TaikoMaster
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
--v1.27多维挑战
|
|
function XActivityBrieIsOpen.MultiDim()
|
|
local beginTime = XDataCenter.MultiDimManager.GetStartTime()
|
|
local endTime = XDataCenter.MultiDimManager.GetEndTime()
|
|
local fightEndTime = endTime
|
|
local inTime, timeStr, openTimeTipsStr = XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
|
|
if inTime then
|
|
local functionId = XFunctionManager.FunctionName.MultiDim
|
|
local isOpen = XFunctionManager.JudgeCanOpen(functionId)
|
|
return isOpen, XFunctionManager.GetFunctionOpenCondition(functionId), timeStr
|
|
else
|
|
return false, openTimeTipsStr, timeStr
|
|
end
|
|
end
|
|
|
|
--@endregion
|
|
function XActivityBrieIsOpen.RefreshAcitivityTime(beginTime, fightEndTime, endTime)
|
|
local inTime, timeStr, aheadTime = false, "", false
|
|
|
|
if not beginTime or not fightEndTime or not endTime then
|
|
return inTime, timeStr, aheadTime
|
|
end
|
|
|
|
local nowTime = XTime.GetServerNowTimestamp()
|
|
if nowTime >= beginTime and nowTime < fightEndTime then
|
|
inTime = true
|
|
aheadTime = false
|
|
elseif nowTime >= fightEndTime and nowTime < endTime then
|
|
inTime = false
|
|
aheadTime = false
|
|
elseif nowTime >= endTime then
|
|
inTime = false
|
|
aheadTime = false
|
|
else
|
|
inTime = false
|
|
aheadTime = true
|
|
end
|
|
|
|
timeStr = XActivityBrieIsOpen.GetTimeStr(beginTime, fightEndTime)
|
|
return inTime, timeStr, XActivityBrieIsOpen.GetOpenTimeTipsStr(aheadTime, beginTime)
|
|
end
|
|
|
|
function XActivityBrieIsOpen.GetTimeStr(beginTime, endTime)
|
|
local beginTimeStr = TimestampToGameDateTimeString(beginTime, TimeFormat)
|
|
if endTime then
|
|
local endTimeStr = TimestampToGameDateTimeString(endTime, TimeFormat)
|
|
return string.format("%s", CSXTextManagerGetText("ActivityBriefFightTime", beginTimeStr, endTimeStr))
|
|
else
|
|
return string.format("%s", CSXTextManagerGetText("ActivityBriefAloneTime", beginTimeStr))
|
|
end
|
|
end
|
|
|
|
function XActivityBrieIsOpen.GetOpenTimeTipsStr(aheadTime, beginTime)
|
|
if aheadTime then
|
|
local timeStr = XTime.TimestampToGameDateTimeString(beginTime, "yyyy/MM/dd")
|
|
return CSXTextManagerGetText("MaintainerActionNotStart", timeStr)
|
|
else
|
|
return CSXTextManagerGetText("ActivityShopOver")
|
|
end
|
|
end
|
|
|
|
return XActivityBrieIsOpen |