Add a few extension methods to ease netmessage serialization.

This commit is contained in:
Pieter-Jan Briers
2018-11-21 20:20:13 +01:00
parent 8c093b827e
commit 1fc18c3538
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
using Lidgren.Network;
using SS14.Shared.Map;
using SS14.Shared.Maths;
namespace SS14.Shared.Network
{
public static class NetMessageExt
{
public static GridLocalCoordinates ReadGridLocalCoordinates(this NetIncomingMessage message)
{
var gridId = new GridId(message.ReadInt32());
var vector = message.ReadVector2();
return new GridLocalCoordinates(vector, gridId);
}
public static void Write(this NetOutgoingMessage message, GridLocalCoordinates coordinates)
{
message.Write(coordinates.GridID.Value);
message.Write(coordinates.Position);
}
public static Vector2 ReadVector2(this NetIncomingMessage message)
{
var x = message.ReadFloat();
var y = message.ReadFloat();
return new Vector2(x, y);
}
public static void Write(this NetOutgoingMessage message, Vector2 vector2)
{
message.Write(vector2.X);
message.Write(vector2.Y);
}
}
}

View File

@@ -220,6 +220,7 @@
<Compile Include="Network\NetChannel.cs" />
<Compile Include="Network\NetMessage.cs" />
<Compile Include="Network\NetManager.cs" />
<Compile Include="Network\NetMessageExt.cs" />
<Compile Include="Network\NetSessionId.cs" />
<Compile Include="Network\StringTable.cs" />
<Compile Include="Physics\PhysicsManager.cs" />