namespace Barotrauma.Networking { interface INetSerializable { } /// /// Interface for entities that the clients can send events to the server /// interface IClientSerializable : INetSerializable { #if CLIENT void ClientEventWrite(IWriteMessage msg, NetEntityEvent.IData extraData = null); #endif #if SERVER void ServerEventRead(IReadMessage msg, Client c); #endif } /// /// Interface for entities that the server can send events to the clients /// interface IServerSerializable : INetSerializable { #if SERVER void ServerEventWrite(IWriteMessage msg, Client c, NetEntityEvent.IData extraData = null); #endif #if CLIENT void ClientEventRead(IReadMessage msg, float sendingTime); #endif } /// /// Interface for entities that handle ServerNetObject.ENTITY_POSITION /// interface IServerPositionSync : IServerSerializable { #if SERVER void ServerWritePosition(ReadWriteMessage tempBuffer, Client c); #endif #if CLIENT void ClientReadPosition(IReadMessage msg, float sendingTime); #endif } }