簡體   English   中英

Unity3D:PhotonNetwork.GetRoomList()無法獲取任何RoomInfo

[英]Unity3D: PhotonNetwork.GetRoomList() cannot get any RoomInfo

我正在嘗試創建一個房間UI。 我建立了一個副本以測試是否可以看到任何房間。 但是,它沒有收到任何房間。 這是我的代碼:

public class NetworkManager : Photon.MonoBehaviour
{
    public GameObject ScrollViewContent;
    public GameObject RoomListItem;
    public Text RoomNameInputField;
    void Start()
    {
        PhotonNetwork.ConnectUsingSettings("0.1");
    }

    void OnReceivedRoomListUpdate()
    {
        Debug.Log("OnReceivedRoomListUpdate");
    }

    void OnGUI()
    {
        Debug.Log("OnGUI");
        GUILayout.Label(PhotonNetwork.connectionStateDetailed.ToString());
        if (ScrollViewContent != null)
        {
            Debug.Log("ScrollViewContent");
            foreach (Transform child in ScrollViewContent.transform)
            {
                Debug.Log("Destroy");
                Destroy(child.gameObject);
            }
            foreach (RoomInfo game in PhotonNetwork.GetRoomList())
            {
                Debug.Log("RoomInfo");
                GameObject room = Instantiate(RoomListItem) as GameObject;
                room.GetComponentInChildren<Text>().text = game.name;
                room.transform.SetParent(ScrollViewContent.transform);
            }
            Debug.Log("ScrollViewContentEnd");
        }
    }


    public void CreateRoom()
    {
        if (!string.IsNullOrEmpty(RoomNameInputField.text))
            PhotonNetwork.CreateRoom(RoomNameInputField.text);
        //PhotonNetwork.CreateRoom(RoomNameInputField.text, new RoomOptions() { maxPlayers = 2,isVisible=true }, null);
    }
}

所有公共變量都通過檢查器設置,並且控制台顯示“ ScrollViewContent”和“ ScrollViewContentEnd”,這意味着它們之間不應有例外。

我嘗試了兩種創建空間的方式(兩種方法都可以成功創建空間),並將OnGUI()代碼放入OnReceivedRoomListUpdate()中。 但是,沒有任何顯示,甚至在控制台中也沒有顯示“ RoomInfo”。

代碼中是否缺少某些內容?

我找出問題所在。 默認設置僅加入服務器,不加入默認大廳。 因此,沒有房間列表。

解決方案是創建一個大廳並加入它,或加入默認大廳。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM