Interface ICommandDataSerializer<T>
Interface that must be implemented to serialize/deserialize ICommandData. Usually commands serialization / deserialization is automatically generated, unless a NetCodeDisableCommandCodeGenAttribute is added to the command struct to opt-in for manual serializaton. If you enable manual serializaton, you must create a public struct that implement the ICommandDataSerializer for your type, as well as the necessary send and received systems in order to have your RPC sent and received.
Namespace: Unity.NetCode
Syntax
public interface ICommandDataSerializer<T>
where T : struct, ICommandData
Type Parameters
Name | Description |
---|---|
T |
Methods
Deserialize(ref DataStreamReader, in RpcDeserializerState, ref T)
Deserialize a single command from the data stream.
Declaration
void Deserialize(ref DataStreamReader reader, in RpcDeserializerState state, ref T data)
Parameters
Type | Name | Description |
---|---|---|
DataStreamReader | reader | An instance of a DataStreamWriter |
RpcDeserializerState | state | An instance of RpcSerializerState used to carry some additional data and accessor for serializing the command field type. In particular, used to serialize entity |
T | data |
Deserialize(ref DataStreamReader, in RpcDeserializerState, ref T, in T, StreamCompressionModel)
Deserialize a single command from the data stream using delta compression
Declaration
void Deserialize(ref DataStreamReader reader, in RpcDeserializerState state, ref T data, in T baseline, StreamCompressionModel compressionModel)
Parameters
Type | Name | Description |
---|---|---|
DataStreamReader | reader | An instance of a DataStreamWriter |
RpcDeserializerState | state | An instance of RpcSerializerState used to carry some additional data and accessor for serializing the command field type. In particular, used to serialize entity |
T | data | |
T | baseline | |
StreamCompressionModel | compressionModel |
Serialize(ref DataStreamWriter, in RpcSerializerState, in T)
Serialize the command to the data stream.
Declaration
void Serialize(ref DataStreamWriter writer, in RpcSerializerState state, in T data)
Parameters
Type | Name | Description |
---|---|---|
DataStreamWriter | writer | An instance of a DataStreamWriter |
RpcSerializerState | state | An instance of RpcSerializerState used to carry some additional data and accessor for serializing the command field type. In particular, used to serialize entity |
T | data |
Serialize(ref DataStreamWriter, in RpcSerializerState, in T, in T, StreamCompressionModel)
Serialize the command to the data stream using delta compression.
Declaration
void Serialize(ref DataStreamWriter writer, in RpcSerializerState state, in T data, in T baseline, StreamCompressionModel compressionModel)
Parameters
Type | Name | Description |
---|---|---|
DataStreamWriter | writer | An instance of a DataStreamWriter |
RpcSerializerState | state | An instance of RpcSerializerState used to carry some additional data and accessor for serializing the command field type. In particular, used to serialize entity |
T | data | |
T | baseline | |
StreamCompressionModel | compressionModel |