トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

unity_photon_cloud_room_list

Lobbyへの参加と去るタイミング > Player名を指定


[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への参加と去るタイミング > Player名を指定


最終更新時間:2014年04月28日 11時16分45秒