From e37f7e2c018abc3ce93dc793d2379befb20bb330 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 15 一月 2019 16:19:53 +0800
Subject: [PATCH] 5725【1.5】跨服聊天

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

diff --git a/System/Chat/ChatCtrl.cs b/System/Chat/ChatCtrl.cs
index 4c30bbe..e359535 100644
--- a/System/Chat/ChatCtrl.cs
+++ b/System/Chat/ChatCtrl.cs
@@ -170,6 +170,7 @@
     {
         chatOpenDics.Add(ChatInfoType.System, true);
         chatOpenDics.Add(ChatInfoType.World, true);
+        chatOpenDics.Add(ChatInfoType.CrossServer, true);
         chatOpenDics.Add(ChatInfoType.Area, true);
         chatOpenDics.Add(ChatInfoType.Team, true);
         chatOpenDics.Add(ChatInfoType.Invite, true);
@@ -239,6 +240,9 @@
                     break;
                 case ChatInfoType.Area:
                     channelName = Language.Get("ChatType_Area");
+                    break;
+                case ChatInfoType.CrossServer:
+                    channelName = Language.Get("ChatType_CrossServer");
                     break;
                 case ChatInfoType.Team:
                     channelName = Language.Get("ChatType_Team");
@@ -339,6 +343,21 @@
                      case ChatInfoType.Area:
                          {
                              C0207_tagCTalkArea chatPack = new C0207_tagCTalkArea();
+                             chatPack.Len = (ushort)GetUTF8InfoLen(msg);
+                             chatPack.Content = msg;
+                             if (CrossServerUtility.IsCrossServer())
+                             {
+                                 GameNetSystem.Instance.SendToCrossServer(chatPack);
+                             }
+                             else
+                             {
+                                 GameNetSystem.Instance.SendInfo(chatPack);
+                             }
+                         }
+                         break;
+                     case ChatInfoType.CrossServer:
+                         {
+                             C0208_tagCTalkCountry chatPack = new C0208_tagCTalkCountry();
                              chatPack.Len = (ushort)GetUTF8InfoLen(msg);
                              chatPack.Content = msg;
                              GameNetSystem.Instance.SendInfo(chatPack);
@@ -458,6 +477,22 @@
         LocalChatHistory.Save(chatData as ChatUeseData);
         KeepChatInfo(chatData);
     }
+
+    /// <summary>
+    /// 璺ㄦ湇鑱婂ぉ
+    /// </summary>
+    /// <param name="package"></param>
+    public void RevChatInfo(H0208_tagTalkCountry package)
+    {
+        if (friendModel.GetFirendInfo(package.PlayerID, (byte)GroupType.Balcklist) != null)//榛戝悕鍗曟嫤鎴�
+        {
+            return;
+        }
+        ChatData chatData = new ChatCrossServerData(package.Content, (int)package.PlayerID, package.Name, package.Extras);
+        LocalChatHistory.Save(chatData as ChatUeseData);
+        KeepChatInfo(chatData);
+    }
+
     /// <summary>
     /// 鍠囧彮鍠婅瘽
     /// </summary>
@@ -984,6 +1019,7 @@
         chatOpenDics[ChatInfoType.System] = ChatSetting.Instance.GetBool(ChatBoolType.ChannelSystem);
         chatOpenDics[ChatInfoType.Team] = ChatSetting.Instance.GetBool(ChatBoolType.ChannelTeam);
         chatOpenDics[ChatInfoType.Trumpet] = ChatSetting.Instance.GetBool(ChatBoolType.ChannelBugle);
+        chatOpenDics[ChatInfoType.CrossServer] = true;
     }
     #endregion
 
@@ -1165,6 +1201,7 @@
     Trumpet,//鍠囧彮
     Fairy,//浠欑洘
     Friend,//绉佽亰
+    CrossServer,//璺ㄦ湇
     FairyQuestion,
     FairyTip,
     TeamTip,

--
Gitblit v1.8.0