ルームの作成

目次

  概要
  注意事項
  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);


接続コールバック

ルームを作成・入室した際にコールバックされるメソッド

  このメソッドの実行結果に応じて、以下の接続コールバックが呼び出されます。
  (接続コールバックについては こちら を参照してください。)
OnCreatedRoom メソッド ルームの作成に成功した際に呼び出されます。
OnCreateRoomFailed メソッド ルームの作成に失敗した際に呼び出されます。
OnJoinedRoom メソッド 作成したルームに入室した際に呼び出されます。