无法通过LAN网络检测Unity NetworkManager客户端?

时间:2018-09-16 07:49:57

标签: c# unity3d scripting multiplayer lan

在测试和使用Unity创建多人游戏时,我有一个“联网游戏”按钮,可在LAN模式下连接玩家。这里有两种选择:将游戏托管为服务器,或作为客户端加入游戏。

我希望服务器或主机的状况能够自动解决,这意味着如果已经有主机,则单击“网络游戏”作为客户端进行连接;但是如果没有主机,则单击“网络游戏”将创建LAN主机。

足够简单:

private void NewLANGame()
{
   // Continue as a client if there is already a connection; or else, start as a LAN host
   if(networkManager.IsClientConnected())
   {
      networkManager.StartClient();
      Debug.Log("Client started");
   }
   else
   {
      networkManager.StartHost();
      Debug.Log("Host started");
   }

   SetStartMenuActivation(false); // Revert to the HUD

}

但显然,networkManager.IsClientConnected()仅指互联网游戏。在LAN上的任何情况下,IsClientConnected()返回false。

我一直在测试和搜索不同的方法调用,但均未成功。我一直在比较Unity NetworkManagerHUD脚本以查找有用的代码,但是没有打开任何东西。

有人知道用于检测LAN主机是否已经存在的正确方法吗?

0 个答案:

没有答案