This class is used for lists of structs that are synchronized from the server to clients.
To use SyncListStruct, derive a new class with your struct as the generic parameter.
using UnityEngine; using UnityEngine.Networking;
public class MyScript : NetworkBehaviour { public struct POW { public int pow; public float f; }
public class SyncListPOW : SyncListStruct<POW> { }
public SyncListPOW m_pows = new SyncListPOW(); }
Make sure your struct members are non-static public members.
We allow the following types to be used in your struct;
• Basic type (byte, int, float, string, UInt64, etc)
• Built-in Unity math type (Vector3, Quaternion, etc),
• Arrays of basic types
• Other structs containing allowable types
• NetworkIdentity
• NetworkInstanceId
• NetworkHash128
• GameObject with a NetworkIdentity component attached.
Serialization methods will be auto-generated for this new class.
Callback | The delegate type used for SyncListChanged. |
Count | Returns the number of elements in this SyncList<T>. |
IsReadOnly | Reports whether the SyncList<T> is read-only. |
Add | Same as List:Add() but the item is added on clients. |
Clear | Same as List:Clear() but the list is cleared on clients. |
Contains | Determines whether the list contains item item. |
CopyTo | Copies the elements of the SyncList<T> to an Array, starting at a particular Array index. |
Dirty | Marks an item in the list as dirty, so it will be updated on clients. |
GetEnumerator | Returns an enumerator that iterates through the SyncList<T>. |
HandleMsg | Internal function used for remote list operations. |
IndexOf | Determines the index of a specific item in the SyncList<T>. |
InitializeBehaviour | Internal function. |
Insert | Same as List::Insert() but also inserts into list on clients. |
Remove | Same as List:Remove except removes on clients also. |
RemoveAt | Same as List:Remove except it removes the index on clients also. |
DeserializeItem | This method is used when deserializing SyncList items from a stream. |
SerializeItem | This is used to write a value object from a SyncList to a stream. |
SyncListChanged | A delegate that can be populated to recieve callbacks when the list changes. |