feat: Test Network

This commit is contained in:
2024-07-16 22:50:16 +03:00
parent 91d301677f
commit c28568d0cb
8 changed files with 56 additions and 110 deletions

View File

@@ -1,5 +1,4 @@
using LiteNetLib;
using LiteNetLib.Utils;
namespace Syntriax.Engine.Network.Abstract;
@@ -10,10 +9,4 @@ public interface INetworkCommunicator
void PollEvents();
void Stop();
void RegisterEntityPacketListener<T>(INetworkEntity networkEntity, EntityPacketReceivedDelegate onPacketReceived) where T : INetSerializable;
void UnregisterEntityPacketListener<T>(INetworkEntity networkEntity, EntityPacketReceivedDelegate onPacketReceived) where T : INetSerializable;
void SendEntityPacket<T>(INetworkEntity networkEntity, T packet, params NetPeer[] netPeer) where T : INetSerializable;
delegate void EntityPacketReceivedDelegate(INetworkEntity networkEntity, object packet, NetPeer netPeer);
}

View File

@@ -1,5 +1,3 @@
using LiteNetLib.Utils;
namespace Syntriax.Engine.Network.Abstract;
public interface INetworkEntity
@@ -9,9 +7,4 @@ public interface INetworkEntity
uint NetworkId { get; set; }
delegate void OnNetworkIdChangedDelegate(INetworkEntity sender, uint previousId);
delegate void PacketReceivedDelegate(INetworkEntity entity, object packet);
void RegisterPacketListener<T>(PacketReceivedDelegate onPacketReceived) where T : INetSerializable;
void UnregisterPacketListener<T>(PacketReceivedDelegate onPacketReceived) where T : INetSerializable;
void SendPacket<T>(T packet) where T : INetSerializable;
}

View File

@@ -1,21 +1,7 @@
using LiteNetLib.Utils;
namespace Syntriax.Engine.Network.Abstract;
public class NetworkPacket<T>()
: INetSerializable
where T : INetSerializable
public class NetworkPacket<T>
{
public uint NetworkId = 0;
public T Data = default!;
public void Deserialize(NetDataReader reader)
{
NetworkId = reader.GetUInt();
}
public void Serialize(NetDataWriter writer)
{
writer.Put(NetworkId);
}
public uint NetworkId { get; set; } = 0;
public T Data { get; set; } = default!;
}