[英]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.