diff --git a/Barotrauma/BarotraumaClient/BarotraumaClient.csproj b/Barotrauma/BarotraumaClient/BarotraumaClient.csproj
index 5fe307587..9fa825506 100644
--- a/Barotrauma/BarotraumaClient/BarotraumaClient.csproj
+++ b/Barotrauma/BarotraumaClient/BarotraumaClient.csproj
@@ -172,6 +172,7 @@
+
diff --git a/Barotrauma/BarotraumaClient/Source/Networking/ChatMessage.cs b/Barotrauma/BarotraumaClient/Source/Networking/ChatMessage.cs
new file mode 100644
index 000000000..4ca7e1297
--- /dev/null
+++ b/Barotrauma/BarotraumaClient/Source/Networking/ChatMessage.cs
@@ -0,0 +1,55 @@
+using Lidgren.Network;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Barotrauma.Networking
+{
+ partial class ChatMessage
+ {
+ public void ClientWrite(NetOutgoingMessage msg)
+ {
+ msg.Write((byte)ClientNetObject.CHAT_MESSAGE);
+ msg.Write(NetStateID);
+ msg.Write(Text);
+ }
+
+ public static void ClientRead(NetIncomingMessage msg)
+ {
+ UInt16 ID = msg.ReadUInt16();
+ ChatMessageType type = (ChatMessageType)msg.ReadByte();
+ string txt = msg.ReadString();
+
+ string senderName = "";
+ Character senderCharacter = null;
+ bool hasSenderCharacter = msg.ReadBoolean();
+ if (hasSenderCharacter)
+ {
+ senderCharacter = Entity.FindEntityByID(msg.ReadUInt16()) as Character;
+ if (senderCharacter != null)
+ {
+ senderName = senderCharacter.Name;
+ }
+ }
+ else
+ {
+ senderName = msg.ReadString();
+ }
+
+ if (NetIdUtils.IdMoreRecent(ID, LastID))
+ {
+ if (type == ChatMessageType.MessageBox)
+ {
+ new GUIMessageBox("", txt);
+ }
+ else
+ {
+ GameMain.Client.AddChatMessage(txt, type, senderName, senderCharacter);
+ }
+ LastID = ID;
+ }
+ }
+ }
+}
diff --git a/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs b/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs
index 828a8cca9..910d7ca20 100644
--- a/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs
+++ b/Barotrauma/BarotraumaShared/Source/Networking/ChatMessage.cs
@@ -7,10 +7,10 @@ namespace Barotrauma.Networking
{
enum ChatMessageType
{
- Default, Error, Dead, Server, Radio, Private
- }
+ Default, Error, Dead, Server, Radio, Private, MessageBox
+ }
- class ChatMessage
+ partial class ChatMessage
{
public const int MaxLength = 150;
@@ -129,13 +129,6 @@ namespace Barotrauma.Networking
return sb.ToString();
}
- public void ClientWrite(NetOutgoingMessage msg)
- {
- msg.Write((byte)ClientNetObject.CHAT_MESSAGE);
- msg.Write(NetStateID);
- msg.Write(Text);
- }
-
public static void ServerRead(NetIncomingMessage msg, Client c)
{
UInt16 ID = msg.ReadUInt16();
@@ -242,33 +235,5 @@ namespace Barotrauma.Networking
}
}
- public static void ClientRead(NetIncomingMessage msg)
- {
- UInt16 ID = msg.ReadUInt16();
- ChatMessageType type = (ChatMessageType)msg.ReadByte();
- string txt = msg.ReadString();
-
- string senderName = "";
- Character senderCharacter = null;
- bool hasSenderCharacter = msg.ReadBoolean();
- if (hasSenderCharacter)
- {
- senderCharacter = Entity.FindEntityByID(msg.ReadUInt16()) as Character;
- if (senderCharacter != null)
- {
- senderName = senderCharacter.Name;
- }
- }
- else
- {
- senderName = msg.ReadString();
- }
-
- if (NetIdUtils.IdMoreRecent(ID, LastID))
- {
- GameMain.Client.AddChatMessage(txt, type, senderName, senderCharacter);
- LastID = ID;
- }
- }
}
}