此类用于从服务器同步到客户端的结构列表。
要使用 SyncListStruct,请将结构用作泛型参数派生一个新类。
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.
系统将为此新类自动生成序列化方法。
Callback | 用于 SyncListChanged 的委托类型。 |
Count | 返回此 SyncList<T> 中的元素数量。 |
IsReadOnly | 报告 SyncList<T> 是否为只读。 |
Add | 与 List:Add() 相同,但该项已添加到客户端。 |
Clear | 与 List:Clear() 相同,但客户端上已清除该列表。 |
Contains | 确定列表是否包含 item 项。 |
CopyTo | 从特定的数组索引开始,将 SyncList<T> 的元素复制到数组中。 |
Dirty | 将列表中的一个项标记为“脏”,这样它将会在客户端上更新。 |
GetEnumerator | 返回遍历 SyncList<T> 的枚举器。 |
HandleMsg | 用于远程列表操作的内部函数。 |
IndexOf | 确定 SyncList<T> 中特定项的索引。 |
InitializeBehaviour | 内部函数。 |
Insert | 与 List::Insert() 相同,但还会插入到客户端上的列表中。 |
Remove | 与 List:Remove 相同,只是还会在客户端上删除。 |
RemoveAt | 与 List:Remove 相同,只是它还会在客户端上删除索引。 |
DeserializeItem | 从流中反序列化 SyncList 项时使用此方法。 |
SerializeItem | 此方法用于将值对象从 SyncList 写入流。 |
SyncListChanged | 一种可以填充的委托,以便在列表发生更改时接收回调。 |