index
title: class RoomManagementService toc_max_heading_level: 4
クラス RoomManagementService
(Niantic.Lightship.SharedAR.Rooms.RoomManagementService)
概要
RoomManagementService は、Room Management Service のバックエンドにアクセスするためのインターフェイスを提供し、Room の作成、削除、検索 を行います。 ルームとは、サーバーを中継したネットワークで複数のピア同士を接続するためのエンティティである。
class RoomManagementService {
public:
struct GetOrCreateRoomAsyncTaskResult;
// methods
static RoomManagementServiceStatus CreateRoom(
RoomParams roomParams,
out IRoom outRoom
);
static RoomManagementServiceStatus DeleteRoom(string roomId);
static RoomManagementServiceStatus GetRoom(string roomId, out IRoom outRoom);
static RoomManagementServiceStatus QueryRoomsByName(
string name,
out List<IRoom> rooms
);
static RoomManagementServiceStatus GetAllRooms(out List<IRoom> rooms);
static RoomManagementServiceStatus GetOrCreateRoomForName(
RoomParams roomParams,
out IRoom outRoom
);
static void GetOrCreateRoomAsync(
string roomName,
string roomDesc,
uint roomCapacity,
GetOrCreateRoomCallback doneCb
);
static Task<GetOrCreateRoomAsyncTaskResult> GetOrCreateRoomAsync(
string roomName,
string roomDescription,
uint roomCapacity
);
delegate void GetOrCreateRoomCallback(
RoomManagementServiceStatus status,
string room_id
);
};
詳細なドキュメント
RoomManagementService は、Room Management Service のバックエンドにアクセスするためのインターフェイスを提供し、Room の作成、削除、検索 を行います。 ルームとは、サーバーを中継したネットワークで複数のピア同士を接続するためのエンティティである。
メソッド
CreateRoom
static RoomManagementServiceStatus CreateRoom(
RoomParams roomParams,
out IRoom outRoom
)
サーバーに新しいルームを作る。
パラメーター:
roomParams
- ルームのパラメーター
outRoom
- IRoom オブジェクトとしてルームを作成。 作成に失敗した場合は null。
次の値が返ります。
オペレーションの状態
DeleteRoom
static RoomManagementServiceStatus DeleteRoom(string roomId)
サーバー上のルームを削除する。
パラメーター:
roomId
- 削除するルームのRoom ID
次の値が返ります。
オペレーションの状態
GetRoom
静的 RoomManagementServiceStatus GetRoom(string roomId, out IRoom outRoom)
サーバー上のルームIDで部屋を取得する
パラメーター:
roomId
- 文字列としてのRoom ID
outRoom
- 見つかったルームオブジェクト。 操作に失敗した場合、またはRoom IDが見つからない場合はNULL<//param>
次の値が返ります。
オペレーションの状態
QueryRoomsByName
static RoomManagementServiceStatus QueryRoomsByName(
string name,
out List<IRoom> rooms
)
サーバー上の部屋名で問い合わせる
パラメーター:
name
- 探すルームの名前。
rooms
- ルームが一致するルームのリスト
次の値が返ります。
オペレーションの状態
GetAllRooms
static RoomManagementServiceStatus GetAllRooms(out List<IRoom> rooms)
このアプリによって作成されたサーバー上のすべてのルームを取得する。
パラメーター:
rooms
- このアプリで利用可能なルームのリスト
次の値が返ります。
運行状況
名前のルーム作成
static RoomManagementServiceStatus GetOrCreateRoomForName(
RoomParams roomParams,
out IRoom outRoom
)
サーバー上の指定された名前を持つ IRoom オブジェクトを取得します。 その名前のルームが見つからない場合、与えられたルームパラメーターを使用して新しいルームを作成します。
パラメーター:
roomParams
- 取得または作成するルームのルームパラメーター
outRoom
- IRoom オブジェクト。 サーバー操作に失敗した場合はnull
次の値が返ります。
オペレーションの状態
GetOrCreateRoomAsync
static void GetOrCreateRoomAsync(
string roomName,
string roomDesc,
uint roomCapacity,
GetOrCreateRoomCallback doneCb
)
GetOrCreateRoom リクエストの非同期実装。 この関数は、"roomName "という名前のルームが存在するかどうかをチェックし、存在しない場合はルームを作成する。 この関数は、これらの操作のいずれかによって有効なRoomIDを取得すると、"doneCb "を介してそれを返します。 doneCb "には2つのパラメータがある。 1つ目のパラメーターは、サービスに問題があった場合のレスポンスコードで、2つ目のパラメーターは、発見/作成されたルームIDです。
パラメーター:
roomName
- チェックするルーム名
roomDesc
- ルームを作る必要がある場合に使用するルームの説明。
roomCapacity
- ルームを作る必要がある場合に使用するルームの容量
doneCb
- 関数がエラーまたは有効なルーム ID を受け取った後に呼び出されるコールバック。
GetOrCreateRoomAsync
static Task<GetOrCreateRoomAsyncTaskResult> GetOrCreateRoomAsync(
string roomName,
string roomDescription,
uint roomCapacity
)
GetOrCreateRoom リクエストの非同期実装。 この関数は、"roomName "という名前のルームが存在するかどうかをチェックし、存在しない場合はルームを作成する。 C#の async/await
機能で await
-edできるように、このバリアントはTaskを返す。 タスクは2つの結果を受け取る。リクエストのステータスと、成功した場合、リクエストのroomIdである。
パラメーター:
roomName
- チェックするルーム名
roomDesc
- ルームを作る必要がある場合に使用するルームの説明。
roomCapacity
- ルームを作る必要がある場合に使用するルームの容量
次の値が返ります。
リクエストステータスとリクエスト成功時のroomIdを持つタスク