没有ClientScene函数
时间: 2023-11-14 09:06:36 浏览: 9
如果你使用的是 Mirror 3.0 或更高版本,那么 ClientScene 已经被废弃了,应该使用 NetworkClient 的对象找到本地对象。可以使用以下代码:
```csharp
using UnityEngine;
using Mirror;
public class YourScript : NetworkBehaviour
{
// 在你的代码中,获取 NetworkIdentity 组件
// 然后使用 netId 查找其他客户端
public void FindClient(NetworkInstanceId netId)
{
GameObject obj = NetworkClient.connection.identity.gameObject;
if (obj != null)
{
NetworkIdentity identity = obj.GetComponent<NetworkIdentity>();
if (identity != null)
{
NetworkConnection conn = identity.clientAuthorityOwner;
if (conn != null)
{
// 找到了指定客户端
}
}
}
}
}
```
在上面的代码中,我们首先使用 `NetworkClient.connection.identity.gameObject` 获取本地对象。然后,我们获取该对象上的 NetworkIdentity 组件,并使用 `clientAuthorityOwner` 属性获取与该客户端的连接。如果找到了指定客户端,我们就可以使用该连接与该客户端进行通信。
需要注意的是,这里查找的是其他客户端而不是本地客户端,因此我们使用的是 `clientAuthorityOwner` 属性而不是 `connectionToServer` 属性。