27 lines
		
	
	
		
			668 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			668 B
		
	
	
	
		
			C#
		
	
	
	
	
	
using LiteNetLib.Utils;
 | 
						|
 | 
						|
using Engine.Core;
 | 
						|
 | 
						|
namespace Engine.Systems.Network.Packers;
 | 
						|
 | 
						|
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);
 | 
						|
    }
 | 
						|
}
 |