20 lines
776 B
C#
20 lines
776 B
C#
|
using LiteNetLib;
|
||
|
using LiteNetLib.Utils;
|
||
|
|
||
|
namespace Syntriax.Engine.Network.Abstract;
|
||
|
|
||
|
public interface INetworkCommunicator
|
||
|
{
|
||
|
EventBasedNetListener Listener { get; }
|
||
|
NetManager Manager { get; }
|
||
|
|
||
|
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);
|
||
|
}
|