Core/NetworkPackage/ClientPack/ClientToMapServer/CC1_CrossRealm/CC105_tagCMEnterCrossServer.cs
@@ -6,6 +6,7 @@ public class CC105_tagCMEnterCrossServer : GameNetPackBasic { public uint DataMapID; public ushort LineID; public CC105_tagCMEnterCrossServer() { @@ -16,6 +17,7 @@ public override void WriteToBytes() { WriteBytes(DataMapID, NetDataType.DWORD); WriteBytes(LineID, NetDataType.WORD); } } Core/NetworkPackage/ServerPack/HA3_Function/HA306_tagMCFairyDomainInfo.cs
@@ -3,8 +3,10 @@ // A3 06 缥缈仙域信息 #tagMCFairyDomainInfo public class HA306_tagMCFairyDomainInfo : GameNetPackBasic { public byte State; //是否寻访中 public class HA306_tagMCFairyDomainInfo : GameNetPackBasic { //public byte IsAll; //是否全部 public byte State; //是否寻访中 //public uint VisitCnt; //寻访次数 public ushort Energy; //体力 public byte Count; // 信息个数 public tagMCFairyDomainEvent[] InfoList; // 信息列表 @@ -13,8 +15,8 @@ _cmd = (ushort)0xA306; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out State, vBytes, NetDataType.BYTE); public override void ReadFromBytes (byte[] vBytes) { //TransBytes(out IsAll, vBytes, NetDataType.BYTE); TransBytes (out State, vBytes, NetDataType.BYTE); //TransBytes(out VisitCnt, vBytes, NetDataType.DWORD); TransBytes (out Energy, vBytes, NetDataType.WORD); TransBytes (out Count, vBytes, NetDataType.BYTE); InfoList = new tagMCFairyDomainEvent[Count]; Fight/Actor/Status/StatusMgr.cs
@@ -8,6 +8,7 @@ { public static event UnityAction<int> OnGainStatus; public static event UnityAction<int> onReceiveStatus; private Dictionary<uint, List<Status_Base>> m_StatusDict = null; private List<Status_Base> m_AllStatus = null; @@ -155,6 +156,11 @@ } } } if (onReceiveStatus != null) { onReceiveStatus(h0605.SkillID); } } public void Release(uint objID, byte type) Fight/Actor/Status/Status_Base.cs
@@ -1,4 +1,5 @@ using System; using UnityEngine; public abstract class Status_Base : IStatus @@ -18,10 +19,14 @@ private SFXController m_Effect; public DateTime receiveTime { get; private set; } public virtual void Init(H0605_tagObjAddBuff data) { h0605 = data; receiveTime = TimeUtility.ServerNow; m_SkillConfig = SkillConfig.Get(data.SkillID); if (m_SkillConfig == null) Fight/Stage/Dungeon/DungeonStage.cs
@@ -246,6 +246,12 @@ WindowCenter.Instance.Open<DungeonStageTimeWin>(); break; } if (ModelCenter.Instance.GetModel<HazyDemonKingModel>().IsInDungeon) { WindowCenter.Instance.Open<HazyDemonKingDungeonWin>(); } // 等待处理开启自动战斗 DungeonModel _dungeonModel = ModelCenter.Instance.GetModel<DungeonModel>(); if (PlayerDatas.Instance.baseData.MapID == 52020 Fight/Stage/StageLoadProcessor.cs
@@ -401,6 +401,9 @@ break; case DemonJarModel.DEMONJAR_SINGLEMAPID: stage = stageGameObject.AddComponent<FakeDemonJarDungeonStage>(); break; case HazyDemonKingModel.ClientMAPID: stage = stageGameObject.AddComponent<ClientHazyDemonKingStage>(); break; default: stage = stageGameObject.AddComponent<DungeonStage>(); System/HazyRegion/ClientHazyDemonKingStage.cs
New file @@ -0,0 +1,143 @@ using Snxxz.UI; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClientHazyDemonKingStage : DungeonStage { static readonly Vector3 playerBornPosition = new Vector3(10, 6.38f, 6.67f); static readonly Vector3 bossBornPosition = new Vector3(8.35f, 6.37f, 9.7f); Step step = Step.Start; ClientStage currentStage = null; static GA_NpcClientFightBoss clientFightBoss = null; HazyDemonKingModel model { get { return ModelCenter.Instance.GetModel<HazyDemonKingModel>(); } } public override void Initialize() { base.Initialize(); currentStage = null; DTC0403_tagPlayerLoginLoadOK.mapInitOkEvent += OnReconnected; } protected override void OnStageLoadFinish() { base.OnStageLoadFinish(); step = Step.Start; currentStage = new StartStage(); currentStage.OnStart(); } protected override void OnUpdate() { base.OnUpdate(); if (currentStage != null) { currentStage.OnUpdate(); if (currentStage.isCompleted) { currentStage.OnEnd(); currentStage = null; } } } private void OnReconnected() { var pak = new CA231_tagCMClientStartCustomScene(); GameNetSystem.Instance.SendInfo(pak); } public override void UnInitialize() { base.UnInitialize(); currentStage = null; if (clientFightBoss != null) { clientFightBoss.ActorInfo.serverDie = true; GAMgr.Instance.ServerDie(clientFightBoss.ServerInstID); clientFightBoss.Die(); clientFightBoss = null; } DTC0403_tagPlayerLoginLoadOK.mapInitOkEvent -= OnReconnected; } #if UNITY_EDITOR private void OnGUI() { if (GUILayout.Button("Exit")) { model.RequestExistClientDungeon(); } } #endif public enum Step { Start, Fight, End, } public abstract class ClientStage { public abstract bool isCompleted { get; protected set; } protected HazyRegionModel model { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } } public abstract void OnUpdate(); public abstract void OnStart(); public abstract void OnEnd(); } public class StartStage : ClientStage { public override bool isCompleted { get; protected set; } public override void OnStart() { var hero = PlayerDatas.Instance.hero; hero.Pos = playerBornPosition; CameraController.Instance.Apply(); var config = HazyRegionConfig.Get(model.processingIncidentId); var npcId = NPCConfig.Get(config.npcId); if (clientFightBoss != null) { clientFightBoss.ActorInfo.serverDie = true; GAMgr.Instance.ServerDie(clientFightBoss.ServerInstID); clientFightBoss.Die(); clientFightBoss = null; } clientFightBoss = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightBoss>((uint)config.npcId, E_ActorGroup.Enemy); clientFightBoss.Pos = bossBornPosition; clientFightBoss.LockTargetSID = PlayerDatas.Instance.PlayerId; isCompleted = true; } public override void OnUpdate() { } public override void OnEnd() { } } } System/HazyRegion/ClientHazyDemonKingStage.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 6426fe00cafdfd84cbc249ce70caccc4 timeCreated: 1554976847 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/HazyRegion/HazyDemonKingDungeonWin.cs
@@ -14,10 +14,18 @@ public class HazyDemonKingDungeonWin : Window { [SerializeField] DynamicCyclicScroll m_CyclicScroll; [SerializeField] CyclicScroll m_CyclicScroll; [SerializeField] Text m_MyAtkTargetName; [SerializeField] Transform m_ContainerInvincibleBuff; [SerializeField] SmoothSlider m_BuffSlider; DateTime invincibleBuffEndTime = DateTime.Now; uint invincibleLastTime = 0; List<uint> playerIds = new List<uint>(); List<uint> clonePlayerIds = new List<uint>(); HazyDemonKingModel model { get { return ModelCenter.Instance.GetModel<HazyDemonKingModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } @@ -36,6 +44,8 @@ Display(); model.onPlayerInfoRefresh += OnPlayerInfoRefresh; StatusMgr.onReceiveStatus += OnReceiveStatus; GlobalTimeEvent.Instance.secondEvent += PerSecond; } protected override void OnAfterOpen() @@ -46,25 +56,79 @@ { m_CyclicScroll.Dispose(); model.onPlayerInfoRefresh -= OnPlayerInfoRefresh; StatusMgr.onReceiveStatus -= OnReceiveStatus; GlobalTimeEvent.Instance.secondEvent -= PerSecond; } protected override void OnAfterClose() { } protected override void LateUpdate() { if (TimeUtility.ServerNow < invincibleBuffEndTime) { m_BuffSlider.delay = 0.2f; DisplayInvincibleProgress(); } } #endregion void Display() { DisplayPlayers(); DisplayInvincibleBuff(); } void DisplayPlayers() { playerIds.Clear(); clonePlayerIds.Clear(); playerIds.AddRange(model.GetPlayerIds()); playerIds.Sort(Compare); clonePlayerIds.AddRange(playerIds); m_CyclicScroll.Init(playerIds); } void DisplayInvincibleBuff() { var actors = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcFightBoss); bool existInvincibleBuff = false; Status_Base status_Base = null; if (actors != null && actors.Count > 0) { var serverInstId = (actors[0] as GA_NpcFightBoss).ServerInstID; existInvincibleBuff = StatusMgr.Instance.IsExist(serverInstId, model.invincibleBuffId); if (existInvincibleBuff) { status_Base = StatusMgr.Instance.Get(serverInstId, model.invincibleBuffId); } } m_ContainerInvincibleBuff.gameObject.SetActive(existInvincibleBuff); if (existInvincibleBuff && status_Base != null) { invincibleBuffEndTime = status_Base.receiveTime.AddTicks(status_Base.h0605.LastTime * TimeSpan.TicksPerMillisecond); invincibleLastTime = status_Base.h0605.LastTime; } m_BuffSlider.delay = 0f; DisplayInvincibleProgress(); } void DisplayInvincibleProgress() { var milliSeconds = Mathf.CeilToInt((float)(invincibleBuffEndTime - TimeUtility.ServerNow).TotalMilliseconds); if (invincibleLastTime == 0) { invincibleLastTime = (uint)milliSeconds; } var progress = Mathf.Clamp01(1 - (float)milliSeconds / invincibleLastTime); m_BuffSlider.value = progress; } private void OnPlayerInfoRefresh() @@ -72,14 +136,49 @@ DisplayPlayers(); } private void OnReceiveStatus(int buffId) { if (buffId == model.invincibleBuffId) { DisplayInvincibleBuff(); } } private void PerSecond() { if (clonePlayerIds.Count > 0) { clonePlayerIds.Sort(Compare); } if (clonePlayerIds.Count == playerIds.Count) { for (int i = 0; i < clonePlayerIds.Count; i++) { if (clonePlayerIds[i] != playerIds[i]) { DisplayPlayers(); return; } } } } int Compare(uint lhs, uint rhs) { var lhs_bossBelong = StatusMgr.Instance.IsExistBossBelong(lhs); var rhs_bossBelong = StatusMgr.Instance.IsExistBossBelong(rhs); var lhs_bossBelong = model.IsExistBelongTo(lhs); var rhs_bossBelong = model.IsExistBelongTo(rhs); if (lhs_bossBelong != rhs_bossBelong) { return -lhs_bossBelong.CompareTo(rhs_bossBelong); } var playerId = PlayerDatas.Instance.baseData.PlayerID; var lhs_atkself = model.GetPlayerAtkTarget(lhs) == playerId; var rhs_atkself = model.GetPlayerAtkTarget(rhs) == playerId; if (lhs_atkself != rhs_atkself) { return -lhs_atkself.CompareTo(rhs_atkself); } return 0; } } System/HazyRegion/HazyDemonKingModel.cs
@@ -10,6 +10,10 @@ public bool IsInDungeon { get; private set; } public int invincibleBuffId { get; private set; } public const int ClientMAPID = 2000; public event Action onPlayerInfoRefresh; public override void Init() @@ -69,6 +73,22 @@ } } var playerId = PlayerDatas.Instance.PlayerId; if (IsExistBelongTo(playerId)) { if (!m_PlayerInfos.ContainsKey(playerId)) { requireRefreshPlayer = true; } } else { if (m_PlayerInfos.ContainsKey(playerId)) { requireRefreshPlayer = true; } } if (requireRefreshPlayer) { RefreshAroundPlayer(); @@ -98,6 +118,29 @@ } } var playerId = PlayerDatas.Instance.PlayerId; if (IsExistBelongTo(playerId)) { if (!m_PlayerInfos.ContainsKey(playerId)) { var hero = PlayerDatas.Instance.hero; m_PlayerInfos.Add(playerId, new HazyDemonKingPlayerInfo() { job = hero.ActorInfo.Job, hp = hero.ActorInfo.RealHp, maxHp = hero.ActorInfo.RealMaxHp, playerName = UIHelper.ServerStringTrim(hero.ActorInfo.PlayerName), }); } } else { if (m_PlayerInfos.ContainsKey(playerId)) { m_PlayerInfos.Remove(playerId); } } if (onPlayerInfoRefresh != null) { onPlayerInfoRefresh(); @@ -106,6 +149,11 @@ public bool IsInDemonKingDungeon(int mapId) { if (mapId == ClientMAPID) { return true; } var configs = HazyRegionConfig.GetValues(); foreach (var config in configs) { @@ -127,6 +175,68 @@ { return m_PlayerInfos.Keys; } public void SendSelectAtkTarget(uint serverInstId) { } public uint GetPlayerAtkTarget(uint serverInstId) { return 0; } public bool IsExistBelongTo(uint playerId) { if (playerId == PlayerDatas.Instance.PlayerId && ClientDungeonStageUtility.clientMapId == ClientMAPID) { return true; } return StatusMgr.Instance.IsExistBossBelong(playerId); } public void RequestEnterClientDungeon() { MapTransferUtility.Instance.Clear(); ClientDungeonStageUtility.SetClientDungeon(true, ClientMAPID); var sendInfo = new CA231_tagCMClientStartCustomScene(); GameNetSystem.Instance.SendInfo(sendInfo); CrossServerLogin.Instance.SetWaitForLoginCrossServerState(false); StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand() { toMapId = ClientMAPID, toLineId = 0, needEmpty = true, needLoadResource = true, serverType = ServerType.Main, isClientLoadMap = true }); PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID; PlayerDatas.Instance.baseData.MapID = ClientMAPID; var attackMode = new C030A_tagCChangeAttackMode(); attackMode.Mode = (byte)E_AttackMode.Peace; GameNetSystem.Instance.PushPackage(attackMode, ServerType.Main); } public void RequestExistClientDungeon() { ClientDungeonStageUtility.SetClientDungeon(false, 0); PlayerDatas.Instance.extersion.pkState = 0; ModelCenter.Instance.GetModel<DungeonModel>().ResetBufData(); PlayerDatas.Instance.baseData.MapID = PlayerDatas.Instance.baseData.mainServerMapIdRecord; StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand() { toMapId = PlayerDatas.Instance.baseData.MapID, toLineId = 0, needEmpty = true, needLoadResource = true, serverType = ServerType.CrossSever, isClientLoadMap = true }); } } public struct HazyDemonKingPlayerInfo System/HazyRegion/HazyDemonKingPlayerBehaviour.cs
@@ -13,13 +13,14 @@ [SerializeField] Text m_PlayerName; [SerializeField] SmoothSlider m_HpSlider; [SerializeField] Image m_FightSign; [SerializeField] Text m_FightState; [SerializeField] Text m_AtkState; [SerializeField] Button m_SelectAtk; bool dirty = false; bool bossBelongTo = false; int hpPer = 0; int atkState = 0; uint playerId = 0; @@ -40,6 +41,8 @@ GlobalTimeEvent.Instance.secondEvent -= PerSecond; GlobalTimeEvent.Instance.secondEvent += PerSecond; //m_SelectAtk.SetListener(SelectAtk); } private void PerSecond() @@ -53,13 +56,13 @@ private void Initialized() { bossBelongTo = StatusMgr.Instance.IsExistBossBelong(playerId); RefreshBossBelongTo(); hpPer = 0; GActor actor = GAMgr.Instance.GetBySID(playerId); if (actor != null) { var player = actor as GA_Player; var player = actor as GActorPlayerBase; hpPer = Mathf.CeilToInt((float)player.ActorInfo.RealHp / player.ActorInfo.RealMaxHp * 100f); } else @@ -67,9 +70,11 @@ HazyDemonKingPlayerInfo playerInfo; if (model.TryGetPlayerInfo(playerId, out playerInfo)) { hpPer = Mathf.CeilToInt((float)playerInfo.hp / playerInfo.maxHp); hpPer = Mathf.CeilToInt((float)playerInfo.hp / playerInfo.maxHp * 100f); } } RefreshAtkState(); } void DisplayBase() @@ -86,27 +91,99 @@ { m_ContainerOwn.gameObject.SetActive(bossBelongTo); m_HeadIcon.gray = hpPer == 0; m_HpSlider.value = hpPer / 100f; //switch (atkState) //{ // case 0: // m_AtkState.text = "战斗中"; // m_AtkState.color = UIHelper.GetUIColor(TextColType.Red, true); // break; // case 1: // m_AtkState.text = "反击"; // m_AtkState.color = UIHelper.GetUIColor(TextColType.Red, true); // break; // case 2: // m_AtkState.text = "攻击"; // m_AtkState.color = UIHelper.GetUIColor(TextColType.NavyBrown, true); // break; //} } private void SelectAtk() { model.SendSelectAtkTarget(playerId); } void LateUpdate() { if (bossBelongTo != StatusMgr.Instance.IsExistBossBelong(playerId)) if (RefreshBossBelongTo()) { bossBelongTo = StatusMgr.Instance.IsExistBossBelong(playerId); dirty = true; } if (RefreshHpPer()) { dirty = true; } if (RefreshAtkState()) { dirty = true; } } bool RefreshBossBelongTo() { if (bossBelongTo != model.IsExistBelongTo(playerId)) { bossBelongTo = model.IsExistBelongTo(playerId); return true; } return false; } bool RefreshHpPer() { GActor actor = GAMgr.Instance.GetBySID(playerId); if (actor != null) { var player = actor as GA_Player; var per = Mathf.CeilToInt((float)player.ActorInfo.RealHp / player.ActorInfo.RealMaxHp); var player = actor as GActorPlayerBase; var per = Mathf.CeilToInt((float)player.ActorInfo.RealHp / player.ActorInfo.RealMaxHp * 100f); if (hpPer != per) { hpPer = per; dirty = true; return true; } } return false; } bool RefreshAtkState() { var _state = 0; var myPlayerId = PlayerDatas.Instance.baseData.PlayerID; var atkTargetId = model.GetPlayerAtkTarget(playerId); var myAtkTargetId = model.GetPlayerAtkTarget(myPlayerId); if (myAtkTargetId == playerId) { _state = 0; } else if (atkTargetId == myPlayerId) { _state = 1; } else { _state = 2; } if (_state != atkState) { atkState = _state; return true; } return false; } public override void Dispose() System/HazyRegion/HazyRegionEntrancePanel.cs
@@ -9,8 +9,11 @@ public class HazyRegionEntrancePanel : MonoBehaviour { [SerializeField] Text m_OpenTime; [SerializeField] Transform m_ContainerTimes; [SerializeField] Text m_Times; [SerializeField] Button m_BuyTimes; [SerializeField] Button m_Goto; HazyRegionModel model { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } } @@ -32,27 +35,36 @@ void DisplayTimes() { var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion); var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID); var limitTimes = dailyQuestOpenTime.DayTimes; m_ContainerTimes.gameObject.SetActive(!model.InFakeHazyRegion); var totalTimes = dailyQuestModel.GetDailyQuestTotalTimes((int)DailyQuestType.HazyRegion); var completedTimes = dailyQuestModel.GetDailyQuestCompletedTimes((int)DailyQuestType.HazyRegion); var times = Mathf.Clamp(totalTimes - completedTimes, 0, limitTimes); m_Times.text = StringUtility.Contact(times, "/", limitTimes); if (!model.InFakeHazyRegion) { var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion); var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID); var limitTimes = dailyQuestOpenTime.DayTimes; var totalTimes = dailyQuestModel.GetDailyQuestTotalTimes((int)DailyQuestType.HazyRegion); var completedTimes = dailyQuestModel.GetDailyQuestCompletedTimes((int)DailyQuestType.HazyRegion); var times = Mathf.Clamp(totalTimes - completedTimes, 0, limitTimes); m_Times.text = StringUtility.Contact(times, "/", limitTimes); } } void DisplayOpenTime() { DailyQuestOpenTime dailyQuestOpenTime; if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.HazyRegion, out dailyQuestOpenTime)) m_OpenTime.gameObject.SetActive(!model.InFakeHazyRegion); if (!model.InFakeHazyRegion) { HourMinute hourMinute; if (dailyQuestOpenTime.TryGetNextOpenTime(out hourMinute)) DailyQuestOpenTime dailyQuestOpenTime; if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.HazyRegion, out dailyQuestOpenTime)) { m_OpenTime.text = Language.Get("HazyRegionOpenTime", hourMinute.hourBegin.ToString("D2"), hourMinute.minuteBegin.ToString("D2"), hourMinute.hourEnd.ToString("D2"), hourMinute.minuteEnd.ToString("D2")); HourMinute hourMinute; if (dailyQuestOpenTime.TryGetNextOpenTime(out hourMinute)) { m_OpenTime.text = Language.Get("HazyRegionOpenTime", hourMinute.hourBegin.ToString("D2"), hourMinute.minuteBegin.ToString("D2"), hourMinute.hourEnd.ToString("D2"), hourMinute.minuteEnd.ToString("D2")); } } } } System/HazyRegion/HazyRegionModel.cs
@@ -15,6 +15,9 @@ public int processingIncidentId { get; private set; } public int adventureDialogueId { get; private set; } public bool playing { get; private set; } public bool satisfyFakeOpen { get; private set; } public int hazyRegionOpenTimes { get; private set; } public int fakeOpenTimes { get; private set; } public bool isServerPrepare { get; private set; } int m_SelectIncident; @@ -34,6 +37,11 @@ } } public bool InFakeHazyRegion { get { return hazyRegionOpenTimes <= fakeOpenTimes; } } int cacheMapId = 0; public event Action selectIncidentRefresh; @@ -42,6 +50,7 @@ DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } HazyDemonKingModel hazyDemonKingModel { get { return ModelCenter.Instance.GetModel<HazyDemonKingModel>(); } } public override void Init() { @@ -57,6 +66,7 @@ isServerPrepare = false; point = 0; playing = false; hazyRegionOpenTimes = 0; m_Incidents.Clear(); m_AdventureInfos.Clear(); } @@ -122,6 +132,9 @@ { var funcConfig = FuncConfigConfig.Get("ImmortalDomainStrength"); limitPoint = int.Parse(funcConfig.Numerical1); funcConfig = FuncConfigConfig.Get("FakeImmortalCount"); fakeOpenTimes = int.Parse(funcConfig.Numerical1); } public bool TryGetIncident(int id, out Incident incident) @@ -340,11 +353,44 @@ } break; case HazyRegionIncidentType.Boss: if (InFakeHazyRegion) { hazyDemonKingModel.RequestEnterClientDungeon(); } else { SendGotoIncidentDungeon(config); } break; case HazyRegionIncidentType.FairyGrass: case HazyRegionIncidentType.ReikiGrass: case HazyRegionIncidentType.Precious: dungeonModel.SingleChallenge(config.dungeonId, config.lineId); if (InFakeHazyRegion) { } else { SendGotoIncidentDungeon(config); } break; case HazyRegionIncidentType.Precious: SendGotoIncidentDungeon(config); break; } } void SendGotoIncidentDungeon(HazyRegionConfig config) { if (config.crossServer == 1) { var pak = new CC105_tagCMEnterCrossServer(); pak.DataMapID = (uint)config.dungeonId; pak.LineID = (ushort)config.lineId; GameNetSystem.Instance.SendInfo(pak); } else { dungeonModel.SingleChallenge(config.dungeonId, config.lineId); } } @@ -378,12 +424,16 @@ playing = package.State == 1; satisfyFakeOpen = package.State == 2; //hazyRegionOpenTimes = (int)package.VisitCnt; point = package.Energy; if (package.Count >= 3 || package.Count == 0) { //if (package.IsAll == 1) //{ m_Incidents.Clear(); } //} for (int i = 0; i < package.Count; i++) {