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:
juanjp600
2016-08-30 18:04:49 -03:00
63 changed files with 2787 additions and 1927 deletions

View File

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