public void Receive(INetworkPacketResolver resolver, BinaryReader reader, object caller) { if (!PreReceive(resolver, reader, caller)) { return; } resolver.Mapper.GetMapping(GetType()).Read(this, reader); PostReceive(resolver, reader, caller); }
public void Send(INetworkPacketResolver resolver, BinaryWriter writer, object caller) { if (!PreSend(resolver, writer, caller)) { return; } writer.Write(Id); resolver.Mapper.GetMapping(GetType()).Write(this, writer); PostSend(resolver, writer, caller); }
protected virtual void PostReceive(INetworkPacketResolver resolver, BinaryReader reader, object caller) { }
protected virtual bool PreReceive(INetworkPacketResolver resolver, BinaryReader reader, object caller) => true;
protected virtual void PostSend(INetworkPacketResolver resolver, BinaryWriter writer, object caller) { }
protected virtual bool PreSend(INetworkPacketResolver resolver, BinaryWriter writer, object caller) => true;