例えば、3クライアント(A, B, C)が同一のロビーに入室&ルーム未入室の状態にあり、以下の手順でルームに入室したとします。 ① クライアントA がルームαを作成&ルームαに入室する。 ② クライアントB がルームβを作成&ルームβに入室する。 ③ クライアントC がルームαに入室する。 このとき、 ・クライアントAからルーム一覧情報の取得を実行した場合、ルームα, βの情報は取得できません。 以降、ルーム退室までのルームの変化について、ルームα, βを含むすべてのリアルタイムなルーム更新情報は取得できません。 ・クライアントBからルーム一覧情報の取得を実行した場合、ルームαの情報は取得できますが、ルームαのルーム内プレイヤー数は1と表示されます。 (ルームβ入室後に起きたルームの更新情報、すなわち、クライアントCがルームαに入室した情報を取得できません) 以降、ルーム退室までのルームの変化について、ルームα, βを含むすべてのリアルタイムなルーム更新情報は取得できません。 ・クライアントCからルーム一覧情報の取得を実行した場合、ルームα, βの情報は取得できますが、ルームα, βともに、ルーム内プレイヤー数は1と表示されます。 以降、ルーム退室までのルームの変化について、ルームα, βを含むすべてのリアルタイムなルーム更新情報は取得できません。
型 変数名 内容 - - -
型 内容 RoomData[] ルーム情報の一覧を配列情報で取得します。
なお、RoomData は以下のプロパティを持ちます。
型 変数名 内容 string name ルーム名 int maxPlayers 入室可能なプレイヤー人数の上限値
(無制限の場合には 0 を示します)int playerCount 現在入室しているプレイヤーの人数 bool open そのルームに入室可能かどうかを示すフラグ
(入室可能であれば true, 入室不可能であれば false を示します)bool visible MonobitNetwork.GetRoomData() による一覧取得が可能かどうかを示すフラグ
(GetRoomData の実行結果として取得することになるため、この戻り値内では常に true を示します)bool isLocalClientInside 自分自身がそのルームに入室済み、または入室リクエストを送信している状態であるかどうかを示すフラグ
(入室済み or 入室リクエスト送信済みであれば true, 未入室 or 退室リクエスト送信済みであれば false を示します)Hashtable customParameters ルームパラメータ string[] parametersLIstedInLobby ロビーから入室する際の検索条件となるルームパラメータのキー
// ルーム一覧の情報を表示します。 foreach (RoomData info in MonobitEngine.MonobitNetwork.GetRoomData()) { Debug.Log(" Room Name : " + info.name); Debug.Log(" Players in Room : " + info.playerCount); Debug.Log(" Limit of Players : " + info.maxPlayers); Debug.Log(" Room is Open ? : " + ((info.open) ? "true" : "false")); }
OnReceivedRoomListUpdate メソッド MUNサーバより、ルームの一覧の更新を受信した際に呼び出されます。