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