PFLobbyDataUpdate
Eine Anforderung zum Durchführen eines Updates für den freigegebenen Teil des Wartebereichs.
Syntax
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;
}
Mitglieder
newOwner
const PFEntityKey*
kann nullptr sein
Ein optionaler, neuer Besitzer der Lobby.
Dieser Wert kann nur unter einer der folgenden Bedingungen aktualisiert werden:
- Das Mitglied, das dieses Feld aktualisiert, ist der aktuelle Besitzer der Lobby.
- Die Besitzermigrationsrichtlinie lautet
PFLobbyOwnerMigrationPolicy::Manual
, und es gibt derzeit keinen Besitzer. - Die Besitzermigrationsrichtlinie lautet
PFLobbyOwnerMigrationPolicy::None
Wenn sich dieser Wartebereich im Besitz des Clients befindet (der aktuelle Besitzer ist eine title_player_account Entität), muss der neue Besitzer auch eine title_player_account Entität sein. Wenn sich dieser Wartebereich im Besitz des Servers befindet (der aktuelle Besitzer ist eine game_server Entität), muss der neue Besitzer auch eine game_server Entität sein.
maxMemberCount
const uint32_t*
kann nullptr sein
Eine optionale, aktualisierte Kapazität für die Anzahl der Mitglieder in diesem Wartebereich.
Dieser neue Wert muss größer als die Anzahl der Mitglieder sein, die sich derzeit im Wartebereich befinden, und kleiner als PFLobbyMaxMemberCountUpperLimit
.
Dieser Wert kann nur vom aktuellen Lobbybesitzer aktualisiert werden.
accessPolicy
const PFLobbyAccessPolicy*
kann nullptr sein
Eine optionale, aktualisierte Zugriffsrichtlinie für diesen Wartebereich.
Dieser Wert kann nur vom aktuellen Lobbybesitzer aktualisiert werden.
membershipLock
const PFLobbyMembershipLock*
kann nullptr sein
Eine optionale Aktualisierung der Mitgliedschaftssperre für diesen Wartebereich.
Dieser Wert kann nur vom aktuellen Lobbybesitzer aktualisiert werden.
searchPropertyCount
uint32_t
Die Anzahl der zu aktualisierenden Sucheigenschaften.
Nur der aktuelle Wartebereichsbesitzer kann die Sucheigenschaften aktualisieren.
Es können nur gleichzeitige Sucheigenschaften zu einem bestimmten Zeitpunkt vorhanden sein PFLobbyMaxSearchPropertyCount
. Daher können in diesem Update höchstens doppelt so viele eindeutige Eigenschaften angegeben werden, wenn die Hälfte dieser Eigenschaften gelöscht wird.
Wenn die Eigenschaftsgrenzwerte verletzt werden, schlägt der gesamte Updatevorgang fehl.
searchPropertyKeys
const char* const*
Array der Größe searchPropertyCount
Die Schlüssel der zu aktualisierenden Sucheigenschaften.
Nur der aktuelle Lobbybesitzer kann die Lobbyeigenschaften aktualisieren.
Sucheigenschaften sind für Nichtmitglieder des Wartebereichs als Metadaten sichtbar, die zum Filtern und Sortieren von Lobby-Suchergebnissen verwendet werden können.
Nur die in dieser Liste der Schlüssel angegebenen Eigenschaften werden aktualisiert. Wenn der Schlüssel noch nicht vorhanden ist, wird die -Eigenschaft erstellt. Wenn der neue Eigenschaftswert nullptr ist, wird die Eigenschaft gelöscht. Alle vorhandenen Eigenschaften, die in dieser Liste weggelassen werden, bleiben unverändert.
Sucheigenschaften müssen das Format string_keyN oder number_keyN haben, wobei "N" eine Zahl zwischen 1 und PFLobbyMaxSearchPropertyCount
ist. z. B. string_key1, number_key14 usw.
searchPropertyValues
const char* const*
Array der Größe searchPropertyCount
Die Werte der zu aktualisierenden Sucheigenschaften.
Nur der aktuelle Wartebereichsbesitzer kann die Sucheigenschaften aktualisieren.
Sucheigenschaften sind für Nichtmitglieder des Wartebereichs als Metadaten sichtbar, die zum Filtern und Sortieren von Lobby-Suchergebnissen verwendet werden können.
Um einen Wert zu löschen, geben Sie nullptr als neuen Wert an.
lobbyPropertyCount
uint32_t
Die Anzahl der zu aktualisierenden Lobbyeigenschaften.
Nur der aktuelle Lobbybesitzer kann die Lobbyeigenschaften aktualisieren.
Es dürfen nur gleichzeitige Lobby-Eigenschaften zu einem bestimmten Zeitpunkt vorhanden sein PFLobbyMaxLobbyPropertyCount
. Daher können in diesem Update höchstens doppelt so viele eindeutige Eigenschaften angegeben werden, wenn die Hälfte dieser Eigenschaften gelöscht wird.
Wenn die Eigenschaftsgrenzwerte verletzt werden, schlägt der gesamte Updatevorgang fehl.
lobbyPropertyKeys
const char* const*
Array der Größe lobbyPropertyCount
Die Schlüssel der zu aktualisierenden Wartebereichseigenschaften.
Nur der aktuelle Lobbybesitzer kann die Lobbyeigenschaften aktualisieren.
Lobby-Eigenschaften sind nur für Mitglieder der Lobby sichtbar.
Nur die in dieser Liste der Schlüssel angegebenen Eigenschaften werden aktualisiert. Wenn der Schlüssel noch nicht vorhanden ist, wird die -Eigenschaft erstellt. Wenn der neue Eigenschaftswert nullptr ist, wird die Eigenschaft gelöscht. Alle vorhandenen Eigenschaften, die in dieser Liste weggelassen werden, bleiben unverändert.
lobbyPropertyValues
const char* const*
Array der Größe lobbyPropertyCount
Die Werte der zu aktualisierenden Lobbyeigenschaften.
Nur der aktuelle Lobbybesitzer kann die Lobbyeigenschaften aktualisieren.
Lobby-Eigenschaften sind nur für Mitglieder der Lobby sichtbar.
Um einen Wert zu löschen, geben Sie nullptr als neuen Wert an.
Hinweise
Die meisten Daten im freigegebenen Teil des Wartebereichs können nur vom Besitzer aktualisiert werden. Überprüfen Sie die Dokumentation für jedes Feld zur Bestätigung.
Voraussetzungen
Header: PFLobby.h