From a3b6fcbe18ca84a4be475565df5e11076f415ad2 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 30 八月 2018 15:56:22 +0800
Subject: [PATCH] 2998 仙盟宴会界面修改和逻辑修改(添加采集完打开聊天界面)

---
 System/Chat/ChatCenter.cs |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/System/Chat/ChatCenter.cs b/System/Chat/ChatCenter.cs
index 1b48648..4bc64af 100644
--- a/System/Chat/ChatCenter.cs
+++ b/System/Chat/ChatCenter.cs
@@ -23,6 +23,7 @@
             VoiceHttpRequest.Instance.samplesDecodecComplete += SamplesDecodecComplete;
             WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent;
             StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
+            PlayerRealmData.OnPlayerCollectEnd += OnPlayerCollectEnd;
         }
 
         public override void UnInit()
@@ -160,6 +161,11 @@
             if (!isDungeon)
             {
                 ClearAllVoice();
+                openChatAfterCollect = false;
+            }
+            if (PlayerDatas.Instance.baseData.MapID != 31230)
+            {
+                openChatAfterCollect = false;
             }
         }
 
@@ -694,6 +700,10 @@
         private void WindowAfterOpenEvent(Window win)
         {
             CheckChatFloatOpen();
+            if (win is MainInterfaceWin)
+            {
+                CheckOpenChatAfterCollect();
+            }
         }
 
         private void CheckChatFloatOpen()
@@ -716,6 +726,44 @@
         }
         #endregion
 
+        #region 浠欑洘瀹翠細閲囬泦瀹屽悗鎵撳紑鑱婂ぉ鐣岄潰
+        bool openChatAfterCollect = false;
+        private void OnPlayerCollectEnd(int playerId, byte type)
+        {
+            if (playerId == PlayerDatas.Instance.baseData.PlayerID
+                && type == 0 && PlayerDatas.Instance.baseData.MapID == 31230)
+            {
+                openChatAfterCollect = true;
+            }
+            CheckOpenChatAfterCollect();
+        }
+
+        void CheckOpenChatAfterCollect()
+        {
+            if (!openChatAfterCollect)
+            {
+                return;
+            }
+            if (PlayerDatas.Instance.baseData.MapID != 31230)
+            {
+                return;
+            }
+            if (!WindowCenter.Instance.Open<MainInterfaceWin>()
+                || WindowCenter.Instance.ExitAnyFullScreenOrMaskWin()
+                || StageManager.Instance.isLoading
+                || NewBieCenter.Instance.inGuiding)
+            {
+                return;
+            }
+            openChatAfterCollect = false;
+            if (!WindowCenter.Instance.CheckOpen<ChatWin>())
+            {
+                ChatCtrl.Inst.presentChatType = ChatInfoType.Fairy;
+                WindowCenter.Instance.Open<ChatWin>();
+            }
+        }
+        #endregion
+
     }
 }
 

--
Gitblit v1.8.0