マルチプレーヤーアプリ開発において「ある Room に入れるユーザーをあらかじめ予約したい」ということはよくあることだと思います。
Diarkis のRoom モジュールでは、 Room のオーナーがユーザーIDを指定することで Room へのアクセスを保証する機能があります。
Room に参加可能な枠(スロット)がすべて予約済みの場合、予約されていないユーザーは参加することができません。
ユーザーIDを指定して予約する
// This event is raised when reservations are made
room.OnReserve += HandleDiarkisOnRoomReserve;
// List of user IDs to make reservations with
List<string> memberIDs new = List<string>();
memberIDs.Add("uid-123");
memberIDs.Add("uid-456");
room.Reserve(roomID, memberIDs);
private void HandleDiarkisOnRoomReserve(bool success, byte[] msg)
{
if (!success)
{
// Failed to make reservations
}
}
予約をキャンセルする
// This event is raised when reservations are made
room.OnReserve += HandleDiarkisOnRoomCancelReserve;
// List of user IDs to make reservations with
List<string> memberIDs new = List<string>();
memberIDs.Add("uid-123");
memberIDs.Add("uid-456");
room.CancelReservation(roomID, memberIDs);
private void HandleDiarkisOnRoomCancelReserve(bool success, byte[] msg)
{
if (!success)
{
// Failed to cancel reservations
}
}
※ C# Client SDK v0.1.13 以上で動作します
おわりに
Diarkis の Room モジュールは、ユーザーIDを指定することでそのIDを持つユーザーの参加を予約する機能があります。
今回紹介したものは最もシンプルな方法ですが、他にもカスタム条件を設定することも可能です。
Diarkis の Room モジュール自体の説明は こちら のエントリを参照してください。