local MultiplayerDungeon_Controller = {} local private = {} local EventSystem = require('Event/EventSystem') function MultiplayerDungeon_Controller.OnStartup() end function MultiplayerDungeon_Controller.OnShutdown() end --打开子界面 function MultiplayerDungeon_Controller.OpenSubPanel(activitiesID, levelID) local activityData = MDL.MultiplayerDungeon.GetConfigByActivitiesID(activitiesID)[1] local tmpIsUnlock, tmpContent = CTL.Unlock.JudgeIfSatisfiedUnlockTable(activityData.Unlock_Table) if tmpIsUnlock then UIManager.OpenAndPushAll(Const_UI_Lua.UIEnum.UIMultiplayerDungeonMain, {activitiesID = activitiesID, levelID = levelID}) else CTL.Tips.AddTipsMsg(tmpContent) end end -- 从战斗返回后通过关卡ID打开对应的活动界面 function MultiplayerDungeon_Controller.OpenMainPanelByLevelID(levelID) local dungeonData = DataSheetManager.MultiplayerDungeon:GetDataByID(levelID) if dungeonData then MDL.MultiplayerDungeon.MultiplayerDungeonInfoRequest(dungeonData.Type) end end --单人挑战弹窗提示 function private.OnWarningSingleBattle(activityID, difficultyID) UTL.MessageBox.ShowOKCancelBox(Const_IDS.IDS_JP_MultiplayerDungeon_TeamReminder, Const_IDS.IDS_JP_MultiplayerDungeon_Tips, function() CTL.Team.OpenTeamPanel(activityID) end, function() MDL.MultiplayerDungeon.EnterMultiplayerDungeonRequest(activityID, difficultyID) end, Const_IDS.IDS_Team_Platform, Const_IDS.IDS_JP_MultiplayerDungeon_Continue) end function MultiplayerDungeon_Controller.EnterBattle(activityID, difficultyID) local ids if GameAppInfo.IsJapanesePackage() then --日服专属:非组队也能打,组队不满3人也能打 if CTL.Team.IsInTeam() then -- 是否在组队 if CTL.Team.IsTeamLeader(BattleDataGetter.GetAcID()) then -- 是否是队长 if CTL.Team.IsTeamFull() then -- 是否满三人 MDL.MultiplayerDungeon.EnterMultiplayerDungeonRequest(activityID, difficultyID) return else --弹窗提示 private.OnWarningSingleBattle(activityID, difficultyID) return end else ids = UIUtils.GetLocalizedTxt(Const_IDS.IDS_Team_NeedCaptain) end else --弹窗提示 private.OnWarningSingleBattle(activityID, difficultyID) return end else if CTL.Team.IsInTeam() then -- 是否在组队 if CTL.Team.IsTeamLeader(BattleDataGetter.GetAcID()) then -- 是否是队长 if UNITY_EDITOR or TAI_DEVELOPMENT_BUILD then -- 测试阶段客户端不判断人数 MDL.MultiplayerDungeon.EnterMultiplayerDungeonRequest(activityID, difficultyID) return else if CTL.Team.IsTeamFull() then -- 是否满三人 MDL.MultiplayerDungeon.EnterMultiplayerDungeonRequest(activityID, difficultyID) return else logging.log(LTAG.LOG, "IsTeamFull") ids = UIUtils.GetLocalizedTxt(Const_IDS.IDS_MultiplayerDungeon_3People) end end else ids = UIUtils.GetLocalizedTxt(Const_IDS.IDS_Team_NeedCaptain) end else ids = UIUtils.GetLocalizedTxt(Const_IDS.IDS_MultiplayerDungeon_3People) end end if ids then CTL.Tips.AddTipsMsg(ids) end end return MultiplayerDungeon_Controller