Version: 2017.1

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(); }

确保您的结构成员为非静态公共成员。\ 我们允许在您的结构中使用以下类型:

• 基本类型(byte、int、float、string 和 UInt64 等)\ • 内置 Unity 数学类型(Vector3、四元数等)\ • 基本类型数组\ • 包含允许类型的其他结构\ • NetworkIdentity \ • NetworkInstanceId\ • NetworkHash128\ • 附加 NetworkIdentity 组件的游戏对象。

系统将为此新类自动生成序列化方法。

继承的成员

变量

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