Reimplemented chat range & radio messages. Each client now has their own chatMsgQueue, so all chat messages don't have to be sent to all clients.

This commit is contained in:
Regalis
2017-01-07 19:22:48 +02:00
parent 44cbd0d9bf
commit 402c745fc3
6 changed files with 182 additions and 77 deletions

View File

@@ -40,10 +40,11 @@ namespace Barotrauma.Networking
}
public static UInt32 LastID = 0;
public UInt32 netStateID = 0;
public UInt32 NetStateID
{
get { return netStateID; }
get;
set;
}
private ChatMessage(string senderName, string text, ChatMessageType type, Character sender)
@@ -56,12 +57,6 @@ namespace Barotrauma.Networking
SenderName = senderName;
TextWithSender = string.IsNullOrWhiteSpace(senderName) ? text : senderName + ": " + text;
if (GameMain.Server != null)
{
LastID++;
netStateID = LastID;
}
}
public static ChatMessage Create(string senderName, string text, ChatMessageType type, Character sender)
@@ -140,7 +135,8 @@ namespace Barotrauma.Networking
if (c.lastSentChatMsgID < ID)
{
//this chat message is new to the server
GameMain.Server.AddChatMessage(txt, ChatMessageType.Default, c.name);
GameMain.Server.SendChatMessage(txt, null, c);
//GameMain.Server.AddChatMessage(txt, ChatMessageType.Default, c.name);
c.lastSentChatMsgID = ID;
}
}