Photon Fusion 1.1.2

Public Member Functions | Public Attributes | Static Public Attributes | Properties | List of all members
NetworkArray< T > Struct Template Reference

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

More...

Inherits IEnumerable< T >.

Public Member Functions

 NetworkArray (byte *array, int length, IElementReaderWriter< T > readerWriter)
 NetworkArray constructor. More...
 
NetworkArray< T > Remap (void *array)
 
Get (int index)
 Returns the array value at supplied index. More...
 
Set (int index, T value)
 Sets the array value at the supplied index. More...
 
T[] ToArray ()
 Allocates a new array and copies values from this array. For a non-alloc alternative use CopyTo(List<T>). More...
 
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. More...
 
void CopyTo (T[] array, bool throwIfOverflow=true)
 Copies values to the supplied array. More...
 
override string ToString ()
 
Enumerator GetEnumerator ()
 
IEnumerator< T > IEnumerable< T >. GetEnumerator ()
 
IEnumerator IEnumerable. GetEnumerator ()
 
void CopyFrom (T[] source, int sourceOffset, int sourceCount)
 Copies a range of values in from a supplied source array. More...
 
void CopyFrom (List< T > source, int sourceOffset, int sourceCount)
 Copies a range of values in from a supplied source list. More...
 
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. More...
 

Public Attributes

byte * _array
 
int _length
 
IElementReaderWriter< T > _readerWriter
 

Static Public Attributes

static StringBuilder _stringBuilderCached
 

Properties

int Length [get]
 The fixed size of the array. More...
 
this[int index] [get, set]
 Indexer of array elements. More...
 

Detailed Description

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

Typical Usage: [Networked, Capacity(4)]
NetworkArray<float> syncedArray => default;

Optional usage (for NetworkBehaviours ONLY - this is not legal in INetworkStructs): [Networked, Capacity(4)]
NetworkArray<int> syncedArray { get; } = MakeInitializer(new int[] { 1, 2, 3, 4 });

Usage for modifying data: array.Set(123); array[0] = 456;

Template Parameters
TT can be a primitive, or an INetworkStruct.

Constructor & Destructor Documentation

◆ NetworkArray()

NetworkArray ( byte *  array,
int  length,
IElementReaderWriter< T >  readerWriter 
)

NetworkArray constructor.

Member Function Documentation

◆ CopyFrom() [1/2]

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

Copies a range of values in from a supplied source list.

Parameters
sourceOffsetStarting index of elements in source.
sourceCountNumber of sequential source elements to copy in.

◆ CopyFrom() [2/2]

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

Copies a range of values in from a supplied source array.

Parameters
sourceOffsetStarting index of elements in source.
sourceCountNumber of sequential source elements to copy in.

◆ CopyTo() [1/2]

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.

◆ CopyTo() [2/2]

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

Copies values to the supplied array.

Parameters
array
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.

◆ Get()

T Get ( int  index)

Returns the array value at supplied index.

◆ Set()

T Set ( int  index,
value 
)

Sets the array value at the supplied index.

◆ ToArray()

T [] ToArray ( )

Allocates a new array and copies values from this array. For a non-alloc alternative use CopyTo(List<T>).

◆ ToListString()

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.

Property Documentation

◆ Length

int Length
get

The fixed size of the array.

◆ this[int index]

T this[int index]
getset

Indexer of array elements.