PFLobbyDataUpdate

对大厅的共享部分进行更新的请求。

语法

struct PFLobbyDataUpdate {  
    const PFEntityKey* newOwner;  
    const uint32_t* maxMemberCount;  
    const PFLobbyAccessPolicy* accessPolicy;  
    const PFLobbyMembershipLock* membershipLock;  
    uint32_t searchPropertyCount;  
    const char* const* searchPropertyKeys;  
    const char* const* searchPropertyValues;  
    uint32_t lobbyPropertyCount;  
    const char* const* lobbyPropertyKeys;  
    const char* const* lobbyPropertyValues;  
}  

成员

newOwner const PFEntityKey*
可能是 nullptr

大厅的可选新所有者。

此值只能在以下情况之一下更新:

  • 更新此字段的成员是大厅的当前所有者
  • 所有者迁移策略为 PFLobbyOwnerMigrationPolicy::Manual,而当前没有所有者
  • 所有者迁移策略为 PFLobbyOwnerMigrationPolicy::None

    如果此大厅为客户所有(当前所有者是 title_player_account 实体),则新所有者也必须是 title_player_account 实体。 如果此大厅为服务器所有(当前所有者是 game_server 实体),则新所有者也必须是 game_server 实体。

maxMemberCount const uint32_t*
可能是 nullptr

此大厅中成员数的可选更新容量。

此新值必须大于大厅中的当前成员数,并且小于 PFLobbyMaxMemberCountUpperLimit

此值只能由当前大厅所有者更新。

accessPolicy const PFLobbyAccessPolicy*
可能是 nullptr

此大厅的可选、已更新的访问策略。

此值只能由当前大厅所有者更新。

membershipLock const PFLobbyMembershipLock*
可能是 nullptr

此大厅的成员资格锁的可选更新。

此值只能由当前大厅所有者更新。

searchPropertyCount uint32_t

要更新的搜索属性数。

只有当前大厅所有者才能更新搜索属性。

在任何给定时间可能只有 PFLobbyMaxSearchPropertyCount 个并发搜索属性。 因此,如果删除其中一半属性,则最多可以在此更新中指定多个唯一属性两次。

如果违反属性限制,整个更新操作将会失败。

searchPropertyKeys const char* const*
大小为 searchPropertyCount 的数组

要更新的搜索属性的键。

只有当前大厅所有者才能更新大厅属性。

搜索属性对大厅的非成员可见为元数据,可用于筛选和排序大厅搜索结果。

仅更新此键列表中指定的属性。 若该键尚不存在,则须将创建属性。 若新属性值为 nullptr,则将删除该属性。 此列表中省略的所有现有属性均保持未修改状态。

搜索属性的格式必须为 string_keyN 或 number_keyN,其中“N”是介于 1 和 PFLobbyMaxSearchPropertyCount 之间的数字。 例如 string_key1、number_key14 等。

searchPropertyValues const char* const*
大小为 searchPropertyCount 的数组

要更新的搜索属性的值。

只有当前大厅所有者才能更新搜索属性。

搜索属性对大厅的非成员可见为元数据,可用于筛选和排序大厅搜索结果。

若要删除值,须提供 nullptr 作为其新值。

lobbyPropertyCount uint32_t

要更新的大厅属性数。

只有当前大厅所有者才能更新大厅属性。

在任何给定时间可能只有 PFLobbyMaxLobbyPropertyCount 个并发大厅属性。 因此,如果删除其中一半属性,则最多可以在此更新中指定多个唯一属性两次。

如果违反属性限制,整个更新操作将会失败。

lobbyPropertyKeys const char* const*
大小为 lobbyPropertyCount 的数组

要更新的大厅属性的键。

只有当前大厅所有者才能更新大厅属性。

大厅属性仅对大厅的成员可见。

仅更新此键列表中指定的属性。 若该键尚不存在,则须将创建属性。 若新属性值为 nullptr,则将删除该属性。 此列表中省略的所有现有属性均保持未修改状态。

lobbyPropertyValues const char* const*
大小为 lobbyPropertyCount 的数组

要更新的大厅属性的值。

只有当前大厅所有者才能更新大厅属性。

大厅属性仅对大厅的成员可见。

若要删除值,须提供 nullptr 作为其新值。

备注

大厅共享部分的大多数数据只能由所有者更新。 检查每个字段的文档以进行确认。

要求

标头: PFLobby.h

另请参阅

PFLobby 成员