SyncListStruct<T0>

class in UnityEngine.Networking

/

继承自:Networking.SyncList_1

切换到手册

描述

此类用于从服务器同步到客户端的结构列表。

要使用 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一种可以填充的委托,以便在列表发生更改时接收回调。