我使用的是NetworkRoomManager和NetworkDiscovery,当玩家退出房间场景时,我会调用networkdiscoveryhud中的NetworkManager.singlet.StopClient((,然后您会发现它会调用networkroomplayerext脚本中的OnClientExitRoom函数两次。
或者当客户端退出房间场景时,我不应该使用NetworkManager.singlet.StopClient((?下面是我的客户端或服务器退出房间的脚本。
public void StopHost()
{
if (NetworkServer.active && NetworkClient.isConnected)
{
NetworkManager.singleton.StopHost();
}
else if (NetworkClient.isConnected)
{
NetworkManager.singleton.StopClient();
}
else if (NetworkServer.active)
{
NetworkManager.singleton.StopServer();
}
networkDiscovery.StopDiscovery();
}
我推荐Lobby and Worlds。它比NetworkRoomManager灵活得多,并且具有大量内置功能。点击此处了解更多信息。https://trello.com/c/0jT4kZ6O