Version: 2017.3

SyncListStruct<T0>

class in UnityEngine.Networking

/

Inherits from:Networking.SyncList_1

Switch to Manual

Description

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.

Inherited members

Variables

CallbackThe delegate type used for SyncListChanged.
CountReturns the number of elements in this SyncList<T>.
IsReadOnlyReports whether the SyncList<T> is read-only.

Public Functions

AddSame as List:Add() but the item is added on clients.
ClearSame as List:Clear() but the list is cleared on clients.
ContainsDetermines whether the list contains item item.
CopyToCopies the elements of the SyncList<T> to an Array, starting at a particular Array index.
DirtyMarks an item in the list as dirty, so it will be updated on clients.
GetEnumeratorReturns an enumerator that iterates through the SyncList<T>.
HandleMsgInternal function used for remote list operations.
IndexOfDetermines the index of a specific item in the SyncList<T>.
InitializeBehaviourInternal function.
InsertSame as List::Insert() but also inserts into list on clients.
RemoveSame as List:Remove except removes on clients also.
RemoveAtSame as List:Remove except it removes the index on clients also.

Protected Functions

DeserializeItemThis method is used when deserializing SyncList items from a stream.
SerializeItemThis is used to write a value object from a SyncList to a stream.

Delegates

SyncListChangedA delegate that can be populated to recieve callbacks when the list changes.