18 lines
637 B
C#
18 lines
637 B
C#
using LiteNetLib.Utils;
|
|
|
|
namespace Syntriax.Engine.Network.Abstract;
|
|
|
|
public interface INetworkEntity
|
|
{
|
|
event OnNetworkIdChangedDelegate? OnNetworkIdChanged;
|
|
|
|
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;
|
|
}
|