ルームへの入室

目次

  概要
  事前設定
  MonobitEngine.MonobitNetwork.JoinRoom メソッド
  MonobitEngine.MonobitNetwork.JoinOrCreateRoom メソッド
  MonobitEngine.MonobitNetwork.JoinRandomRoom メソッド(1)
  MonobitEngine.MonobitNetwork.JoinRandomRoom メソッド(2)
  MonobitEngine.MonobitNetwork.JoinRandomRoom メソッド(3)
  接続コールバック


概要

マルチプレイを行なうためのルームに入室する

  MUNサーバ上に作成されたルームに対して入室します。

  ルームにつきましては こちら を御覧ください。


事前設定

MUNサーバに接続している必要があります。ロビーに入室している必要はありません。

  ルームはロビーに紐づけられますが、必ずしもロビーに入室している必要はありません。
  (ロビーに入室していない状態でルームに入室しようとした場合、自動的に デフォルトロビーに紐づけられていルームから検索し、入室します。)


MonobitEngine.MonobitNetwork.JoinRoom メソッド

機能

  指定した名前でルーム名を検索し、一致するルームに入室します。

引数

変数名 内容
string roomName 入室するルームの名前を指定します。

戻り値

内容
bool 入室に成功したら true、失敗したら false を返します。

記述例

// "roomName"をルーム名に持つルームに入室します。
MonobitEngine.MonobitNetwork.JoinRoom("roomName");


MonobitEngine.MonobitNetwork.JoinOrCreateRoom メソッド

機能

  指定したロビーに、指定した名前、ルームオプションを適用したルームを検索します。
  もし入室するルームが見つからなかった場合、指定された引数をもとにルームを作成します。

引数

変数名 内容
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 では以下のパラメータを設定可能です。
変数名 内容
MonobitEngine.LobbyKind Kind そのロビーの種別を設定します。
string Name そのロビーの名称を設定します。

戻り値

内容
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);


MonobitEngine.MonobitNetwork.JoinRandomRoom メソッド(1)

機能

  公開設定・非満員・入室可になっているルームの中から、ランダムに選定したルームに入室します。

引数

変数名 内容
- - -

戻り値

内容
bool 入室に成功したら true、失敗したら false を返します。

記述例

// 入室可能なルームの中からランダムに選定して入室します。
MonobitEngine.MonobitNetwork.JoinRandomRoom();


MonobitEngine.MonobitNetwork.JoinRandomRoom メソッド(2)

機能

  公開設定・非満員・入室可になっているルームの中から、指定されたカスタムプロパティと
  ルーム収容最大人数を設定している、いずれかのルームを選定して入室します。

引数

変数名 内容
Hashtable expectedCustomRoomProperties 検索用のカスタムルームプロパティのフィルター。
byte expectedMaxPlayers 検索用のルーム収容最大人数のフィルター。

戻り値

内容
bool 入室に成功したら true、失敗したら false を返します。

記述例

// 指定したルームプロパティに一致するルームの中から、ランダムに選定したルームに入室します。
Hashtable properties = new Hashtable() { { "password", "ABCDEF" } };
MonobitEngine.MonobitNetwork.JoinRandomRoom(properties, 10);


MonobitEngine.MonobitNetwork.JoinRandomRoom メソッド(3)

機能

  公開設定・非満員・入室可になっているルームの中から、
  指定されたカスタムプロパティ・マッチメイキングタイプ・検索対象ロビー・SQL-WHEREに一致する、いずれかのルームを選定して入室します。

引数

変数名 内容
Hashtable expectedCustomRoomProperties 検索用のカスタムルームプロパティのフィルター。
byte expectedMaxPlayers 検索用のルーム収容最大人数のフィルター。
MatchmakingMode matchingType マッチメイキングルールのためのフィルター。
MonobitEngine.LobbyInfo lobbyInfo 検索対象となるロビーの指定。
string sqlLobbyFilter SQLロビーのための、WHEREフィルターとなる文字列。

戻り値

内容
bool 入室に成功したら true、失敗したら false を返します。

記述例

// SQLロビー"sqlLobby"に紐づけられた、"level == 0" であるルームの中から、ランダムに選定し入室する。
MonobitEngine.LobbyInfo lobby = new MonobitEngine.LobbyInfo();
lobby.Kind = LobbyKind.SqlLobby;
lobby.Name = "sqlLobby";
MonobitEngine.MonobitNetwork.JoinRandomRoom(null, 10, MatchiMakingMode.FillRoom, lobby, "level == 0");


接続コールバック

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

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