Mirage.Serialization
Classes
AnglePacker
BitCountAttribute
Tells weaver how many bits to sue for field Only works with integer fields (byte, int, ulong, enums etc)
NOTE: bits are truncated when using this, so signed values will lose their sign. Use as well if value might be negative
Also See: Bit Packing Documentation
BitCountFromRangeAttribute
Calculates bitcount from then given min/max values and then packs using Also See: Bit Packing Documentation
BitHelper
BitMask
CollectionExtensions
CompressedExtensions
FloatPackAttribute
Packs a float field, clamped from -max to +max, with Also See: Bit Packing Documentation
FloatPacker
Helps compresses a float into a reduced number of bits
FromBitCount
The max value for N number of bits
GenericTypesSerializationExtensions
MessageIdCache<T>
Class that will cache the ID for type T avoids needing to calculate the stable hash of the full name each time a message is sent
MessagePacker
MirageNetworkReader
NetworkReader but has a ObjectLocator field that can be used by Reader functions to fetch NetworkIdentity
MirageTypesExtensions
NetworkReader
Bit writer, writes values to a buffer on a bit level Use to reduce memory allocation
NetworkReaderPool
Holds static reference to of
NetworkWriter
Bit writer, writes values to a buffer on a bit level Use to reduce memory allocation
NetworkWriterPool
PackedExtensions
PooledNetworkReader
NetworkReader to be used with
PooledNetworkWriter
NetworkWriter to be used with
QuaternionPackAttribute
QuaternionPacker
Reader<T>
a class that holds readers for the different types Note that c# creates a different static variable for each type This will be populated by the weaver
StringExtensions
SystemTypesExtensions
UnityTypesExtensions
VarDoublePacker
Packs a double using and
VarFloatPacker
Packs a float using and
VarIntAttribute
Tells weaver the max range for small, medium and large values. Allows small values to be sent using less bits Only works with integer fields (byte, int, ulong, enums etc)
VarIntBlocksAttribute
Tells weaver the block size to use for packing int values Allows small values to be sent using less bits Only works with integer fields (byte, int, ulong, enums etc)
VarIntBlocksPacker
VarIntPacker
VarVector2Packer
Packs a vector3 using and
VarVector3Packer
Packs a vector3 using and
Vector2PackAttribute
Vector2Packer
Vector3PackAttribute
Vector3Packer
WeaverIgnoreAttribute
Tells Weaver to ignore an Extension method
WeaverSerializeCollectionAttribute
Tells weaver to use this method to write a generic type or collection Can also be used for other generic types like Nullable
WeaverWriteAsGenericAttribute
Tells Weaver to serialize a type as generic instead of creating a custom functions.
Use this when you have created and assigned your own Read/Write functions or when you can't use extension methods for types and need to manually assign them.
This will cause Weaver to use the and generic functions instead of creating new ones. You must set these functions manually when using this attribute.
Writer<T>
a class that holds writers for the different types Note that c# creates a different static variable for each type This will be populated by the weaver
ZigZag
See zigzag encoding
ZigZagEncodeAttribute
Used along size to encodes a integer value using so that both positive and negative values can be sent Also See: Bit Packing Documentation