Photon Fusion 1.1.9

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

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

Typical Usage: More...

Inherits IEnumerable< T >.

Public Member Functions

void Add (T value)
 Adds a value to the end of the list.
 
void Clear ()
 Removes and clears all list elements.
 
bool Contains (T value)
 Returns true if the value already exists in the list.
 
bool Contains (T value, IEqualityComparer< T > comparer)
 Returns true if the value already exists in the list.
 
int * Entry (int index)
 
int * FindFreeEntry (out int index)
 
Get (int index)
 Returns the value at supplied index.
 
int * GetEntryByListIndex (int listIndex)
 
Enumerator GetEnumerator ()
 
IEnumerator< T > IEnumerable< T >. GetEnumerator ()
 
IEnumerator IEnumerable. GetEnumerator ()
 
int IndexOf (T value)
 Returns the index with this value. Returns -1 if not found.
 
int IndexOf (T value, IEqualityComparer< T > equalityComparer)
 Returns the index with this value. Returns -1 if not found.
 
 NetworkLinkedList (byte *data, int capacity, IElementReaderWriter< T > rw)
 
Read (int *entry)
 
NetworkLinkedList< T > Remap (void *list)
 
bool Remove (T value)
 Removes the first found element with indicated value.
 
bool Remove (T value, IEqualityComparer< T > equalityComparer)
 Removes the first found element with indicated value.
 
void RemoveEntry (int *entry, int entryIndex)
 
Set (int index, T value)
 Sets the value at supplied index.
 
void Write (int *entry, T value)
 

Public Attributes

int _capacity
 
int * _data
 
IElementReaderWriter< T > _rw
 
int _stride
 

Static Public Attributes

const int COUNT = 0
 
const int ELEMENT_WORDS = 2
 
const int HEAD = 1
 
const int INVALID = 0
 
const int META_WORDS = 3
 
const int NEXT = 1
 
const int OFFSET = 1
 
const int PREV = 0
 
const int TAIL = 2
 

Properties

int Capacity [get]
 Returns the max element count.
 
int Count [get]
 Returns the current element count.
 
int Head [get, set]
 
int Tail [get, set]
 
this[int index] [get, set]
 Element indexer.
 

Detailed Description

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

Typical Usage:

[Networked, Capacity(10)]
NetworkLinkedList<int> syncedLinkedList => default;

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

Usage for modifying data: var list = syncedLinkedList; list.Add(123); list[0] = 456; list.Remove(0);

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

Member Function Documentation

◆ Add()

void Add ( value)

Adds a value to the end of the list.

Parameters
value

◆ IndexOf()

int IndexOf ( value,
IEqualityComparer< T >  equalityComparer 
)

Returns the index with this value. Returns -1 if not found.

Parameters
equalityComparerSpecify custom IEqualityComparer to be used for compare.