Interface IGhostSerializer
Interface that expose a raw, unsafe interface to copy all the component ghost fields to the snapshot buffer. It is mostly for internal use by code-gen and should not be used direcly nor implemented by user code.
Namespace: Unity.NetCode
Assembly: Unity.NetCode.dll
Syntax
public interface IGhostSerializer
Properties
ChangeMaskSizeInBits
The number of bits necessary for change mask
Declaration
int ChangeMaskSizeInBits { get; }
Property Value
Type | Description |
---|---|
int |
HasGhostFields
True if the serialized component has some serialized fields.
Declaration
bool HasGhostFields { get; }
Property Value
Type | Description |
---|---|
bool |
SizeInSnapshot
The size of the serialized data in the snapshot buffer.
Declaration
int SizeInSnapshot { get; }
Property Value
Type | Description |
---|---|
int |
Methods
CalculateChangeMask(IntPtr, IntPtr, IntPtr, int)
Compute the change mask for the snapshot in respect to the given baseline
Declaration
void CalculateChangeMask(IntPtr snapshot, IntPtr baseline, IntPtr changeMaskData, int startOffset)
Parameters
CopyFromSnapshot(in GhostDeserializerState, IntPtr, float, float, IntPtr, IntPtr)
Copy/Convert the snapshot to component. Perform interpolation if necessary.
Declaration
void CopyFromSnapshot(in GhostDeserializerState serializerState, IntPtr component, float snapshotInterpolationFactor, float snapshotInterpolationFactorRaw, IntPtr snapshotBefore, IntPtr snapshotAfter)
Parameters
Type | Name | Description |
---|---|---|
Ghost |
serializerState | |
Int |
component | |
float | snapshotInterpolationFactor | |
float | snapshotInterpolationFactorRaw | |
Int |
snapshotBefore | |
Int |
snapshotAfter |
CopyToSnapshot(in GhostSerializerState, IntPtr, IntPtr)
Copy/Convert the component data to the snapshot.
Declaration
void CopyToSnapshot(in GhostSerializerState serializerState, IntPtr snapshot, IntPtr component)
Parameters
Type | Name | Description |
---|---|---|
Ghost |
serializerState | |
Int |
snapshot | |
Int |
component |
Deserialize(ref DataStreamReader, in StreamCompressionModel, IntPtr, int, IntPtr, IntPtr)
Read the data from the reader
stream into the snapshot data.
Declaration
void Deserialize(ref DataStreamReader reader, in StreamCompressionModel compressionModel, IntPtr changeMask, int startOffset, IntPtr snapshot, IntPtr baseline)
Parameters
Type | Name | Description |
---|---|---|
Data |
reader | |
Stream |
compressionModel | |
Int |
changeMask | |
int | startOffset | |
Int |
snapshot | |
Int |
baseline |
PredictDelta(IntPtr, IntPtr, IntPtr, ref GhostDeltaPredictor)
Calculate the predicted snapshot from the two baseline
Declaration
void PredictDelta(IntPtr snapshotData, IntPtr baseline1Data, IntPtr baseline2Data, ref GhostDeltaPredictor predictor)
Parameters
Type | Name | Description |
---|---|---|
Int |
snapshotData | |
Int |
baseline1Data | |
Int |
baseline2Data | |
Ghost |
predictor |
ReportPredictionErrors(IntPtr, IntPtr, IntPtr, int)
Calculate the prediction error for this component.
Declaration
void ReportPredictionErrors(IntPtr component, IntPtr backup, IntPtr errorsList, int errorsCount)
Parameters
RestoreFromBackup(IntPtr, IntPtr)
Restore the component data from the prediction backup buffer. Only serialised fields are restored.
Declaration
void RestoreFromBackup(IntPtr component, IntPtr backup)
Parameters
Serialize(IntPtr, IntPtr, IntPtr, int, ref DataStreamWriter, in StreamCompressionModel)
Serialise the snapshot dato to the writer
based on the calculated changemask.
Expecte the changemask bits be all already set.
Declaration
void Serialize(IntPtr snapshot, IntPtr baseline, IntPtr changeMaskData, int startOffset, ref DataStreamWriter writer, in StreamCompressionModel compressionModel)
Parameters
Type | Name | Description |
---|---|---|
Int |
snapshot | |
Int |
baseline | |
Int |
changeMaskData | |
int | startOffset | |
Data |
writer | |
Stream |
compressionModel |
SerializeCombined(IntPtr, IntPtr, IntPtr, int, ref DataStreamWriter, in StreamCompressionModel)
Serialise the snapshot data to the writer
and calculate the current changemask.
Declaration
void SerializeCombined(IntPtr snapshot, IntPtr baseline, IntPtr changeMaskData, int startOffset, ref DataStreamWriter writer, in StreamCompressionModel compressionModel)
Parameters
Type | Name | Description |
---|---|---|
Int |
snapshot | |
Int |
baseline | |
Int |
changeMaskData | |
int | startOffset | |
Data |
writer | |
Stream |
compressionModel |
SerializeWithPredictedBaseline(IntPtr, IntPtr, IntPtr, IntPtr, ref GhostDeltaPredictor, IntPtr, int, ref DataStreamWriter, in StreamCompressionModel)
Serialise the snapshot dato to the writer
and calculate the current changemask.
Declaration
void SerializeWithPredictedBaseline(IntPtr snapshot, IntPtr baseline0, IntPtr baseline1, IntPtr baseline2, ref GhostDeltaPredictor predictor, IntPtr changeMaskData, int startOffset, ref DataStreamWriter writer, in StreamCompressionModel compressionModel)