From a974a2621a6dcb90b8fe52b23d075814873c0960 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 23 十月 2018 20:53:49 +0800
Subject: [PATCH] Merge branch 'master' into leonard
---
System/Chat/ChatCtrl.cs | 55 +++++++++++++++++++++++++++++++------------------------
1 files changed, 31 insertions(+), 24 deletions(-)
diff --git a/System/Chat/ChatCtrl.cs b/System/Chat/ChatCtrl.cs
index a592d6f..e964c81 100644
--- a/System/Chat/ChatCtrl.cs
+++ b/System/Chat/ChatCtrl.cs
@@ -312,13 +312,22 @@
switch (type)
{
case ChatInfoType.World:
+ case ChatInfoType.Fairy:
+ if (IsAssitChat(msg) != 0)
+ {
+ teamModel.RequestAssistAutoMatch();
+ }
+ break;
+ }
+
+ switch (type)
+ {
+ case ChatInfoType.World:
{
C0201_tagCTalkGong chatPack = new C0201_tagCTalkGong();
chatPack.Len = (ushort)GetUTF8InfoLen(msg);
chatPack.Content = msg;
GameNetSystem.Instance.SendInfo(chatPack);
-
- CheckSendAssitChat(msg);
}
break;
case ChatInfoType.Area:
@@ -358,8 +367,6 @@
chatPack.Len = (ushort)GetUTF8InfoLen(msg);
chatPack.Content = msg;
GameNetSystem.Instance.SendInfo(chatPack);
-
- CheckSendAssitChat(msg);
}
break;
case ChatInfoType.Trumpet:
@@ -403,9 +410,10 @@
public void RevChatInfo(H0201_tagTalkGong vNetData)
{
ChatData chatData = null;
+ var content = vNetData.Content;
if (IsInviteChat(vNetData.Content))
{
- string content = InviteRegex.Replace(vNetData.Content, "");
+ content = InviteRegex.Replace(vNetData.Content, "");
if (teamModel.myTeam.GetIndexOfMember((int)vNetData.PlayerID) != -1)
{
content = StringUtility.Contact("<color=#f8983b>", vNetData.Name, "</color>", "锛�", content);
@@ -418,7 +426,11 @@
KeepChatInfo(chatData);
return;
}
- chatData = new ChatWorldData(vNetData.Content, (int)vNetData.PlayerID, vNetData.Name, vNetData.Extras);
+ if (IsAssitChat(content, true) == 2 && vNetData.PlayerID != PlayerDatas.Instance.baseData.PlayerID)
+ {
+ content = StringUtility.Contact(content, Language.Get("InviteTeam", vNetData.PlayerID));
+ }
+ chatData = new ChatWorldData(content, (int)vNetData.PlayerID, vNetData.Name, vNetData.Extras);
KeepChatInfo(chatData);
}
/// <summary>
@@ -446,7 +458,12 @@
/// <param name="vNetData"></param>
public void RevChatInfo(H0203_tagTalkBang vNetData)
{
- ChatData chatData = new ChatFamilyData(vNetData.Content, (int)vNetData.PlayerID, vNetData.Name, vNetData.Extras);
+ var content = vNetData.Content;
+ if (IsAssitChat(content, true) == 1 && vNetData.PlayerID != PlayerDatas.Instance.baseData.PlayerID)
+ {
+ content = StringUtility.Contact(content, Language.Get("InviteTeam", vNetData.PlayerID));
+ }
+ ChatData chatData = new ChatFamilyData(content, (int)vNetData.PlayerID, vNetData.Name, vNetData.Extras);
KeepChatInfo(chatData);
ReceiveNewChat(ChatInfoType.Fairy);
}
@@ -955,36 +972,26 @@
}
public bool needCheckAssitChat { get; set; }
- void CheckSendAssitChat(string message)
+ int IsAssitChat(string message, bool force = false)
{
- if (needCheckAssitChat)
+ int assitChat = 0;
+ if (needCheckAssitChat || force)
{
- bool requestTeam = false;
for (int i = 0; i < 2; i++)
{
if (message.Equals(Language.Get(realmRandomChats[i])))
{
- requestTeam = true;
+ assitChat = 1;
break;
}
-
- var content = message;
- if (i == 1)
+ if (message.Equals(Language.Get(dungeonRandomChats[i])))
{
- content = Regex.Replace(content, "[0-9]+", "{0}");
- }
-
- if (content.Equals(Language.Get(dungeonRandomChats[i])))
- {
- requestTeam = true;
+ assitChat = 2;
break;
}
- }
- if (requestTeam)
- {
- teamModel.RequestAssistAutoMatch();
}
}
+ return assitChat;
}
#endregion
--
Gitblit v1.8.0