更新大厅数据
大厅主机是唯一可以更新大厅数据的玩家。其他玩家可以根据可见性选项读取这些数据(请参阅 大厅数据和玩家数据)。
大厅级数据可以在多种情况下使用
**公开**的索引大厅属性可以在查询过滤器中使用,以查找匹配的大厅
- 例如,您的游戏可以使用“游戏模式”作为自定义公开索引属性,玩家可以在他们的查询中搜索“游戏模式 = foo”以查找匹配的大厅。
**仅限成员**的大厅属性可以由主机设置,但对所有成员可见
- 这可以用来与大厅成员共享数据
**私有**大厅数据仅对主机可见并由主机设置
- 这可以用来设置可能在重新连接或主机迁移时用于下一个主机的 数据。
以下代码示例显示了如何更新大厅数据
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);
}