我在服务器模式下启动了NetworkManager,使用StartServer,而不是主机
在任何客户端连接之前,我设置我的代码来执行此操作:
public override void OnStartServer()
{
base.OnStartServer ();
Debug.Log("// " + name + " has netId: " + netId + " assetId: " + GetComponent<NetworkIdentity>().assetId);
InvokeRepeating ( "RpcCall", 2.0f, 10.0f );
}
[ClientRpc]
public void RpcCall()
{
Debug.Log ( "// " + name + " Client called by server OK. NetId: " + netId );
}
我希望失败,因为ClientRpc调用应该只发生在客户端上,而不是服务器上(除非它是主机)
这是here的解释,我刚认为是真的。我设置错了吗?
答案 0 :(得分:0)
我在写作时意识到了答案 - 如果使用Invoke或InvokeRepeating,UNET不起作用。无论你设置什么,它都会在本地调用函数。