using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using TableConfig;
|
|
namespace Snxxz.UI
|
{
|
[XLua.LuaCallCSharp]
|
public class GroupDungeonChallengeProcessor : SingletonMonobehaviour<GroupDungeonChallengeProcessor>
|
|
{
|
int mapId = 0;
|
int lineId = 0;
|
|
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
PlayerMainDate main { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
|
|
public void GroupChallengeDungeon(int _mapId, int _lineId, bool _isAutoMatch)
|
{
|
mapId = _mapId;
|
lineId = _lineId;
|
|
if (GeneralDefine.ruinsTranscriptMapId == _mapId)//zxw
|
{
|
bool iamCaptainer = ModelCenter.Instance.GetModel<TeamModel>().myTeam.iamCaptainer;
|
if (iamCaptainer)
|
{
|
var cB910 = new CB910_tagCGQueryTeamMemFuncData();
|
cB910.TeamMemFuncType = 0;
|
GameNetSystem.Instance.SendInfo(cB910);
|
StartCoroutine(Co_DelayShowFloorChooseWin(_isAutoMatch));
|
}
|
}
|
else
|
{
|
switch (_mapId)
|
{
|
case RealmModel.REALM_DUNGEON_ID:
|
var realmModel = ModelCenter.Instance.GetModel<RealmModel>();
|
realmModel.GotoDungeon();
|
break;
|
default:
|
int error = 0;
|
var dungeon = new Dungeon(_mapId, _lineId);
|
if (dungeonModel.TestChallange(dungeon, out error))
|
{
|
dungeonModel.GroupChallenge(dungeon);
|
}
|
else
|
{
|
ProcessEnterDungeonError(error);
|
}
|
break;
|
}
|
}
|
|
}
|
|
private void ProcessEnterDungeonError(int _error)
|
{
|
|
var dungeonId = dungeonModel.GetDungeonId(mapId, lineId);
|
var dungeonConfig = Config.Instance.Get<DungeonConfig>(dungeonId);
|
|
switch (_error)
|
{
|
case 1:
|
SysNotifyMgr.Instance.ShowTip("DungeoninCoolTime");
|
break;
|
case 2:
|
SysNotifyMgr.Instance.ShowTip("DemonJar_Text2");
|
break;
|
case 4:
|
SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_268121", dungeonConfig.MapID);
|
break;
|
case 5:
|
SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_157069", dungeonConfig.MapID);
|
break;
|
}
|
}
|
|
IEnumerator Co_DelayShowFloorChooseWin(bool _isAutoMatch)
|
{
|
yield return WaitingForSecondConst.WaitMS700;
|
|
if (main.LayerNumber == -1)
|
{
|
main.LayerNumberNow = 0;
|
}
|
else
|
{
|
main.LayerNumberNow = main.LayerNumber;
|
}
|
|
if (PlayerDatas.Instance.extersion.bossState == 1)
|
{
|
SysNotifyMgr.Instance.ShowTip("Boss_Leave");
|
}
|
else
|
{
|
if (_isAutoMatch)
|
{
|
var dungeon = new Dungeon(GeneralDefine.ruinsTranscriptMapId, main.LayerNumberNow);
|
dungeonModel.GroupChallenge(dungeon);
|
}
|
else
|
{
|
WindowCenter.Instance.Open<FloorChooseWin>();
|
}
|
}
|
|
}
|
|
}
|
|
}
|