Merge remote-tracking branch 'refs/remotes/origin/master'
Conflicts: Subsurface/Barotrauma.csproj Subsurface/Source/Characters/AI/EnemyAIController.cs Subsurface/Source/Characters/AICharacter.cs Subsurface/Source/Characters/Character.cs Subsurface/Source/Items/Components/DockingPort.cs Subsurface/Source/Items/Components/Door.cs Subsurface/Source/Items/Item.cs Subsurface/Source/Networking/GameClient.cs Subsurface/Source/Networking/GameServer.cs Subsurface/Source/Physics/PhysicsBody.cs
This commit is contained in:
@@ -115,21 +115,46 @@ namespace Barotrauma.Networking
|
||||
|
||||
public void WriteNetworkMessage(NetOutgoingMessage msg)
|
||||
{
|
||||
msg.WriteRangedInteger(0, Enum.GetValues(typeof(ChatMessageType)).Length, (byte)Type);
|
||||
msg.Write(Sender == null ? (ushort)0 : Sender.ID);
|
||||
msg.Write(SenderName);
|
||||
msg.WriteRangedInteger(0, Enum.GetValues(typeof(ChatMessageType)).Length, (byte)Type);
|
||||
if (GameMain.Server != null)
|
||||
{
|
||||
msg.Write(Sender == null ? (ushort)0 : Sender.ID);
|
||||
msg.Write(SenderName);
|
||||
}
|
||||
|
||||
msg.Write(Text);
|
||||
}
|
||||
|
||||
public static ChatMessage ReadNetworkMessage(NetBuffer msg)
|
||||
{
|
||||
ChatMessageType type = (ChatMessageType)msg.ReadRangedInteger(0, Enum.GetValues(typeof(ChatMessageType)).Length);
|
||||
ushort senderId = msg.ReadUInt16();
|
||||
string senderName = msg.ReadString();
|
||||
ChatMessageType type = (ChatMessageType)msg.ReadRangedInteger(0, Enum.GetValues(typeof(ChatMessageType)).Length);
|
||||
string senderName="";
|
||||
Character character = null;
|
||||
if (GameMain.Server == null)
|
||||
{
|
||||
ushort senderId = msg.ReadUInt16();
|
||||
character = Entity.FindEntityByID(senderId) as Character;
|
||||
senderName = msg.ReadString();
|
||||
}
|
||||
else
|
||||
{
|
||||
NetIncomingMessage inc = msg as NetIncomingMessage;
|
||||
if (inc == null) return null;
|
||||
Client sender = GameMain.Server.ConnectedClients.Find(x => x.Connection == inc.SenderConnection);
|
||||
if (sender == null) return null;
|
||||
character = sender.Character;
|
||||
if (character != null)
|
||||
{
|
||||
senderName = character.Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
senderName = sender.name;
|
||||
}
|
||||
}
|
||||
string text = msg.ReadString();
|
||||
|
||||
return new ChatMessage(senderName, text, type, Entity.FindEntityByID(senderId) as Character);
|
||||
return new ChatMessage(senderName, text, type, character);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user