此连接拥有的 NetworkIdentity 对象的列表。
这包括连接的玩家对象 - 如果已设置 localPlayerAutority,并且已通过本地权限生成或通过 AssignLocalAuthority 设置任何对象。此列表处于只读状态。
此列表可用于验证来自客户端的消息,以确保客户端仅尝试控制它们拥有的对象。
using UnityEngine;
using UnityEngine.Networking;
public class Handler
{
static public void HandleTransform(NetworkMessage netMsg)
{
NetworkInstanceId netId = netMsg.reader.ReadNetworkId();
GameObject foundObj = NetworkServer.FindLocalObject(netId);
if (foundObj == null)
{
return;
}
NetworkTransform foundSync = foundObj.GetComponent<NetworkTransform>();
if (foundSync == null)
{
return;
}
if (!foundSync.localPlayerAuthority)
{
return;
}
if (netMsg.conn.clientOwnedObjects.Contains(netId))
{
// process message
}
else
{
// error
}
}
}