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; - } - } } }