ルームへの入室
目次
概要
事前設定
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 |
ルームの入室に失敗した際に呼び出されます。 |