如何在Unity中列出房间? (PUN2)

问题描述 投票:3回答:2

我需要列出我的大厅场景中的小房间。目前,这是我使用的代码,但我不知道为什么它不起作用。这是正确的方法吗?

public override void OnRoomListUpdate(List<RoomInfo> roomList)
     {
         print(roomList.Count + " Rooms");
         base.OnRoomListUpdate(roomList);
         foreach (var Item in roomList)
         {
             RoomName = Item.Name;
             PlayerAmount = Item.PlayerCount;
             MaxPlayers = Item.MaxPlayers;
             PhotonNetwork.Instantiate("RoomPrefab", transform.position, transform.rotation);
             RoomPrefab.transform.Find("RoomName").GetComponent<Text>().text = RoomName;
             RoomPrefab.transform.Find("PlayerInt").GetComponent<Text>().text = PlayerAmount.ToString();
             if(MaxPlayers == 4)
             {
                 GameObject.Find("IPlayerA").GetComponent<Image>().sprite = Four;
             }
             else if (MaxPlayers == 2)
             {
                 GameObject.Find("IPlayerA").GetComponent<Image>().sprite = Two;
             }
             else if (MaxPlayers == 3)
             {
                 GameObject.Find("IPlayerA").GetComponent<Image>().sprite = Three;
             }
             RoomPrefab.transform.SetParent(ScrollView.transform, false);
         }
     }

我需要指定我使用的是Photon的PUN2,因此GetRoomList无法正常工作。

c# unity3d photon
2个回答
1
投票
此外,您还可以在此处检查从PUN到PUN2的更新https://doc.photonengine.com/en-us/pun/v2/getting-started/migration-notes

0
投票
Jevgeni Geurtsen的建议仅连接到MasterServer还是不够的,至少在PUN v2.15中,它对我有用。
© www.soinside.com 2019 - 2024. All rights reserved.