同步哈希集
SyncHashSet是类似于 C# HashSet(哈希集合)的集合,它们会将其内容从服务器同步到客户端。
一个 SyncHashSet 可以包含任何支持的 Mirror 类型(数据类型)
用法
在你的 NetworkBehaviour 类中添加一个 SyncHashSet 字段。例如:
public class Player : NetworkBehaviour
{
[SerializeField]
public readonly SyncHashSet<string> skills = new SyncHashSet<string>();
int skillPoints = 10;
[Command]
public void CmdLearnSkill(string skillName)
{
if (skillPoints > 1)
{
skillPoints--;
skills.Add(skillName);
}
}
}你也可以检测 SyncHashSet 何时发生变化。这对于在客户端刷新角色或确定何时需要更新数据库非常有用。
通常在 Start、OnClientStart 或 OnServerStart 中订阅 Callback 事件。
请注意,当你订阅时,集合已经被填充,因此你不会收到初始数据的调用,只有更新。
最后更新于
这有帮助吗?