29 lines
705 B
C#

using System.Collections.Generic;
using LiteNetLib.Utils;
using Syntriax.Engine.Core;
namespace Syntriax.Engine.Network;
internal static class Shape2DNetPacker
{
internal static void Write(NetDataWriter writer, Shape2D data)
{
writer.Put(data.Vertices.Count);
foreach (Vector2D vertex in data.Vertices)
Vector2DNetPacker.Write(writer, vertex);
}
internal static Shape2D Read(NetDataReader reader)
{
int verticesCount = reader.GetInt();
List<Vector2D> vertices = new(verticesCount);
for (int i = 0; i < verticesCount; i++)
vertices.Add(Vector2DNetPacker.Read(reader));
return new Shape2D(vertices);
}
}