ルームの作成
目次
概要
注意事項
MonobitEngine.MonobitNetwork.CreateRoom メソッド(1)
MonobitEngine.MonobitNetwork.CreateRoom メソッド(2)
MonobitEngine.MonobitNetwork.JoinOrCreateRoom メソッド
接続コールバック
マルチプレイを行なうためのルームを作成し、入室する
MUNサーバ上に、マルチプレイを遊ぶためのルームを作成して入室します。
入室した時点で、作成者がホストに指定されます。
ルームにつきましては こちら を御覧ください。
注意事項▲
MUNサーバに接続している必要があります。ロビーに入室している必要はありません。
ルームはロビーに紐づけられますが、必ずしもロビーに入室している必要はありません。
ただし、一部機能において「ロビーに入室しているかどうか」「どのロビーに入室しているか」によって
各種ルーム作成処理の挙動が異なりますのでご注意ください。(詳細につきましては各種メソッドの機能をご覧ください。)
1ロビー内に設置できる、最大ルーム数は 255 です。
それ以上ルームを生成しようとすると、Unityクライアント上で以下のエラーを出力します。
Over capacity to allowed create maximum lobby.
MonobitEngine.MonobitNetwork.CreateRoom メソッド(1)▲
機能
指定した名前でルームを作成し、入室します。
作成されるルームは「最大人数無制限、入室可で公開されたルーム」として生成されます。
なお、作成したルームは自動的に「自身が入室しているロビー」に所属するルームとして作成されます。
自身がロビーに所属していない場合には、「デフォルトロビー」に所属しているルームとして作成されます。
引数
型 |
変数名 |
内容 |
string |
roomName |
作成するルームの名前を指定します。 |
戻り値
型 |
内容 |
bool |
作成に成功したら true、失敗したら false を返します。 |
記述例
// 新規ルーム"roomName"を作成し、入室します。
MonobitEngine.MonobitNetwork.CreateRoom("roomName");
MonobitEngine.MonobitNetwork.CreateRoom メソッド(2)▲
機能
指定したロビーに、指定した名前、ルームオプションを適用したルームを作成し、入室します。
このメソッドを使って作成した場合、そのルームは「指定したロビー」に所属するルームとして作成されます。
指定したロビー情報が null であった場合、「デフォルトロビー」に所属するルームとして作成されます。
注意:1ルームに対して設定可能な、ルームカスタムパラメータの最大数は 15 です。
それ以上のルームカスタムパラメータを登録しようとすると、Unityクライアント上で以下のエラーを出力します。
Room parameters max over: 16/15
引数
型 |
変数名 |
内容 |
string |
roomName |
作成するルームの名前を指定します。 |
MonobitEngine.RoomSettings |
roomSettings |
作成するルームのプロパティを指定します。
MonobitEngine.RoomSettings では以下のパラメータを設定可能です。
型 |
変数名 |
内容 |
byte |
maxPlayers |
そのルームに入室可能な最大人数を設定します。 |
bool |
isVisible |
そのルームを公開するかどうかを設定します。
true であれば公開ルーム、falseであれば非公開ルームです。
公開されたルームは MonobitEngine.MonobitNetwork.GetRoomData() を用いた一覧取得が可能です。 |
bool |
isOpen |
そのルームに入室可能かどうかを設定します。
true であれば入室可、falseであれば入室不可です。 |
Hashtable |
customRoomParameters |
そのルームのカスタムパラメータを設定します。 |
string[] |
customRoomParametersForLobby |
そのルームのカスタムパラメータのうち、ロビーに通知するためのカスタムパラメータキーを設定します。 |
|
MonobitEngine.LobbyInfo |
lobbyInfo |
ルームを作成する先のロビー情報を指定します。
null を指定した場合、デフォルトロビーに作成されます。
MonobitEngine.LobbyInfo では以下のパラメータを設定可能です。
型 |
変数名 |
内容 |
string |
Name |
そのロビーの名称を設定します。 |
MonobitEngine.LobbyKind |
Kind |
以下の定数値で示される、ロビーの種類 を設定します。
定数値 |
内容 |
LobbyKind.Default |
通常のロビー |
LobbyKind.Query |
ルームのクエリー検索に対応したロビー |
LobbyKind.Random |
ルームのランダム検索に対応したロビー |
|
|
戻り値
型 |
内容 |
bool |
作成に成功したら true、失敗したら false を返します。 |
記述例
// ルームの最大人数を10人、非公開で入室可能な新規ルーム"roomName"を、通常のロビー名「lobbyName」に作成し、入室します。
MonobitEngine.RoomSettings settings = new MonobitEngine.RoomSettings();
settings.maxPlayers = 10;
settings.isVisible = false;
settings.isOpen = true;
MonobitEngine.LobbyInfo lobby = new MonobitEngine.LobbyInfo();
lobby.Kind = LobbyKind.Default;
lobby.Name = "LobbyName";
MonobitEngine.MonobitNetwork.CreateRoom("roomName", settings, lobby);
MonobitEngine.MonobitNetwork.JoinOrCreateRoom メソッド▲
機能
指定したロビーに、指定した名前、ルームオプションを適用したルームを検索します。
もし入室するルームが見つからなかった場合、指定された引数をもとにルームを作成します。
このメソッドを使ってルームを作成した場合、そのルームは「指定したロビー」に所属するルームとして作成されます。
指定したロビー情報が null であった場合、「デフォルトロビー」に所属するルームとして作成されます。
引数
型 |
変数名 |
内容 |
string |
roomName |
検索・作成するルームの名前を指定します。 |
MonobitEngine.RoomSettings |
roomSettings |
作成するルームのプロパティを指定します。
MonobitEngine.RoomSettings では以下のパラメータを設定可能です。
型 |
変数名 |
内容 |
byte |
maxPlayers |
そのルームに入室可能な最大人数を設定します。 |
bool |
isVisible |
そのルームを公開するかどうかを設定します。
true であれば公開ルーム、falseであれば非公開ルームです。
公開されたルームは MonobitEngine.MonobitNetwork.GetRoomData() を用いた一覧取得が可能です。 |
bool |
isOpen |
そのルームに入室可能かどうかを設定します。
true であれば入室可、falseであれば入室不可です。 |
Hashtable |
customRoomParameters |
そのルームのカスタムパラメータを設定します。 |
string[] |
customRoomParametersForLobby |
そのルームのカスタムパラメータのうち、ロビーに通知するためのカスタムパラメータキーを設定します。 |
|
MonobitEngine.LobbyInfo |
lobbyInfo |
ルームを作成する先のロビー情報を指定します。
null を指定した場合、デフォルトロビーに作成されます。
MonobitEngine.LobbyInfo では以下のパラメータを設定可能です。
型 |
変数名 |
内容 |
string |
Name |
そのロビーの名称を設定します。 |
MonobitEngine.LobbyKind |
Kind |
以下の定数値で示される、ロビーの種類 を設定します。
定数値 |
内容 |
LobbyKind.Default |
通常のロビー |
LobbyKind.Query |
ルームのクエリー検索に対応したロビー |
LobbyKind.Random |
ルームのランダム検索に対応したロビー |
|
|
戻り値
型 |
内容 |
bool |
入室に成功したら true、失敗したら false を返します。 |
記述例
// ルームの最大人数を10人、公開で入室可能な新規ルーム"roomName"を、通常のロビー名「lobbyName」から検索します。
// 見つからなければ、上記設定のルームを作成し、入室します。
MonobitEngine.RoomSettings settings = new MonobitEngine.RoomSettings();
settings.maxPlayers = 10;
settings.isVisible = true;
settings.isOpen = true;
MonobitEngine.LobbyInfo lobby = new MonobitEngine.LobbyInfo();
lobby.Kind = LobbyKind.Default;
lobby.Name = "LobbyName";
MonobitEngine.MonobitNetwork.JoinOrCreateRoom("roomName", settings, lobby);
接続コールバック▲
ルームを作成・入室した際にコールバックされるメソッド
このメソッドの実行結果に応じて、以下の接続コールバックが呼び出されます。
(接続コールバックについては こちら を参照してください。)