ロビーデータの更新

ロビーホストは、ロビーのデータを更新できる唯一のプレイヤーです。他のプレイヤーは、可視性オプションに応じてこのデータを読み取ることができます (ロビーデータとプレイヤーデータ を参照)。

ロビーレベルデータは、さまざまな方法で使用できます。

  • 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);
        }