Class CollectionExtensions
Inheritance
System.Object
Inherited Members
Show
Syntax
public static class CollectionExtensions
Methods
WriteSpanAndSize(NetworkWriter, Span<Byte>)
Write method for weaver to use
Declaration
public static void WriteSpanAndSize(this NetworkWriter writer, Span<byte> span)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| Span<System.Byte> | span | |
WriteSpanAndSize(NetworkWriter, ReadOnlySpan<Byte>)
Write method for weaver to use
Declaration
public static void WriteSpanAndSize(this NetworkWriter writer, ReadOnlySpan<byte> span)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| ReadOnlySpan<System.Byte> | span | |
WriteBytesAndSize(NetworkWriter, Byte[], Int32, Int32)
For byte arrays with dynamic size, where the reader doesn't know how many will come
Declaration
public static void WriteBytesAndSize(this NetworkWriter writer, byte[] buffer, int offset, int count)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| System.Byte[] | buffer | array or null |
| System.Int32 | offset | |
| System.Int32 | count | |
WriteBytesAndSize(NetworkWriter, Byte[])
Write method for weaver to use
Declaration
public static void WriteBytesAndSize(this NetworkWriter writer, byte[] buffer)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| System.Byte[] | buffer | array or null |
WriteBytesAndSizeSegment(NetworkWriter, ArraySegment<Byte>)
Declaration
public static void WriteBytesAndSizeSegment(this NetworkWriter writer, ArraySegment<byte> buffer)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| System.ArraySegment<System.Byte> | buffer | |
WriteList<T>(NetworkWriter, List<T>)
Declaration
[WeaverSerializeCollection]
public static void WriteList<T>(this NetworkWriter writer, List<T> list)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| System.Collections.Generic.List<T> | list | |
WriteArray<T>(NetworkWriter, T[])
Declaration
public static void WriteArray<T>(this NetworkWriter writer, T[] array)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| {T}[] | array | |
WriteArraySegment<T>(NetworkWriter, ArraySegment<T>)
Declaration
[WeaverSerializeCollection]
public static void WriteArraySegment<T>(this NetworkWriter writer, ArraySegment<T> segment)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| System.ArraySegment<T> | segment | |
WriteDictionary<TKey, TValue>(NetworkWriter, Dictionary<TKey, TValue>)
Declaration
[WeaverSerializeCollection]
public static void WriteDictionary<TKey, TValue>(this NetworkWriter writer, Dictionary<TKey, TValue> dictionary)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| System.Collections.Generic.Dictionary<TKey, TValue> | dictionary | |
WriteSpan<T>(NetworkWriter, Span<T>)
Declaration
[WeaverSerializeCollection]
public static void WriteSpan<T>(this NetworkWriter writer, Span<T> span)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| Span<T> | span | |
WriteReadOnlySpan<T>(NetworkWriter, ReadOnlySpan<T>)
Declaration
[WeaverSerializeCollection]
public static void WriteReadOnlySpan<T>(this NetworkWriter writer, ReadOnlySpan<T> span)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| ReadOnlySpan<T> | span | |
ReadBytesAndSize(NetworkReader)
Declaration
public static byte[] ReadBytesAndSize(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
| Type | Description |
|---|
| System.Byte[] | array or null |
ReadBytesAndSizeSegment(NetworkReader)
Declaration
public static ArraySegment<byte> ReadBytesAndSizeSegment(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
| Type | Description |
|---|
| System.ArraySegment<System.Byte> | |
ReadSpanAndSize(NetworkReader)
Read method for weaver to use
Declaration
public static Span<byte> ReadSpanAndSize(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
| Type | Description |
|---|
| Span<System.Byte> | |
ReadReadOnlySpanAndSize(NetworkReader)
Read method for weaver to use
Declaration
public static ReadOnlySpan<byte> ReadReadOnlySpanAndSize(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
| Type | Description |
|---|
| ReadOnlySpan<System.Byte> | |
ReadBytes(NetworkReader, Int32)
Declaration
public static byte[] ReadBytes(this NetworkReader reader, int count)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
| System.Int32 | count | |
Returns
| Type | Description |
|---|
| System.Byte[] | |
ReadList<T>(NetworkReader)
Declaration
[WeaverSerializeCollection]
public static List<T> ReadList<T>(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
| Type | Description |
|---|
| System.Collections.Generic.List<T> | |
ReadArray<T>(NetworkReader)
Declaration
public static T[] ReadArray<T>(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
ReadArraySegment<T>(NetworkReader)
Declaration
[WeaverSerializeCollection]
public static ArraySegment<T> ReadArraySegment<T>(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
| Type | Description |
|---|
| System.ArraySegment<T> | |
ReadDictionary<TKey, TValue>(NetworkReader)
Declaration
[WeaverSerializeCollection]
public static Dictionary<TKey, TValue> ReadDictionary<TKey, TValue>(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
| Type | Description |
|---|
| System.Collections.Generic.Dictionary<TKey, TValue> | |
ReadSpan<T>(NetworkReader)
Reads a span from the reader.
NOTE: this method allocates a new array internally to hold the data.
Declaration
[WeaverSerializeCollection]
public static Span<T> ReadSpan<T>(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
| Type | Description |
|---|
| Span<T> | A span pointing to a new array with the read data. |
ReadReadOnlySpan<T>(NetworkReader)
Declaration
[WeaverSerializeCollection]
public static ReadOnlySpan<T> ReadReadOnlySpan<T>(this NetworkReader reader)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
Returns
| Type | Description |
|---|
| ReadOnlySpan<T> | |
ReadListNonAlloc<T>(NetworkReader, List<T>, out Boolean)
Reads a list from the reader into a provided list so that no new list is allocated.
This will clear the list before adding the new items.
Declaration
public static void ReadListNonAlloc<T>(this NetworkReader reader, List<T> outList, out bool wasNull)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
| System.Collections.Generic.List<T> | outList | |
| System.Boolean | wasNull | true if the list was null on the wire |
ReadDictionaryNonAlloc<TKey, TValue>(NetworkReader, Dictionary<TKey, TValue>, out Boolean)
Reads a dictionary from the reader into a provided dictionary so that no new dictionary is allocated.
This will clear the dictionary before adding the new items.
Declaration
public static void ReadDictionaryNonAlloc<TKey, TValue>(this NetworkReader reader, Dictionary<TKey, TValue> outDictionary, out bool wasNull)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
| System.Collections.Generic.Dictionary<TKey, TValue> | outDictionary | |
| System.Boolean | wasNull | |
ReadArrayNonAlloc<T>(NetworkReader, T[])
Reads an array from the reader into a provided array so that no new array is allocated.
Declaration
public static int? ReadArrayNonAlloc<T>(this NetworkReader reader, T[] outArray)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
| {T}[] | outArray | Array to be populated with data. Must be large enough to hold all elements. |
Returns
| Type | Description |
|---|
| System.Nullable<System.Int32> | The number of elements read, or null if the array was null when sent |
ReadSpanNonAlloc<T>(NetworkReader, Span<T>)
Reads a span from the reader into a provided span so that no new array is allocated.
Declaration
public static int ReadSpanNonAlloc<T>(this NetworkReader reader, Span<T> outSpan)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
| Span<T> | outSpan | Span to be populated with data. Must be large enough to hold all elements. |
Returns
| Type | Description |
|---|
| System.Int32 | The number of elements read. |
WriteCountPlusOne(NetworkWriter, Nullable<Int32>)
Writes null as 0, and all over values as +1
Declaration
public static void WriteCountPlusOne(NetworkWriter writer, int? count)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkWriter | writer | |
| System.Nullable<System.Int32> | count | The real count or null if collection is is null |
ReadCountPlusOne(NetworkReader, out Int32)
Reads 0 as null, and all over values as -1
Declaration
public static bool ReadCountPlusOne(NetworkReader reader, out int count)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
| System.Int32 | count | The real count of the |
Returns
| Type | Description |
|---|
| System.Boolean | true if collection has value, false if collection is null |
ValidateSize(NetworkReader, Int32)
Use to check max size in reader before allocating array/list
Assumes each element is only 1 bit, so max size allocated will be MTU*8 if attacks tries to attack
Declaration
public static void ValidateSize(NetworkReader reader, int lengthInBits)
Parameters
| Type | Name | Description |
|---|
| Mirage.Serialization.NetworkReader | reader | |
| System.Int32 | lengthInBits | |