トップ 一覧 検索 ヘルプ RSS ログイン

unity_photon_cloud_room_listの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
[[Lobbyへの参加と去るタイミング|unity_photon_cloud_joint_lobby]] > [[Player名を指定|unity_photon_cloud_player_name]]
----
!!![Photon Cloud] Room一覧を取得

同一アプリですでに生成できているRoomに接続する場合に、既存のRoomとして何があるか情報を取得する必要があります。
これは、OnReceivedRoomListUpdate関数で取得することができます。

 /**
  * Roomリストが更新されるときに呼ばれる.
  */
 void OnReceivedRoomListUpdate() {
   // 既存のRoomを取得.
   RoomInfo [] roomInfo = PhotonNetwork.GetRoomList();
   if (roomInfo == null || roomInfo.Length == 0) return;
 
   // 個々のRoomの名前を表示.
   for (int i = 0; i < roomInfo.Length; i++) {
     Debug.Log((i).ToString() + " : " + roomInfo[i].name);
   }
 }
Start関数やOnJoinedLobby関数内でRoom一覧を取得しようとしても、まだ情報を取得できないようなので注意。これよりも後にOnReceivedRoomListUpdate関数がコールバックされます。
OnReceivedRoomListUpdate関数が呼ばれるよりも前に「PhotonNetwork.GetRoomList()」を呼ぶとRoomInfo []では要素数が0となっており、Roomリストは取得できません。

 RoomInfo [] roomInfo = PhotonNetwork.GetRoomList();
で、配列としてRoomの情報を取得できます。
「roomInfo[i].name」が取得したRoom名になります。

!!カレントのRoom名
現在のPlayerが入っているカレントのRoom名は「PhotonNetwork.room.name」(string)で取得できます。

!!Roomに参加しているかどうか
現在のPlayerがRoomに入っているかどうかは「PhotonNetwork.inRoom」(bool)で判断できます。
OnJoinedRoom関数に入った段階でtrueになるようです。
----
[[Lobbyへの参加と去るタイミング|unity_photon_cloud_joint_lobby]] > [[Player名を指定|unity_photon_cloud_player_name]]
----
{{lastmodified}}