0

目前我正在尝试使用光子网络系统为我的游戏制作匹配系统。我已经可以创建房间并加入其中,但是如果我尝试使用 PhotonNetwork.getRoomList() 函数,则数组始终为空。按照网络状态字符串,我知道我在标准大厅。

我的代码:

void fillBrowser()
{
    Debug.Log("Checking for Rooms");
    if(PhotonNetwork.insideLobby)
    {
        Debug.Log("Inside a Lobby");
        Debug.Log(PhotonNetwork.GetRoomList().ToString());
    }
}

回报:

检查房间

大厅内

房间信息[]

4

3 回答 3

0

输出RoomInfo[]表明它返回了一个RoomInfos 数组。你得到这个输出是因为你调用ToString()了一个数组。将返回的值保存RoomInfo[]到一个变量中,遍历它们,看看它们包含什么信息。

void fillBrowser()
{
    Debug.Log("Checking for Rooms");
    if(PhotonNetwork.insideLobby)
    {
        Debug.Log("Inside a Lobby");
        var rooms = PhotonNetwork.GetRoomList();
        foreach(var room in rooms) 
             Debug.Log("Found room: " + room.ToString());
    }
}
于 2015-09-04T19:50:20.327 回答
0
using System.Linq;

Debug.Log(string.Concat(GetRoomList().Select(x => x.name + "\n\r").ToArray()));

或者

using System.Linq;

GetRoomList().ToList().ForEach(x => { Debug.Log(x.name); });
于 2016-05-22T00:02:52.360 回答
-1

抱歉我回答晚了..只需添加 “PhotonNetwork.autoJoinLobby = true;” 在 void Awake() 函数中,一切都会顺利进行;)

于 2016-06-22T07:59:35.797 回答