Photon Fusion 2.1.1

NetworkArray< T > Struct Template Reference

Fusion type for networking arrays. Maximum capacity is fixed, and is set with the CapacityAttribute.

. More...

Inherits INetworkArray.

Classes

struct  Enumerator
 Enumerator for NetworkArray. More...

Public Member Functions

void Clear ()
 Clears the array, setting all values to default.
void CopyFrom (List< T > source, int sourceOffset, int sourceCount)
 Copies a range of values from a supplied source list into the NetworkArray.
void CopyFrom (T[] source, int sourceOffset, int sourceCount)
 Copies a range of elements from a source array into the NetworkArray.
void CopyTo (List< T > list)
 Adds each value to the supplied List. This does not clear the list, so values will be appended to the existing list.
void CopyTo (NetworkArray< T > array)
 Copies values to the supplied array.
void CopyTo (T[] array, bool throwIfOverflow=true)
 Copies values to the supplied array.
void Dispose ()
 Releases all resources used by the Enumerator.
 Enumerator (NetworkArray< T > array)
 Initializes a new instance of the Enumerator with the specified NetworkArray.
readonly T Get (int index)
 Returns the array value at supplied index.
Enumerator GetEnumerator ()
 Returns an enumerator that iterates through the collection.
bool MoveNext ()
 Advances the enumerator to the next element of the collection.
 NetworkArray (byte *array, int length, IElementReaderWriter< T > readerWriter)
 NetworkArray constructor.
void Reset ()
 Sets the enumerator to its initial position, which is before the first element in the collection.
Set (int index, T value)
 Sets the array value at the supplied index.
T[] ToArray ()
 Allocates a new array and copies values from this array. For a non-alloc alternative use CopyTo(List<T>).
readonly string ToListString ()
 Returns the elements of this array as a string, with value separated by
characters. Specifically for use in the Unity inspector. This is private and only is found by NetworkBehaviourEditor using reflection, so do not rename this method.
NetworkArrayReadOnly< T > ToReadOnly ()
 Returns a NetworkArrayReadOnly view of this array.
override readonly string ToString ()
 Returns a string that represents the current object.

Static Public Member Functions

static implicit operator NetworkArrayReadOnly< T > (NetworkArray< T > value)
 Returns a NetworkArrayReadOnly view of this array.

Properties

object IEnumerator. Current [get]
 Gets the current element in the collection.
readonly T Current [get]
 Gets the current element in the collection.
readonly int Length [get]
 The fixed size of the array.
object INetworkArray. this[int index] [get, set]
 Gets or sets the element at the specified index.
this[int index] [get, set]
 Indexer of array elements.

Detailed Description

Fusion type for networking arrays. Maximum capacity is fixed, and is set with the CapacityAttribute.

.

Typical Usage:

[Networked, Capacity(4)]<br></br>
NetworkArray&lt;float&gt; syncedArray => default;
NetworkArray(byte *array, int length, IElementReaderWriter< T > readerWriter)
NetworkArray constructor.
Definition NetworkArray.cs:383

Optional usage (for NetworkBehaviours ONLY - this is not legal in INetworkStructs):

[Networked, Capacity(4)]<br></br>
NetworkArray&lt;int&gt; syncedArray { get; } = MakeInitializer(new int[] { 1, 2, 3, 4 });<br></br>

Usage for modifying data:

array.Set(123);
array[0] = 456;
Template Parameters
TT can be a primitive, or an INetworkStruct.

Member Function Documentation

◆ CopyFrom() [1/2]

void CopyFrom ( List< T > source,
int sourceOffset,
int sourceCount )

Copies a range of values from a supplied source list into the NetworkArray.

Parameters
sourceThe source list from which to copy elements.
sourceOffsetThe zero-based index in the source list at which copying begins.
sourceCountThe number of elements to copy from the source list.
Exceptions
ArgumentNullExceptionThrown when the provided source list is null.
ArgumentExceptionThrown when the number of elements to copy is greater than the length of the NetworkArray.
ArgumentOutOfRangeExceptionThrown when the sum of sourceOffset and sourceCount is greater than the length of the source list.

◆ CopyFrom() [2/2]

void CopyFrom ( T[] source,
int sourceOffset,
int sourceCount )

Copies a range of elements from a source array into the NetworkArray.

Parameters
sourceThe source array from which to copy elements. Must not be null.
sourceOffsetThe zero-based index in the source array at which copying begins.
sourceCountThe number of elements to copy from the source array.
Exceptions
ArgumentNullExceptionThrown when the provided source array is null.
ArgumentExceptionThrown when the number of elements to copy is greater than the length of the NetworkArray.
ArgumentOutOfRangeExceptionThrown when the sum of sourceOffset and sourceCount is greater than the length of the source array.

◆ CopyTo() [1/2]

void CopyTo ( NetworkArray< T > array)

Copies values to the supplied array.

Parameters
arrayNetworkArray to copy to.
Exceptions
ArgumentExceptionThrown if the supplied array is smaller than this NetworkArray<T>.

◆ CopyTo() [2/2]

void CopyTo ( T[] array,
bool throwIfOverflow = true )

Copies values to the supplied array.

Parameters
arrayArray to copy to.
throwIfOverflowIf true, this method will throw an error if the supplied array is smaller than this NetworkArray<T>. If false, will only copy as many elements as the target array can hold.

◆ Enumerator()

Enumerator ( NetworkArray< T > array)

Initializes a new instance of the Enumerator with the specified NetworkArray.

Parameters
arrayThe NetworkArray to enumerate.

◆ MoveNext()

bool MoveNext ( )

Advances the enumerator to the next element of the collection.

Returns
true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.

◆ operator NetworkArrayReadOnly< T >()

implicit operator NetworkArrayReadOnly< T > ( NetworkArray< T > value)
static

Returns a NetworkArrayReadOnly view of this array.

Parameters
valueNetworkArray to convert.
Returns
NetworkArrayReadOnly view of this array.

Property Documentation

◆ this[int index]

object INetworkArray. this[int index]
getset

Gets or sets the element at the specified index.

Parameters
indexThe zero-based index of the element to get or set.

Implements INetworkArray.