ロビーデータの更新
ロビーホストは、ロビーのデータを更新できる唯一のプレイヤーです。他のプレイヤーは、可視性オプションに応じてこのデータを読み取ることができます (ロビーデータとプレイヤーデータ を参照)。
ロビーレベルデータは、さまざまな方法で使用できます。
Public のインデックスありロビープロパティをクエリフィルターで使用して、一致するロビーを検索できます
- 例えば、ゲームでは "ゲームモード" をカスタムのインデックスあり Public プロパティとして使用でき、プレイヤーはクエリで "game mode = foo" を検索して一致するロビーを探すことができます。
メンバー専用 ロビープロパティは、ホストが設定できますが、すべてのメンバーに表示されます
- これを使用して、ロビーメンバーのみとデータを共有できます
Private ロビーデータはホストだけが表示および設定できます
- これを使用して、再接続時に使用したり、ホスト移行がある場合に次のホストに使用したりできるデータを設定できます。
以下のコードサンプルは、ロビーデータの更新方法を示しています。
C#
try
{
UpdateLobbyOptions options = new UpdateLobbyOptions();
options.Name = "testLobbyName";
options.MaxPlayers = 4;
options.IsPrivate = false;
//Ensure you sign-in before calling Authentication Instance
//See IAuthenticationService interface
options.HostId = AuthenticationService.Instance.PlayerId;
options.Data = new Dictionary<string, DataObject>()
{
{
"ExamplePrivateData", new DataObject(
visibility: DataObject.VisibilityOptions.Private,
value: "PrivateData")
},
{
"ExamplePublicData", new DataObject(
visibility: DataObject.VisibilityOptions.Public,
value: "PublicData",
index: DataObject.IndexOptions.S1)
},
};
var lobby = await LobbyService.Instance.UpdateLobbyAsync("lobbyId", options);
//...
}
catch (LobbyServiceException e)
{
Debug.Log(e);
}