如何在 NetworkIdentity.AssignClientAuthority 中获取用作参数的连接
How to get the connection used as parameter in NetworkIdentity.AssignClientAuthority
Weapon是player对象的子对象,Weapon子对象不能算是player对象的一部分吧?所以,我需要使用 NetworkIdentity.AssignClientAuthority() 给非玩家对象本地权限。
public class Weapon: NetworkBehaviour
{
void Start()
{
// how to get the conn?
GameObject.GetComponent<NetworkIdentity>().AssignClientAuthority(conn);
}
void Update()
{
CmdShot();
}
[Command]
void CmdShot()
{
// shot...
}
}
在客户端,您可以使用 NetworkClient.connection
获取连接。在服务器上,所有当前活动连接的列表在 NetworkServer.connections
中可用。两者都包含对象 NetworkConnection
,该对象用作 AssignClientAuthority
.
的参数
NetworkIndentity
组件必须在根游戏对象上,并且在预制件中只能有一个。
所以,只有root gameobject有ClientAuthority
发送Command
给server.The这个gameobject下的子对象没有ClientAuthority
。
而 here 更多关于 NetworkIndentity
。
Weapon是player对象的子对象,Weapon子对象不能算是player对象的一部分吧?所以,我需要使用 NetworkIdentity.AssignClientAuthority() 给非玩家对象本地权限。
public class Weapon: NetworkBehaviour
{
void Start()
{
// how to get the conn?
GameObject.GetComponent<NetworkIdentity>().AssignClientAuthority(conn);
}
void Update()
{
CmdShot();
}
[Command]
void CmdShot()
{
// shot...
}
}
在客户端,您可以使用 NetworkClient.connection
获取连接。在服务器上,所有当前活动连接的列表在 NetworkServer.connections
中可用。两者都包含对象 NetworkConnection
,该对象用作 AssignClientAuthority
.
NetworkIndentity
组件必须在根游戏对象上,并且在预制件中只能有一个。
所以,只有root gameobject有ClientAuthority
发送Command
给server.The这个gameobject下的子对象没有ClientAuthority
。
而 here 更多关于 NetworkIndentity
。