Class NetworkList<T>
Event based NetworkVariable container for syncing Lists
Implements
Inherited Members
Namespace: Unity.Netcode
Assembly: Unity.Netcode.Runtime.dll
Syntax
[GenerateSerializationForGenericParameter(0)]
public class NetworkList<T> : NetworkVariableBase, IDisposable where T : unmanaged, IEquatable<T>
  Type Parameters
| Name | Description | 
|---|---|
| T | The type for the list  | 
      
Constructors
NetworkList()
Constructor method for NetworkList<T>
Declaration
public NetworkList()
  NetworkList(IEnumerable<T>, NetworkVariableReadPermission, NetworkVariableWritePermission)
Event based NetworkVariable container for syncing Lists
Declaration
public NetworkList(IEnumerable<T> values = null, NetworkVariableReadPermission readPerm = NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission writePerm = NetworkVariableWritePermission.Server)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IEnumerable<T> | values | An optional collection of initial values to populate the list. If null, the list will start empty.  | 
      
| NetworkVariableReadPermission | readPerm | The read permission level for the network list. Determines who can read the list (e.g., server-only or everyone). Default is defined by DefaultReadPerm  | 
      
| NetworkVariableWritePermission | writePerm | The write permission level for the network list. Determines who can modify the list (e.g., server-only or specific clients). Default is defined by DefaultWritePerm.  | 
      
Properties
Count
Gets the number of elements contained in the NetworkList<T>.
Declaration
public int Count { get; }
  Property Value
| Type | Description | 
|---|---|
| int | 
this[int]
Gets or sets the element at the specified index in the NetworkList<T>.
Declaration
public T this[int index] { get; set; }
  Parameters
| Type | Name | Description | 
|---|---|---|
| int | index | The zero-based index of the element to get or set.  | 
      
Property Value
| Type | Description | 
|---|---|
| T | The element at the specified index.  | 
      
Remarks
This method checks for write permissions before setting the value.
LastModifiedTick
This method should not be used. It is left over from a previous interface
Declaration
public int LastModifiedTick { get; }
  Property Value
| Type | Description | 
|---|---|
| int | 
Methods
Add(T)
Adds an item to the end of the NetworkList<T>.
Declaration
public void Add(T item)
  Parameters
| Type | Name | Description | 
|---|---|---|
| T | item | The item to be added to the list.  | 
      
Remarks
This method checks for write permissions before adding the item.
Clear()
Removes all items from the NetworkList<T>.
Declaration
public void Clear()
  Remarks
This method checks for write permissions before clearing the list.
Contains(T)
Determines whether the NetworkList<T> contains a specific value.
Declaration
public bool Contains(T item)
  Parameters
| Type | Name | Description | 
|---|---|---|
| T | item | The object to locate in the NetworkList<T>.  | 
      
Returns
| Type | Description | 
|---|---|
| bool | true if the item is found in the NetworkList<T>; otherwise, false.  | 
      
Dispose()
Overridden IDisposable implementation. CAUTION: If you derive from this class and override the Dispose() method, you must always invoke the base.Dispose() method!
Declaration
public override void Dispose()
  Overrides
~NetworkList()
Finalizer that ensures proper cleanup of network list resources
Declaration
protected ~NetworkList()
  GetEnumerator()
Returns an enumerator that iterates through the NetworkList<T>.
Declaration
public IEnumerator<T> GetEnumerator()
  Returns
| Type | Description | 
|---|---|
| IEnumerator<T> | An enumerator for the NetworkList<T>.  | 
      
IndexOf(T)
Determines the index of a specific item in the NetworkList<T>.
Declaration
public int IndexOf(T item)
  Parameters
| Type | Name | Description | 
|---|---|---|
| T | item | The object to remove from the list.  | 
      
Returns
| Type | Description | 
|---|---|
| int | The index of the item if found in the list; otherwise, -1.  | 
      
Insert(int, T)
Inserts item to the NetworkList<T> at the specified index.
Declaration
public void Insert(int index, T item)
  Parameters
| Type | Name | Description | 
|---|---|---|
| int | index | The index at which the item should be inserted.  | 
      
| T | item | The item to insert.  | 
      
Remarks
This method checks for write permissions before inserting the item.
IsDirty()
Gets Whether or not the container is dirty
Declaration
public override bool IsDirty()
  Returns
| Type | Description | 
|---|---|
| bool | Whether or not the container is dirty  | 
      
Overrides
ReadDelta(FastBufferReader, bool)
Reads value from the reader and applies it
Declaration
public override void ReadDelta(FastBufferReader reader, bool keepDirtyDelta)
  Parameters
| Type | Name | Description | 
|---|---|---|
| FastBufferReader | reader | The stream to read the value from  | 
      
| bool | keepDirtyDelta | Whether or not the container should keep the dirty delta, or mark the delta as consumed  | 
      
Overrides
ReadField(FastBufferReader)
Reads the complete state from the reader and applies it
Declaration
public override void ReadField(FastBufferReader reader)
  Parameters
| Type | Name | Description | 
|---|---|---|
| FastBufferReader | reader | The stream to read the state from  | 
      
Overrides
Remove(T)
Removes the first occurrence of a specific object from the NetworkList.
Declaration
public bool Remove(T item)
  Parameters
| Type | Name | Description | 
|---|---|---|
| T | item | The object to remove from the list.  | 
      
Returns
| Type | Description | 
|---|---|
| bool | true if the item was successfully removed from the list; otherwise, false.  | 
      
Remarks
This method checks for write permissions before removing the item.
RemoveAt(int)
Removes the NetworkList<T> item at the specified index.
Declaration
public void RemoveAt(int index)
  Parameters
| Type | Name | Description | 
|---|---|---|
| int | index | The index of the element to remove.  | 
      
Remarks
This method checks for write permissions before removing the item.
ResetDirty()
Resets the dirty state and marks the variable as synced / clean
Declaration
public override void ResetDirty()
  Overrides
WriteDelta(FastBufferWriter)
Writes the variable to the writer
Declaration
public override void WriteDelta(FastBufferWriter writer)
  Parameters
| Type | Name | Description | 
|---|---|---|
| FastBufferWriter | writer | The stream to write the value to  | 
      
Overrides
WriteField(FastBufferWriter)
Writes the complete state of the variable to the writer
Declaration
public override void WriteField(FastBufferWriter writer)
  Parameters
| Type | Name | Description | 
|---|---|---|
| FastBufferWriter | writer | The stream to write the state to  | 
      
Overrides
Events
OnListChanged
Creates A NetworkList/>
Declaration
public event NetworkList<T>.OnListChangedDelegate OnListChanged
  Event Type
| Type | Description | 
|---|---|
| NetworkList<T>.OnListChangedDelegate |