- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
[[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}}