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.
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. |
Add | Same as List:Add() but the item is added on clients. |
Clear | Same as List:Clear() but the list is cleared on clients. |
Dirty | Marks an item in the list as dirty, so it will be updated on clients. |
HandleMsg | Internal function used for remote list operations. |
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. |