From 18ea16e3ffce9cf80e0937ce246a71b341b0fc8f Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 09 四月 2019 21:18:30 +0800
Subject: [PATCH] 3335 缥缈仙域
---
System/HazyRegion/HazyRegionIncidentPanel.cs | 5 +++++
System/HazyRegion/HazyRegionModel.cs | 25 ++++++++++++++++++++++++-
Fight/Stage/Dungeon/AdventureStage.cs | 12 +++++++++---
System/Activity/ActivityModel.cs | 4 ++--
4 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/Fight/Stage/Dungeon/AdventureStage.cs b/Fight/Stage/Dungeon/AdventureStage.cs
index 8ee2943..af11858 100644
--- a/Fight/Stage/Dungeon/AdventureStage.cs
+++ b/Fight/Stage/Dungeon/AdventureStage.cs
@@ -11,7 +11,8 @@
private Vector3 m_CacheHeroPos;
private GA_NpcClientFunc m_Npc;
- public event Action onLoadAdventureStageFinish;
+ public event Action onLoadAdventureStage;
+ public event Action onExitAdventureStage;
HazyRegionModel hazyRegionModel { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } }
@@ -50,9 +51,9 @@
NPCInteractProcessor.s_NpcInteractEvent -= OnNpcTalkEvent;
NPCInteractProcessor.s_NpcInteractEvent += OnNpcTalkEvent;
- if (onLoadAdventureStageFinish != null)
+ if (onLoadAdventureStage != null)
{
- onLoadAdventureStageFinish();
+ onLoadAdventureStage();
}
}
@@ -77,6 +78,11 @@
CameraController.Instance.Apply();
yield return null;
WindowCenter.Instance.Close<LoadingWin>();
+
+ if (onExitAdventureStage != null)
+ {
+ onExitAdventureStage();
+ }
}
private void OnNpcTalkEvent(E_NpcType type, int npcid, uint sid)
diff --git a/System/Activity/ActivityModel.cs b/System/Activity/ActivityModel.cs
index bfef83a..fac1b47 100644
--- a/System/Activity/ActivityModel.cs
+++ b/System/Activity/ActivityModel.cs
@@ -37,7 +37,7 @@
PlayerDatas.Instance.fairyData.OnRefreshFairyBoss += CheckActivity;
StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish;
NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
- AdventureStage.Instance.onLoadAdventureStageFinish += OnLoadAdventureStageFinish;
+ AdventureStage.Instance.onLoadAdventureStage += OnLoadAdventureStageFinish;
var _funcCfg = FuncConfigConfig.Get("SpecialActivitys");
var _json = LitJson.JsonMapper.ToObject(_funcCfg.Numerical1);
@@ -60,7 +60,7 @@
fairyLeagueModel.onFairyLeagueBattleEvent -= CheckActivity;
fairyLeagueModel.OnRefreshFairyLeagueEvent -= CheckActivity;
PlayerDatas.Instance.fairyData.OnRefreshFairyBoss -= CheckActivity;
- AdventureStage.Instance.onLoadAdventureStageFinish -= OnLoadAdventureStageFinish;
+ AdventureStage.Instance.onLoadAdventureStage -= OnLoadAdventureStageFinish;
}
IEnumerator Co_GuideComplete()
diff --git a/System/HazyRegion/HazyRegionIncidentPanel.cs b/System/HazyRegion/HazyRegionIncidentPanel.cs
index 6a4d618..d12f58d 100644
--- a/System/HazyRegion/HazyRegionIncidentPanel.cs
+++ b/System/HazyRegion/HazyRegionIncidentPanel.cs
@@ -60,6 +60,11 @@
private void OnBack()
{
+ if (model.IsIncidentDungeon())
+ {
+
+ return;
+ }
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get(""), (bool isOk) =>
{
if (isOk)
diff --git a/System/HazyRegion/HazyRegionModel.cs b/System/HazyRegion/HazyRegionModel.cs
index a002b63..1be68d4 100644
--- a/System/HazyRegion/HazyRegionModel.cs
+++ b/System/HazyRegion/HazyRegionModel.cs
@@ -48,6 +48,7 @@
ParseConfig();
StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish;
+ AdventureStage.Instance.onExitAdventureStage += OnExitAdventureStage;
}
public void OnBeforePlayerDataInitialize()
@@ -67,6 +68,12 @@
public override void UnInit()
{
StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish;
+ AdventureStage.Instance.onExitAdventureStage -= OnExitAdventureStage;
+ }
+
+ private void OnExitAdventureStage()
+ {
+ SnxxzGame.Instance.StartCoroutine(Co_TryOpenHazyRegionWin());
}
private void OnStageLoadFinish()
@@ -97,7 +104,10 @@
{
yield break;
}
- WindowCenter.Instance.Open<CrossServerWin>(false, 2);
+ if (WindowCenter.Instance.IsOpen<MainInterfaceWin>())
+ {
+ WindowCenter.Instance.Open<CrossServerWin>(false, 2);
+ }
}
void ParseConfig()
@@ -236,6 +246,19 @@
return false;
}
+ public bool IsIncidentDungeon()
+ {
+ if (AdventureStage.Instance.IsInAdventureStage)
+ {
+ return true;
+ }
+ if (IsIncidentDungeon(PlayerDatas.Instance.baseData.MapID))
+ {
+ return true;
+ }
+ return false;
+ }
+
public void DisplayErrorRemind(int error)
{
switch (error)
--
Gitblit v1.8.0