【问题标题】:How to get name of closed rooms in Photon Unity?如何在 Photon Unity 中获取封闭房间的名称?
【发布时间】:2019-08-05 14:42:14
【问题描述】:

在获取房间列表时,我无法获取已关闭的房间。

RoomInfo[] rooms = PhotonNetwork.GetRoomList();

在此,当我遍历房间列表时,我只得到当前打开的房间,所以当我尝试创建一个新房间并且它等于已关闭房间的名称时,我收到一个错误,游戏 id 已经存在。如果我的房间是开放的,我总是可以在现有的房间长度列表中添加 1,但我需要关闭一个房间,这样其他玩家就无法在房间满时加入。在这样做时,我遇到了游戏 id 已经存在的问题。有没有办法获取所有房间的列表,无论它们是打开还是关闭,这样我就可以获得所有房间的长度,从而在所有其他房间都关闭时帮助我创建一个新房间?

这是我目前加入房间的代码:

 private void CreateOrJoinGame(eTable nameRoom)
{
    Invoke("ForceQuit", 8);
    panelLoad.SetActive(true);
    print("In progress joining or creating");
    RoomInfo[] rooms = PhotonNetwork.GetRoomList();
    PlayerSave.singleton.currentTable = nameRoom;
    for (int i = 0; i < rooms.Length; i++)
    {
        if (rooms[i].Name.Contains(nameRoom.ToString()) && rooms[i].PlayerCount < rooms[i].MaxPlayers)
        {
            PhotonNetwork.JoinRoom(rooms[i].Name);
            return;
        }
    }
    RoomOptions roomOption = new RoomOptions() { IsVisible = true, MaxPlayers = 5 };
    PhotonNetwork.CreateRoom(nameRoom.ToString() + rooms.Length + 1, roomOption, TypedLobby.Default);
}

【问题讨论】:

    标签: unity3d photon


    【解决方案1】:

    它在GetRoomList()&lt;summary&gt; 标签中说:

    大厅也列出了封闭的房间,但它们不能加入。

    确保您已连接到大厅。

    【讨论】:

    • 我连接到一个大厅,我确实得到了可用房间的列表,但由于某些奇怪的原因,它没有列出一个封闭的房间。不知道为什么
    • 我的错。房间已满后,我将房间能见度设置为 false。纠正。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    相关资源
    最近更新 更多