From 7263052b478d7463374022284c85f2d8aeab840f Mon Sep 17 00:00:00 2001 From: PlayFab SDK Team Date: Tue, 8 Nov 2022 21:12:45 +0000 Subject: [PATCH] https://docs.microsoft.com/en-us/gaming/playfab/release-notes/#221107 --- .../Plugins/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- 4.23/PlayFabPlugin/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- .../Plugins/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- 4.24/PlayFabPlugin/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- .../Plugins/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- 4.25/PlayFabPlugin/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- .../Plugins/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- 4.26/PlayFabPlugin.zip | Bin 1156142 -> 1158467 bytes 4.26/PlayFabPlugin/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- .../Plugins/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- 4.27/PlayFabPlugin.zip | Bin 1156142 -> 1158467 bytes 4.27/PlayFabPlugin/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- .../Plugins/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- 5.0/PlayFabPlugin.zip | Bin 1155863 -> 1158188 bytes 5.0/PlayFabPlugin/PlayFab/PlayFab.uplugin | 4 +- .../PlayFab/Classes/PlayFabClientModels.h | 75 ++++++++--- .../Source/PlayFab/Classes/PlayFabEnums.h | 24 ++++ .../Classes/PlayFabMultiplayerModels.h | 3 + .../PlayFab/Classes/PlayFabServerModels.h | 46 +++++-- .../PlayFab/Private/PlayFabClientAPI.cpp | 19 ++- .../PlayFab/Private/PlayFabMultiplayerAPI.cpp | 3 + .../PlayFab/Private/PlayFabServerAPI.cpp | 6 + .../Private/PlayFabCommonSettings.cpp | 4 +- .../Private/Core/PlayFabClientDataModels.cpp | 116 ++++++++++++++---- .../Core/PlayFabMultiplayerDataModels.cpp | 88 ++++++++++++- .../Private/Core/PlayFabServerDataModels.cpp | 82 +++++++++++++ .../Public/Core/PlayFabClientDataModels.h | 105 +++++++++++++--- .../Core/PlayFabMultiplayerDataModels.h | 41 ++++++- .../Public/Core/PlayFabServerDataModels.h | 73 +++++++++-- 183 files changed, 7020 insertions(+), 1248 deletions(-) diff --git a/4.23/ExampleProject/Plugins/PlayFab/PlayFab.uplugin b/4.23/ExampleProject/Plugins/PlayFab/PlayFab.uplugin index 86258650..cacbff9c 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/PlayFab.uplugin +++ b/4.23/ExampleProject/Plugins/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "4.23.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 4.23 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 4.23 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index 85affe9f..310d1561 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index 2d1ac105..9950f857 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index b7dfa880..b7791689 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.23/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.23/PlayFabPlugin/PlayFab/PlayFab.uplugin b/4.23/PlayFabPlugin/PlayFab/PlayFab.uplugin index 86258650..cacbff9c 100644 --- a/4.23/PlayFabPlugin/PlayFab/PlayFab.uplugin +++ b/4.23/PlayFabPlugin/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "4.23.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 4.23 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 4.23 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index 85affe9f..310d1561 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index 2d1ac105..9950f857 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index b7dfa880..b7791689 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.23/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.24/ExampleProject/Plugins/PlayFab/PlayFab.uplugin b/4.24/ExampleProject/Plugins/PlayFab/PlayFab.uplugin index 2ca4eaf7..6a0ab879 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/PlayFab.uplugin +++ b/4.24/ExampleProject/Plugins/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "4.24.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 4.24 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 4.24 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index 85affe9f..310d1561 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index 2d1ac105..9950f857 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index b7dfa880..b7791689 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.24/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.24/PlayFabPlugin/PlayFab/PlayFab.uplugin b/4.24/PlayFabPlugin/PlayFab/PlayFab.uplugin index 2ca4eaf7..6a0ab879 100644 --- a/4.24/PlayFabPlugin/PlayFab/PlayFab.uplugin +++ b/4.24/PlayFabPlugin/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "4.24.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 4.24 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 4.24 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index 85affe9f..310d1561 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index 2d1ac105..9950f857 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index b7dfa880..b7791689 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.24/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.25/ExampleProject/Plugins/PlayFab/PlayFab.uplugin b/4.25/ExampleProject/Plugins/PlayFab/PlayFab.uplugin index cd4bee15..fe6b0fd5 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/PlayFab.uplugin +++ b/4.25/ExampleProject/Plugins/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "4.25.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 4.25 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 4.25 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index 85affe9f..310d1561 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index 2d1ac105..9950f857 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index b7dfa880..b7791689 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.25/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.25/PlayFabPlugin/PlayFab/PlayFab.uplugin b/4.25/PlayFabPlugin/PlayFab/PlayFab.uplugin index cd4bee15..fe6b0fd5 100644 --- a/4.25/PlayFabPlugin/PlayFab/PlayFab.uplugin +++ b/4.25/PlayFabPlugin/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "4.25.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 4.25 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 4.25 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index 85affe9f..310d1561 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index 2d1ac105..9950f857 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index b7dfa880..b7791689 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.25/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.26/ExampleProject/Plugins/PlayFab/PlayFab.uplugin b/4.26/ExampleProject/Plugins/PlayFab/PlayFab.uplugin index 9eeacff0..2efa37c4 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/PlayFab.uplugin +++ b/4.26/ExampleProject/Plugins/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "4.26.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 4.26 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 4.26 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index e1a41cd2..703d8274 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index b3905510..9c4d5405 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index 6afdfb64..3250bbbb 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.26/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.26/PlayFabPlugin.zip b/4.26/PlayFabPlugin.zip index bb99d4bce2dd916ca387b6cb0ab4b7fff6beb68b..21cee42591c413351c0b0b59a1a9c99bc986a8e7 100644 GIT binary patch delta 298955 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
NkXI>{5@h$kgQ_SCd(Y+ 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

F$Va4r=FPhx*^UMHrjMV3 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

d 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

PL&tJIB} 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 )UZ-n(F03vtZKr5g}XJ*IhzgGEd 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 aKEsEmCTQjUW@87;m5*jX{gwjF5A=T>MGsW~ delta 296355 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≈=2u)rBnY>Th`X? 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�M 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 /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index e1a41cd2..703d8274 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index b3905510..9c4d5405 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index 6afdfb64..3250bbbb 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.26/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.27/ExampleProject/Plugins/PlayFab/PlayFab.uplugin b/4.27/ExampleProject/Plugins/PlayFab/PlayFab.uplugin index fc9152e7..bdd51ec9 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/PlayFab.uplugin +++ b/4.27/ExampleProject/Plugins/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "4.27.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 4.27 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 4.27 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index e1a41cd2..703d8274 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index b3905510..9c4d5405 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index 6afdfb64..3250bbbb 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.27/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.27/PlayFabPlugin.zip b/4.27/PlayFabPlugin.zip index 2d5027dc1319435fea9baae0012e180d2585d581..76d9107d027a320db4deb72e44992443ef2506d2 100644 GIT binary patch delta 298955 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

7jvU#(|bRv%afk`l&`$L|dfZfzdBou`1A_R|zE% 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ℜ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 &x?4|1SV{I#`Mpqh)&W{=Ly#x4dcQs~gt0vxF? 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�M1%2>CSTms5$f0RT zjcU|4I#}Zd@tIg;?;V&?jV7TA zr*8YI(slc{6C(u93wB%Qr2CoJUA1dFZR8HC` zRv2mnipec%51+1yTaQ+aOJBf~z5f$O>~^vY7PUn)Uw?mWiKK2W^4fy>hu$Z+Kk=75S#;gHju0<+k9FvSE6s;szCK%5N=w$0J>~=JA)=RXM4SL#7uj7GSFr=3 z4j$Q1$!0^g9b13Q)z{rRI~2~qhGb-kU74o6Y%`)AoDoJD)~h2w z*HUR;w@cj!MjKx`Q%DO^jTO?eK!Cpw4mrhm|#g7J$>k@SPgMsuN||CY>8+I5jD>EWb)Q9sYR!|;8d~pWpHCQs zirvCWA3rl{LNjhmG%I0cQbi)YaO_>7jg7}$n?)n$mSRd02c3x>pDX!`ccC+{Eip3r zOw-%oSRrf7WE(&gO&@cX100KYGZPff$X32|y38Z6IhY&W?h`EWG7*9Am~o|U=YUm} zf(L|Td`zm@*zsR@!x{$p6ehk)nV7#=S}k#Lh%Hjp)vB8h>+XfobK+ti6II`<4d_EyzIMx2#9tvL&_>Bc*#aS&b`4KZkJT{{ zTm@m3Z!tyK;mj0Rv29BSSvt$z#jE*qkZ1-LWDS5W8Cu#V8ga(o&c38yBdwrAj+&)h zMNG?T^hbx8QWZ(-lQr6zc%3OWmS_cc#LwZdV{KxH$i>+R$gbQ$Z$yenerA}#8FZ*)KR)1p`Vqnat-KualiZP zCBFj9(B=7i<%o##B7GbKwmEr9`zz|=aWDgDUQOcS4JQJG7SVJF^>2|>hsE3TXY2*w zc(%6*7MCV=$rM_G1&1=iaT%6^gmpo%-mU}cJ$UuRiAhQ#88Zq<0 zXTW`4t+RhYSH3AFfvHVa&tme8mcYYH{%!(z@NJ@9Cr_^oloiKO)LSi0J;=*?{$h$( zb&5zE!8w%WMbTtOO&%!+%!sJ@@OhHZnpXAZ@+BQ@Q1N=LP8MQ|IC)(JQ#M+q>{B$d zFcK!sz3tuGR@@n>^R42@;UMa~_j`1VXmD^XB4?cqTtK+b*Tn@o5Pch+5y{UXx*@SePGFkvs1v2nL zB}~J!_K7?qzN<@Cs61yCS0ZBEBieuMQ*%U5$(-~3bz$Q8!gS`~s8Q(HQY-GLP(POB zM_w0jWSSxR4+lp+IY)ujT(G!O~^B&G*U2A=4Q z2pa}M1cK5I8Mxek7Lx!e|3oxS!>Bcm_k{~|pBwsjkxr@#m$>@{vjp$r#0yr{fS?*Q z=5g2;$-7P*q4)G8CQ`oWy#r4KQ55!a6ZwE3>~F{kD1D_ke=!O_zDZ7Hi0D2Ki(b*B zaEK(}HVdhlO`*JdfZVjj)zIQ$p1Rs+He-c_5hTSjVf~+KY0*rxBo25g-kCint$2Us zUY|jCsb#O;no$rcdpEa-B8mnXRJK8xi0YT{xdPn&7$6(QEXeyCa|G@#jZ0mbyFHI+V8&TJQ90PRfrRLAKI+DRcOqJJQQ zb70qfc?;Q}oKj-#RTpStUXSiQ66xF;DpTl(PnTnNp9B4{m}AmXnPImmmGT(#sm1Dj zYG47k(}&tO*HOaTM{%LqvJ85%f5KWJgKkiPvqn562kdvk`P3fptt{9q@brhVN~l8f zFOJIU#adoJ^S?Bcvv8VRD$j1OqEAtHf!VOyXUFj)cxzogDG5=RCNbE)*bYg5^l$3^ zXy_W5DD_(JS}{6TZ6q^6jBjA8KFn7{`^Ypv#a5HUBn<9f)qYg##oI{o4*oh_Ox3hs zRN+`uka}nZ0rwE5=x)ru8Riaq$%5MX37gu*+_jqVB0(cGCn*RQf1`MGnPGF?5wsUcdQ`6c^p9`dCQjn zr3Lw)#l)pwU)Y`gT-Z1k8tTY~2A`Eu53zSv-wd|ZzbXVL(bjd)7g^RBaX)iDG!AjA zLD_Vk0R2oi?#BM9kHff9A*Qd58Vpr zKEi(D9T8#e8{A^X;%sH7v*Au2LP}+bOS{!!ayVq*R<~P z-b|+a93-KTJ-LL#z?e`arb3YNshNVHc)^H8@=$}2UYD1N)`)>&7P0015(91FN3WN3 zvMe{@%bv@wCgDWW_W49*%?+; zpL!`nC)KwfH3y$|99I5eu-7GEP_FA~k#(gsi0ab6;tEu~udd&ajko;U+hGf$ynSc?_pnUiLINR$pG$DW@5iCd$E`mII%3d{*3$t34SFhw?$NBhx~SNvTbpPd(fHRhv|IPd+2QHrUURibu1P9 ztdF>M`2{sYhEK!kb&uIV^`-Ty6)c-o^&czo2!Ga{uy=oloO?jF?RIR7+{(ee3A)?E zo(@;A7qbbut=W;$35Hh*elyjWOdU9S%RdZ{X2FoM2s?m-6ip<%nCt|qo=Us&C^OZ1 zLRR$|fywW@-RV4d`8AKIX64m@*xFRDr{65`Xpx1)`)1-63RU7LUh9&LPgFbW-Js`Pue46`ChPtV@9FBwxh>YBv{6)RUz05(^^(7k9KQvTSG+GzJNM z0mD5pOvFXV?=T!V!DQ?-31nC}oKe~(sO4T$#n~BhG3T2E2B#OP3}d`rm;m(IQAky- ze=y*v#~~C|$6N-l5Vboo8p8uD_uGS56Qzm*J8uA_z5Dt`V)5FE9KR@Y)tVL3brqIg z5Lz=Y@Y(IvUxz%v!Xk2L3U`u-SioddT2DF=(?7Y^yp;YaB8dFPHscV{DRDsPB*FmvnJeqEl<1FToet5s3A9NrlkgYH1EcY09% zYPbCS_LIq3U+)vO&X;zN(nBe@kx~I>OLkWKW3hA^r)Q3oMaGUWB#;&KtGBOm>?_U5 zujn)fz(sX3gIey@vv&IzkyX)eb-vHv$FBe;Hu)nDxzY>HQ7%siS{-*=;6*|VJ4Sc- zb181cowT9fh?U04PZDPn4B`b-)FqR-qtmOP-oU=Va6G)VkC5_S7>$TLJLVm4hKmXxZ!7Pt-3G9JM5(@6~;_u20M|`Jb zC)#rYw$rF@!Oi^O|4Nt zsk)h%!<Mg*gSPZALY|}J<4y5}NG@@S z7*;u?2eA}u_V7G1H$+BeTt7KfJV6U~2$-?RM=p-SU`=uPq1rJt9E3h;Y4H)&O09oy zl=|sa%Xl~TU^)6v>%%AZ(p3SNx8bSCQwiWfGJWE!%*X_+hdd}Jq_qSIgONQ2mnsui zU*F{RlZ^hT_iY~LF2-|)u6rWKF6Wf_b{W89`L>!A_7LWewrWx%Vt{^bhMuTB95$+7)QfNkZj*b*BAeDa z9$QE?Y{>MKr6&$rNU0@e5PS?X!_Wmi@SL8Q>bym-uVFw2MC`j|$<(^vRj|hKxT^Z< zp7^y-RB4RB*Iyu}sSW_gq(RZPc|_w>LaicsHgt@0R5XuSe$~<*_iwDJ!0o;Q!%PO{{z`1z%amHzM#)o1DD@1?Fw1wAh9gn;SA zJ@J_a{V9?-#|ywuf2&|9-n}sJV7wo~NY^v?IS?ICc{qyS`tpXp zSi`kiC_CE%<;`=e3bK|$(Lyp620%$C2INMT2kJZD9}Ph5x#Ty^lqK|IA3fR8!EIxY zE~lfEQe2&N70DN`SGhUIxPXLv=J;nVnl|FJTpvWVPQlex$Jh+#8+ZVKj91A+kBmV8 zbZ^=QI3gTE-~DNL@NPOo+|1zxC-o7!Zc@e6AzuYhet+*62H|sZ;y#FAlVG{3g^7+7 zz=0fye*pl<>L;9`KyP6nEzjaaPR9`Z?;cO9m{VWnz+?7E(H0-hW`@@;T(?`=A3GoT zR%gA7(j>8io#&h=_h%K6_XFL4SG}WE%=cVu8+|)WAIh(fGW@*vP<& zK7;Gv1~L`&D*C`%J(4rDI(lI-F64Q*m6W<(MgaPH*lG$hXj~Y*am!zUJL$uqn9Y>k z7e?ggqo*}kXwz^DvybMeLH{zoMZpc03r!-(UQe0L_~ zd4!{s+g>K*?WmKK-4Q0ulFK+-Y(zxVTL+nzqCx8LKdm6`r4yNh;g|U{wvte2sM>Lg zTYx!2(&Di$)>=}zVTo*R2((>foqueY4fn1j&a)occ#>>LVsvi7o78?0Y}yGn*&NDRLyO>)*{Z%_)G--E02 zoe_r<2oCVVlvW_1lIEU3J{~LVpuE9`5dqe^+=F!msR+;{#|VB{HmibN&_icn#ARHI z_XJcbXdez&8S7{;Nsa1;3ez1UfNP7A2I_27`yk<|gzBwDS-o9>Nsb7lm6;ge6z?ka z>TD1_1y^zu@i6`H!7>na64?*kPH9c9eM8dMzXZ?B3Xos0BFo1|= z*20knxAGvlp=p0DnutliNcw`xhl>)R{H*t+AauLp_Osz*<))Hkfg(^L|`2x>657rO}~+B4V7rs4n|N7rf#I{Q`h<26I_k}lb`n-~eu zN?{=ZZod%bNYVo=>PgYn_NcuOsl57N6$#fQ1cBiJMoO^*;bmK(D_K077Jhq|68aqK8y&4?ph2QFX9? zCpr<`><>F--u)z1j;r|LuY2(wVQ42$P?+1a6x@rZTS11Btpmu4CJ|faLqxaYhi!6t z|3SOifOU(tAjxuCfPbwItNmA9^9XC7=EvY(?VLEVwK4C?h7a5Ib-zCc>D}&c21t5e z{M>Z+EV@(gtC`x5j|ax?hPK%RT2wTDiP$&I6Tc$m2GWf%CxHfRLc)fzzs=C5YJdxc zTgMdSlKtajk2hf_*$)ca$^JrXPdPwWePcP?6y&tAQC-Gu^9yI`_=ag+Qmk}N8`8cK z1|li5M zbNJ%)k%jK)ooLKF-6$eunUoR3N~4h1CgPv|oRbMrZM(??jc+&E)Zs2xeV@(*roB>! zYXrNiC#BXyU=HZ$yI}J=^`47=p0H1xYa>4x?0GAg@Jz7(h2Yuaz?54Yopvd@3*)I} zjU|BW9GHh5jnW63GUU-VM#ngk*@Lp`qEypVmVYsXLI~dkA;|(cCb`Udm%PryJh03? zHI->L6y58bTV{_ZaIxB?DBSBbp$L1OCVBQ=rwKxOe>318Tz-kbwDK2!IZZg?yPUX6 z6$XwX9lajM=dps`GQ>tr7r!Tm%t#3sf3eV2DLv=xbEls(p4#61+-}t}K>w7m2+);I zvjoTql_|J-T+u}aBE`!MC4QQ&T2!eaHc93qQ(*b zJRQB<-Lk@48%?O_U5yrhaX1nuU&}gs&&NXXJ?t|Nh1KgmX2~(0`NfQ? zg~9RbNgyv{0(KBvHNw)yMU2CLO_R0U(bc0dmr3dwlRM7R<%JQJ1|q~(nm9YEnv58E z`aNbG8)L%MBhvZAE3m9-x6CtfP|EJRor`PcO@e~^0TE14=S|vw_+5bE$1Y6&kn!q; zS)KCyg-KuQ9Sn?#AH=W;#6H5@VN##RNR6s*4!fVPdmd_xhr+&O_w8;!SjRi#M6}2| z3R5)}=Td9725x`b!=#^od0i=%^`OV%GEcR?{$mV09}^|Hgt>FJnN>zN#hS-CiKvL&DPc?(5G%WFNNM?74`|b`ezB8P3S9rl4 z;rxHG(eh$@xT+Q&ulTLtf?)nr{ERIBD|^6fAY7U(sq8_2>za7jP*iv`G9ZvHL zaN$i!2RYuIoRJ)Bn^JJ&v4O#SHPrG*6JFF0DZ+UQ@`I-9*!nAg-;`w`4WPibxhnIjQb z5dQKDWD3v0D42j$C>p<9jQ0nLdxJ_iZ@>h&9=NSY&4h(?EUn~sE0j4gju7@+69pO` z{CZ69r1$dk$EGp-qti6@`1J3`8sQg13ld#_<0P2|O1%Nis2aQk?WykdXHUe7&jg*L zLvT+)yZgCjpGHJdw-l+PXP%wLLLK#>hV?eS>#1bjLwQvFR{JFRY*7$?9w-uf!0P8? zjV|Ts`PsOjvVTNSXpaScINB)M{f1T3F@YA>FG;4lgO=So(RA5;b^BqN<#a--4(4Qk z{|uZL=0gx9yOAbaJWLR;m>8Y0#l@_B1hL6aA)4#|zb1(oJ_$Bki)S7Qo8eH;hRrJ0 zJR}wXN2kT+l=|4%tStHbSTJ>`5(UA89nL)9{Dw0*Hx-tp6&bpJO#p$_-Afx5@w#x6J@YZSEevfQ`cf4Lc~ne z#gdKsha^TCS*D_k#|<3n_xOA&Xt$25oD|A?`CopmamV-*^>*>6f_uef%8J4Vlm|l@ zHy<}-aXCXq92!qXS`u5rD(p#rf92XlTDH!w=JD>7D}KBUWD0^6gmH-H8>!}kG-)b@ zmoY=CE@e6taV_2>K*VTOD!HouU7v-JIm}=l)S|Er$Z9c6K_OPb?~+OIR}OpJjf(_i z)Ka2srp}kTEu<(aw2lIUU>OA+!793k@62U>O+7J%@~GkDt&34k!a8Sv%?!YVV`oOK zC`ZHkW~N@#_0FtK&_9#Bk{%*RtdCatsFwxnvYDrgsO*zsUe+TCVs%CSM(V@ubvaigh~0t^V(fvOPRo<{GHNlYF!5I00{|cv?kF zLKrEEXi&K19IYrMj91WwN32N37Ad2S@7s<+(vk;2w7ppoMbLM`T|tUBF!JW3YHf@Q zu$0|#QGv8Y{{MTa5hjR;i=bpyw1xvg7ZZ3HLBlv%SivTL3eg%xy|Q12<1XnESjC^> z;dyiY=I5-W%3E+V)GxNI3p|&_i_s%l9-xa&zY9P3CI|>GZq1-W4^PdAKQ4SJIYH-lFPL#EvpI%d0AIm)iboJLuKg$34=19>erVE zd92zgS#mN~5!Om-xF+s2=?&SF=xQEKAC?VQL?H{KYj;KGjwxg@=U}^nsWcibS*=jh z814i{Fm+KUX+cj{5E2!sJ8aO>`DSy=?)jV>hzGS<@hED|kjXnovt-9*X{J3m#kSAgp^@ zbp3vR@moLq!u!+i0RX-M=ynUn`}B$$-Ke_^I+ww(xIfd5?C*M4XsYs>yg#1a1|5ni zdJ&(3CEBSyF3)0?7daObDC%Df;`n{*ZstVYEb^~z$6Dx739d9d*-uE~{iE(+&2Ukc z1C?$H{hsKmjG9MsR|3A|0uccax;g|KC$(9BE`B}ERUt*D)L{BwV@|`T=tN(#J_Qmr zX&(Uz(t4l&Sa9gnoG4SD{9x%g)`>Z2=c0ilj{QAHwgP&qBsrot>K-Me|C7BdYmyoS z!teeHee)Ro0a{w+Sz4Z@j^%6IjXI@Hwvw#JzZVjQqiLWCBymT4T8E~AFC2Z*@I@+r z+7Ow9GYKgs(~!7gQfCxgH2h{)JG=*&=m;&_v<;r)V`0aeprECo_8)X6tKg9*$g`)U z2H#PhexM-s_|vM+b^eJaCLe#IzVr0ch9D0<@!P+4?rB~9Ck{T*pZIf6R3sdGf-=*o zr?|mG?@%h$FQc6= zi1$j24=3-m7A>zfsn_&2nUJh2XO2A~Tuzphz%~RpK=D!(Ctpq$d`Op*1uf}+axxB! zwG+?;@!($M+XgZ8ELxhFj$X+lweP!?XH^VJ?%`0qaVy;LZH^YIR~&_xD8X3UZrohn z)a{R5$G?({#OmFNDdaev%lN zWpm6EnU#B75wTe|GZvg>|7b*iXCdX;!?W-vnC1hg;Kn_Juic5@C+6VBIf2sywQSDw zMrt{MnHsHiVEDE^Y1&h!2ZCQ{>YrIBtJX)6AbDP`?b)fGx(y~yR}?D0v-;{Ioaq{n z;saz^|2ZIj@+P0o`HmXt5w)x@sF@RF9RXX+0YVx;MQO?`fCHZVP0_%A^l!2VrUldv ziMzp5$XCJf7HM6_W=ukkAYsyPS5rk|2iKZ7U3;l#I9zV(vCBN*j#zbcr1!ZhhowZ z_+G!vKg{?aHB=3mp-AGRHiV5%OlFelRRi&oy{Zf3dsChl z08bO=i{R=LTtDo8+Wx%yes~9-sZ$KZFZFw7OJ#Daub3vbdKhGtS}CW~q4Ag1Z=Xp= zBb&mV56$5r(MdLfX-pIEYKF;a_r5tW@(sfxPQR$?`IzgRvD&8!tZt3cSl@sHT;ZVD zv&Mazy2d4_scW>c2L}M<{VsSbOeY1fr~;=OMkfM(7=uB7#QRKe(mDqaToHT}C^z_t zEuw@EZSe|zZdhX`uZt9kf$IepPxZe@2LGKCMvk1SI$QCvl7llymPe=`a>vL}Sy^p{ zyA1!LyMp)0Jb=iM+tv!eC}gr2);ucz0!9Rx_usQxc#ic1gOG=7*hJ*1O!*8NJxLFl z_DvRWPDY7;XXu7pd~*a9Y%a~-f5}RIqxfr9vMS-Cm88vd)k^0FFI%a?L7_KJF6w=& zqRmqcL}1s8vJzP*;0Cgr$zB9ni8mSn0bH{cIRtI6ZG#S&mM6(K&ekM9iRU1Sv*P)W z&kdoWxxbv=;0dz zTmi2-&tTxIK^z~P#f&4PT+=<|&(!+NV1P8r+{STx({#H&5Cmor8dquMi+aQiSIIs> zZ1NbLSjjUe`#{OhC5ba9>cUW3*GH%?1FDED*B82)9b&Q~NRn=JPT??OoqB4@abx`k zlbZp5Y6B)vh5==e1hbs^EP;Si&<<$OPtJ6vHlnc0*`PIm0$gmE6hYYE>;p;hp~SE$ z>gm2_xw8;brWv#VAixCzBngtUsYyx8ysNHEo!tg)EMo~*S%wQyN> zTaAa)a*GY=@xE{WNHeZhFoPj?hU0PxbCTbGZlZN3-g2TP*%Xz!BI_^x{DY za?c>DIVEMW%l!l-ZLPzMBA&ZFD<6sxL*a#DtNKRD0fdP4U&1 zN;csgP?AO;+5!+Zd8<j_4~~}6OdO_|*zTdiRRWhEHe^xc8Md6R zaLkam8utT6ZjM?|&3?uSEf+72RdOu`GwHb7w=W0>31y39oI=|pBbj+?Tu-TgVPkWx z4hWEf9$OXc=cJ8*)emk2j3(c5;J@>^(0tx~uRrYSUxQ-MR!olX*n04m(-wq}L)H~R zndk4mHoxxwtXMrZ<9xwG24QRq532pXKHak7U>k}wx|N63kF#p`Wq-eCljPHRzhhwe znse2OZkH|Himi1fC4OhBSzC91T^(*1sTALGTk{lx!L~-SSniK@-5Hy!+)3|i0g%SF z^7!{z-R^!2kLHG^GfmTiETt)u;DQPMUMVh&1XcqiIem z(q!j^lV_@-jznn+rS{WEornF z?v?uv?sdd8<4_I=YzD0%x&bb>5N8lfS8xCuubN}fPE_+44^5n);G zl43-`Nl~XDg-JpL$gpaE06RBt2%?KN4NZ(A0amP93ciTIM*XDEJJNQ|)=0XikYFHmM;pkP}2lBO$~Sdk_MQ z2q-D)sqy=$UO`!&b|rwDi!X!^rA%Cv7C*|8v?`^n$AbbD4D;82X#s+O3k1#}NW)9A zA;5H?ogCwD>V34?W>x?=!D0+7K$SehG+wmXrBz6rSxlLw3MrBnAO^WWumnK{8HBT; z3Lcy`RoYN$I0YY#8X^QaL5xh2M3fXG3QmeT1u0=lpj<^VsUcF36GTcQAzVlbAf*^l z_9{W0awExY{2;G?LYn1;jWBF#!SJP3nv6Jwwc{Iv(M$L$(l$i-1d|a>`J~-{)%#OCe+4Xt$t%XE2>FPF zg;ul9>d)+5X3f>C-!|2qu1LdNO~;<*W{A-0>UU@L3D;{r)NT61sTx1x8$5OmyO&wIM(mHX6CXb{zu!0C z>ReA19ry)%BndMHERHjL^%Oep( zU6P6d6pCx8d>DpuAj^g0z$^;Hp+*{lCA(GxSpV05l|CO7Pz(+G*l@AdBSm8<0jjW% z&91tC1svFDCfLCzgAbR|by7@(4)%@2_#nA6^u!)1Sus(~S< zQPJL-^Bj7BSJ>O8RY-eojs_Tpk_Q?Z9=>%(eaSa%@KRs#4j(E&P|ZRikcCNW>A)rY z_MoJHoWW4uy7$sCo@hD1kRszFZKm+nGY>j?upp5*oA-Lu7vD1>=+3^tX;;@${&9#a5Z(pgWy zYTmQIB(#pu*~%k$L5ND2P6SxR98y9lQgwab3Bo2QMZbu$1iT2gmsz_g58x%r5$l_O z5Xv)nGe3i8eg171G%#?IHR3~%j?8D8D3Kx=B1I_L)J4|!x80Gc`WGU6Vm*7rwmVW& zM7fJczKfSv+S+z&8Ei_}OxCcOV!ns~tC%lJG)Hrr#r>0d{dO(ZpH{ z`0uuDf*A=MCAe+CV-O%%0q~ZxEB_*YB`{IFph%p8BSlQtNH5r9ypA>~NmpRL6>Y|3 z(Lgb^^Jbo`GNaJs8{B~?+cOey0W7RKhz*jS9Nd){JdhNeo)FxB?g~DnQ#U;ucoA+T z6vQjw=vBr^_jNeE;o1TFx?HM? zKV!}3i@g?v08Qy^(cFCt^hwiy^3~bNaDz_y`>CW;jv|}cT)z9Iox%3Vj>;*#hQHN@ z^eFwVxei?$u63M>MFlQSie*kLCR!2?tf{J#&Fg}zP{$IdYJZrbX)LU1tQ@Lp3al%? z=}}(uD8Z;a81({0QBoScK<_1#mlERpR-!X$JNdjKMTyD$%igi{OcBC=ev6(o`Hsem z#>Cgb#HjIgHRFD(Zq!|~yBhW2Zx?2uKq*6^u8TLK6cgOXU5lW5%E zeSW*yuE*Mk=7{`k*bkq770@pR)Jgra*%3E1UmQKEhU5xKZNDj)-F~w^%<0txN^P&Y zFetY>4O`exaO9fn2g6qNe$w`InD55H71GyNS$9_}eR9__I^PS1 zuIP*LDH^QuORSXsU~~bn75!*)`*i#12lHzzc;#2U-t3QGhfkA#9b9p~4Pp4(T#!e1 zW@KOMMEhNeSZd>Ij=ZqZrEst3u3|K9&7SvJfM2+g;upa1 zvb$#Zg(>Cv<%8FHu;Z;ZW7T2|%r)FjGY*5vRw^RKSfvO6)(XS%i)@Wz z4^E!*8q487ljz#VlXhYs+7dt9G=7*|h1rLDW1MhLKtYh(0tzs*thvnCPqD+o46)ey3ogiDP$=SxlG7~->o5*P< zh;^Ik-bx>RhZ1hJb9%pixhaS~XR+I-oWB5?LFP`0hr{w5*UirfR$`GGh;#lrhiix! zAEcFv&dP*k@#C>PNcwslMOXzr^Xfs&mv;6FGJivWk*oNST*y*-R3#zM>G-0V{|+ z>U4Px^vmzA0ky-`HLy?{w_*-jBpW5wk$;+e9s3L>;vPP@U31*@1+kEw(*dJ+A%<9sKx-kkzT|!u~G~HMv3&DCav_L ze~zwN)IKr}f$Y4N9jgAl?ynUDSs0{&joT!5PyRR*9g!qTLdso8JA00gyE~K!{~z9;VEX* z@3taFF-H;WvKiP?#nv!bArqy5!V@Al6cua`0m%XmnnxN$o>ePI!M_Om9ntf4;-h|9M?pz35)7-+xv@<=(T5no1wA43K-h zSZTHaU{Jun`G2)XlzD>{Xh!!(JVIpVxO@1qUCACC!PIgyjp1Q@{<~`ThU4nPi_OoqY=3MXrEE?) z5vcB?gUav?o?360hnKs@n{UE_`lM<`>f=*Gy<+sp2^>R&(lY-)n{UYUpZ5(Jzz+8q zjw|Q!ycok8soB(SJgdh^>p|_xBOsASA)=P`EMScK(1gWl)xv3o^?$zNA!S}@OGe2b zh7r{_3@GI*8wTK|a%cGE8-JnvW2MO45f+u=k>4%}BJ$|u>q>aQwdEyzvzKEIZDO$< zC)wizi1_0Z$}`A^uIJEbbh0jDfJ2-C?3gR2QRpHzR2VK|1KINO)jVys*?wGKnmiwM zfFpipp4?)@_D8mdYJc>Jv5Vtuj7D0yP0GA1!E7rERWVo7WemfaL(42%#LpJt0mM(`D#)*#j9b;i!MwDSk-iYcZsSN22Efazq|{6whq z9!&%4&-{vdb8k4S**ku{6#B>vm8^NQaIw98yxYESF%U(DH-8cX*xJ&Xx@!z`gf6n(*&~0O#`JB8(J;K$_Bq>t!n`7nOL_n9A)zhlPx*3S@GMq7Zz$)B0%Pd|pGml-&BxXR!W`8diTidUP4^MVltxkLP=j->X zqrE#6)9ockWST;s1GC?e(%@fqY8vi7f6~fO($urIlSVte%NkFGg=BiI1y+)lfis>G z6LXSMB1{385kb-v(V#NxMAOV0EE|4y`WnAR>~)82!&QDT164-2KjA?U1bFHfMV=|Y{pRqY8YR(d1Y!cnwL4M=}DTyf*DHz_1yoKOKNO5fJWAGq+baD8vP7L&lI7OEUQSQ6f#@G zD%gJ7bS$acY#oo(@@v?D5j@=;hbb8B<$q4^{2pyzy?7uq$Rx?D<>^Bt9U_fr1UXDF zT=9t4mro_P!oH@Lm`~=Ei!A0}u-d4|*)%~s2`E+j5w^WhbP150{dXtE)62D2}R2n!9X_CUpHg0D4tdkpjUVrm$ zZR|wDt~$zfZ5w6r$CgSy1{okLZwtZcmJPs0PCUX(h#BJai3elc;*{6VD2Af9L1NEa z)vGKq8Q!xjFItEwY1taDVfHey}ov zmY1ONFF~PSWopNa&A3T9l7@Y+*vm`Hn`xGd+(d^bbrWn0!AtmEE6;{J4{=%~^TTN% zpV>Z;u+AYE$xVUCkB?wIVOf-!PhTTkI3m3aD0EO^L8T9wxV{VDFUea$TaiWm&9iQ! zXE&>Ikek>!qG?q#HVM_tNPmN&Vn#TIdZ9m`bP}hS!E#V1z2X$3NI*$34w7ItRG7pn zK4Fw}vtQ8UyFFM$_Ez&w zk$Aqyft0H8(oj{R;2M+rgx-<^Rq<^oE12DKn_J8dX zG09=B>D~#)T&7$EEKijq#Pc*2hnG@=)ujeG9)w9$YOW)EeAYdLkI?J_0uhZ5V+g{W zzP#Ur52l(?MN95A>xBph9|&aBN(p2HBuHwDXl1vm5k|YTHm7S0>4U3(O*B@PzqaVz zs$VY^rR8xHCw_Mdgn#0nd3maZ#kWj3PjTU;LT=Lvx&PO*PNk*?Jc9ZH+vIC2s}uju z&Y+Gkdt^?#{B~xlQ5X{0WZ$VYHm?>t#t6?$go`2@nu4rDe0(KR^U9`DJ zt(Cibz+bla%l1B&ihpN+kJXyMNg9x0=hy^T{jzN$t0&4!qo}37n1XiSj~hGXpVe;| zV)0*2a?45XZ#&85LoTrXy1=@rB=;p+)^*`c5gBG!Q-s$roQa}MdCo~d<3Nv^3c{9} zY#H6HD{icOzJJuB_jYPOC8J{6V}CRD^&JIAeR%;zi>iY z9Mm-yfnE_rDgUB-FofIVCXAzV?yioTZ&M7_2Id)8%zq1j$VX=$tOp-P_~r|yHdD+G zgQn}9y;yx%Uw-|haxxo^)Dh(l*kP28yDg7_Yyq8LxDosNiCfaG(ffiVMYo@FW}c2tUkW ztf&%fK{#8T>UreuCiGl3H0Qpd$wR^qo10utT8q!?peevfQ=wqq9#0Zf2ITq-G)p&rt9ozE*o8WIj z8Nj5yfuGuCp@0P~VHlz!4$ZJ!>X(zmQ-jY&N-;tfw=%<7)gp9d5V8>C!lFgs+hEO$ z;VGqvVTXG|b-+7}%{uq)wY6hci_-O`*?%i0XIgfm9r-7#cZf##d-@jK?4ytt)lA*)L+jbtI6Qaf1#3DZKu+XwAu@6^m#^lgQI($nWZHy?<|R zEZ2+x6)Er%&m@kSdN;1^WHbAM<_5NOl*p=npz0_>JD#GGBOAdxBZ;RPPDC_V^`(S? z6>zTjuY=GLTiq&z*X5K+WEECpzo;gtW{Kt;eNj2|b5+1{_=_hRB*K23E9p9on!SSW zueY~5xoF4>hb&h#yi=rTUwOxpQGe8j<+vS+90So4b$ZRx3H1}XkW`1eq1Yr;E|C+Q zPn;B%90L1Oz-SClK$MlmnKr}UNeXyULWwwfe`K+*U%R}`x6nUc6iL%xNcaY0kNCj6 zp-AuC_wyefsKj9t92A2z*^GS*x!>}~dOZ=>gn#jzToOG6{@WZqv)#vS zxKWKjre6JsprqUciFAv<7=LncL-JT0eka7}ktR7Pq66+rf!E zjk|IE%awF@tSkf?V5F#PRE2U8n1sJL98T=+^0Xs>1Qx%wBH+S`NHiIU>FT<}EECrC z@WxAuzy*=b2H`S(b8;QN!L>hYBizA{op0fy_a1N|0P_}@I2>0Q9DkLNxv!D9UK(qP z4<$k8QNl-ab8*<1;M;SDu>d7GbfsbQ`Cou@KH;FJ~Sk;R4)v~T^avUVp9Op>R(GuqaKUX814}P(~Guz*ss(;g%-fJEPv21TYP^8ET zG=;41VTly4CT1`R;92G@iJ^^PHHYtW8zinI2@^7r)_4ZeIyUoYJwnFO9L;C(-PwjD z(D_Fs;PTna>$&6)Ee5k9g_sjBB}|ra*b=9MXiFr6KtiB`04!<}%U4LN$*W=$jADW1 z9IfK@S!eEu(SI*?ab~-CJzpwromL+Y*OYYfHGCc{&)^ zRf?<9Gj<$Iu4~h_CzOFp4CB;)&(YbD1jt^DF7eW<(0|(w+4FfM;u+O=FAk9+g`6C6 zojb}_eawuLNCIUlX_wdnYT0EEN)dbLdfBTyTQi$rkR`ZMEuM39rsUYqy%4+ojK#0Y z>{m&`j$U(pdU@9zUe|jz675uVnt~lEvvUdOX;>8DZXA+>0&w$iNlbE;c05EQFsE#oE&Ok2+9Dc<>zb=mTCtMLVuZ!Yx%EK6nrtfMoHiDo_#l&n^ zyknt@#2D)EE5ul@q|3u1ME>Uu)b-tq8C-8(-qp^|U8g;G%dUf=*k0Y&K)<`)D|xwQ zCO_6j>T_ak=#ULOP8#C29fzICW?g4`r`@HK6MsOvH5!>)oR=^+QbN$KlE!^V{AFGT zQi6MLmJYWgG!s^W$q0LQ{qipb+~AEXc)ou7P=B*M-E+A|+Ez6*!sk@0?xN6g$bknr zR_{wtNo~me2HKru`jmtonKR;xYiA;>N0N)BfL(Ttoqp!pe0(hCa71^;-+Er2Xit9~6ai%8Kd%TR%QFqr}n}3ww%YNj!UxzDD_5#}RhH=`nmkao>$!?rxZzmkQ z$iebO;rpmDjpA9h3D}$l1oD{ZMcmlLx=}7`VsN?cX;QeHV4i5;E|I&!Py={_JjJm2 z&&8Bb78j|WUG`y3sYhKh9F(&yIb7y+gpSzjJOs2kGy$Q5pj74oM@~MSpnn@<68*hV zCUlwXi#ss@Qe+`6@??aWI%;;JxKoEbBV{@C1)szig2GQNBUG|;p%9cn9v*}e{hTmV zzddXPsMNZdGeRYve0@3`clR>MMM7I?=2TGf%0fYwb(I;mmgT#N5h4jalNb?=l!YWX zJPKlxTG{A?NJt+A?9W&D)PLb7cr!hRxd*|MNntj>Kij}er2f&F(D{6(o{3!&muHZ; zY|f3B9$jWanHQ&w36V%16BU6*CU|DQz@rkt&LArFAa8+yEBlHWlA0ElvfQ&g%syk8 zGz(>yx2KY|+`}S;la|HUzuWIl4|dwJ(-@PuY;-S`y3C{&-t=S5Vt){av~$@t9-j%J zA-fh1xMAe22Q1f`d>kUcmN^8GZ@3$CN3zqRw%rGK#CSg0?z=Gtf?277^I4TPfyPK^ zA2g&i-+PQGN0hpfiWyH%D{eTcPr$7v2S+=$XVAm8moy+|D^ZWuG?V#BAzfoO{g$W+ zYthka!ANNUq?(}`6Mw}D)zCSO(2fk;?Dn^yqwofrenPuu)lHNo=7-JU`0K;%=2+j_ znItf#`qz)OSTslzi@0$aQYNaV>ji)=HUk{?V zLBpstAN@!XuQNpc9hpeSad}84UYJWopnN=ydeE%kS=wB-M}N54UDmXvW5CFa986Xu zjVZxEi-YL{SE7LkBDN-507+}Ig~_`nThRS$vX&G{)vi=|)0{LYHN}bl=b^chDO+MO z8uMpKwB?VyH06Kg({EifPi?C>Z4otnM(;DP>cdvL@r(S*gjyL5g+UtcJ&OKh2U38S z@gd{&na#0F&3|IinnhfuLLKnFyCGKKw{n#HvFV^}4z$Fv0!>6m|Q ztPfDq@NmqR_t|13Bz+p7-4*9~b9ey4Ty5@i8NeE&*9f(5|xp@O?&j1z);lcAAFvr(-4J?%ds5B4( zn;`BGHh%@=!FCN=b32HNLwNCs0NMZ=0pP*%)%A-36wpd273SEyWwabBOJOj_l(8N- zb^HO> zDOi-~Rj$O+`nNJybp(~tn~PgzOJ{odGe_8aSlwRF8ZG{@w4gMp0VWr-R8DB6KK?du$-V)fu(bjl=ufd0Ko)IO zzYa;DB{h{AP*75+8CZCZxe64x`XI2@41d#2RR?LY8Z`GsG4*IJKbl7(;+*F!weBD~ z#ckbwK~uyPN75|ysIp3+9%-)lyJj$5d>n~078?J7K`B+Iix1q#DnKsw1K6~x{dlGX zOm}Vtm}}T2umCRoPL=t}QUwV!KQyF6*LLlW^SLZk*0`*e55MsHg2L%ea{&bohkrgp zyT|=0W}H!|26QK`&wKYq^%WDUz&?LcppvBh652s5BoYHQ!uci)EaUkmrsR%P#IhW1 zLOj|8CzO(Zf``#rMewBxqmlw3xEi)T`5b<~srlep$^HA=`kxh=lz_d$O|eik5z7i7 zR~zlLixs${ZhzpY)hBG% z#$5U;jil86jCw)Dri|{JbiK%OGzg6pi&=-Pj%%o;(xzPdB-DIkeM*>YNee$4RO!V& zn&NUZvwaX)=fk=b*oLI&arWw-@>OV3`(hbqaJoI4b>qz%W+2vDq55F;jI7ZuWK{EQ|3AV4ZPT+ z&p?!|0uWBb?b3f?`Y>Ax&O&>JQyYrsS%6S}9TAKgJ#aUkCk5_M&s>(E#(mLvuTwD0Q%+hjX<$nfhVU2Cfx*Eyo#AQ!T z?gJfdDJ#gse3IL*54P{o{2J_f)cuNi9#_+g@Df!aT7RE(Tc2swgyLn4DiD7Rg_ycq zDTJw5hlB|yAXE1|ePeVc%@=2E+xEoH#I|kQcAj8jYhoJ{+qP}nHa72n&u)LZr|Y`A z>vWyE^}9KPY32A&QX;8m-@IEF1w|dOQDsBO?y<3FR2^gDie?>?;?4y(#dbJECE2jS zy%aq5<^0Amv5zO+x>yFW33d>csl`HRl z7GWgB@NJ*#uNF5D-`lQG39=j8eg|4xY8T#JOk9cSn*BZeqYE8=w}aamHKh;-zdhyP zS<*QY>)>arNs_gajmw>U9A0Me7Hqz40Rp>))DYN4$4WOf1kTfOGo3W${nUzinyMlYL?^0+o!Z8uKCfe@a((})%mqVN3e?Qb{2c-58 z7)~@4HfS8!Fj>ltMpj6`K4pBKdS2tB!6{~}go+)Gn^i8`Iv$R@ZR?-VzQSR20wf>@ zd=t?#F~W=caZ-J`s6vCF5yuVH1q~1^S%Qz^2$3^cqC0zcE~e(NbQ>`W2faFy@lArg ze8XYJgD(`XsdvRJkMhR?4wL%%!W&nM7ki&n2GDzhqySv!@l1oYDJ`#hJ>Y8!DF!vb zUzd-&9^$-LkJ{u>$8;9R`;Wxw0O4^)Ijp3Leh-2i(vDcxDaYCeu_-8aCxaa{W%a8B_cj&y^XaP5^l1!PC2kIE?CZ%g2e!?jR$2d)q zkuP@CXE|EYDe^jr$!o`>w*}4{GFJmashs}?FNxlp zNefx~rj*P?Q@jqO7YvY_#>vCp8m^L1af$pi}d zVS+vDKL43#3a4%Rqnkcr2lECRWzP>4cJzJ%MB_^^?=Ts zv@|SVH@Q#zw7ecx%E)GpX>V{`tz2onLJFmPLp1wPiuo4UO)BTi#CH{-P{$XIB-fUo zErtgeo@{Ox<9Jj7zjKw~2%I1y*e9db1Gm5YV0AHE*YBI|x{tuT>IegHD>+gR0?&JO zf8_|EqRrrHfj;lFCGe3LcVVHw4}@$AfgHeJ$9bbzR@Kkc!?}a%QzwYY zN5W<6ba8gtk-A3?{>N%7G*dpTkJ5OO&jms|^*4%*%x_X-9)P02iXn*2Vt{z~s*&*a zXC?IkI3D)>HIDgiUl8Ed%(^oNTJ4M?u|W_JY+w#ncO#3ek2fj#WyT3ImN1is5tb*> zNk3&o-pV#b5sR^42@ZoPYS?cthQpUj=?hW+o+W#5?ct`~lYQ*(Y<2^7R-yyDKvsxgKdAofJ&6upGk@syPf&WaYG4r@$2N2%;+eia z1E%h7Vj$JCbRAVxf7+wF3%bD8HqcY2E+t14FV?66`M*^6t9>RFkgBinJYrGn#}CM} znjf1zBe-S^>07nzW-j=b?S?Ski=D*DIEq4W5!bg9rr^g0!A;7kjLk}1P&yk1)00=t zEcWzmfxzlU(`Fi&?C!4a&hN84HuSe+0MZx2XSD6No3;_fjVJC!>SX;*6MeZ$o17um zvB5mMKcAWcu2a+m5mtY;si4CxdV1bp-aX&T;su(h+-nS~e($f0sM^E^h^8alVl3A| z{qbt+au0AAvpRxNy%RuRWADL_4jA0R_yLqe!x|cTX(Jg4q^1jW$?H*Fzy81Kf}{X9n8>k6fW^75vjN_WWD63uCqiq{$v@Eg_|7K=ZdZP!l0Fq06AxVi4~ zB&iH#sT0Q|yq-^~PxTcc z8ryAWS}QqzUrW#X!`zoYTbxR>OK7(^Z?)Q+Bvpjddj3VHXPdi}z!wBAo9+@uvbfL= z@p!b@Cr$mFR;pk2U2l3G@)_>t+Y2t=>68=k2^fj2C#FlanfYO0F%Q#`} z^!=eptaQ>eV{;?@z6rebgi4voKi$p3s1PYGRi!QYdl#ix56L?l5d~j9lTzV8Yhc5w zrF+|a-c3gwNJDtaT#_GcR4~%MHOtgQMWhJl?ovc*&IuB!Z+<$3k8VE)# zO|Prs)j$xJ@)#%|!y~U{T3gfv=6*wfse<|E*DP@YNH!^+{upu0Ce%_X$(L(al2I<% z-fiUZr8M_~`)PYvOkZ{O$7S<&=!V?sby@WWU5!!+!}Z0=(wagPItx4n7vt}W^RCtW5_4DNfO5y3q2hW(6A||J`s+_d zmS{2OeX)YkI%>;Nb=r36nO}0!S+k2vln<29MJ1ud4Ll10kU1g0XTZ(#&X$*R(mZ{w zr(Wt4ynHv49^TR+-`~>d3j*f+IJrA`xcxGv#f+%vqwDY18u{LDZ@L!g_pES# z^otw>E*u1ORtCDDkU(G{|0r01st81;gMfs)4;#1ZB}kg#trz;s-z?`0KMiER4p}!1 zqBr1P4L`SBM}rPj4+cIs`<=3L|slNIq! zbcW&%ZyJQT7SZMV0zjfZr#xl~|=nrXot(!}5DFSCx@$HN@{ejM+UwT&{ znuVR^$#04+k8QLud3;j#_0a|7Y$BtpV_Y5`-LEgU={4Q6gR0sNrrIR8u_rMZAElcu zz#Diu1Lg}f%1FbCixD_IHvZb`K!<-+Rkguwk>P{5VlGl;b~-$L2i6k?Y)z34?5mBw ziJ^b+?p^^De}~q>YG9PpA7I4jaeD2Z1Q$R$yD$>KeU&L>ugOeR#qTwUnvj#MSBII3UE2>{WxHVnST!5~uS`(n4Lymx3r@tMxbRk@s$QWnJp zPq3~9-`QfTtoz-OY&}ERoSS$FZRn}}I1Jv!g1Bt@@7Z6-USs|c{M%u1#$j1l3Lm;8 z+2xdN=6QdTE&HWd{IC(J-wgQU9uj7t=7{nMWg7B-3Ny4kJc;5xYlm}bq5z`ADuxc( zG!xaSG%`kDn_J_#+jy&_s8!=H6mue@U)O@q=^k9px|S$1-kev|_=!77Pb$A1XIBMf zg%M^!i`^sUgS!X+vcRVGUFo4e|K!!0|WaG`1dY&wV*lxwK1l&{flI?W7 zdLMs-6h=rkJbK62fVjs#0l_E}w2^1j= z$Oxzk(TQ@%w~=z%;LG(M@S=`-jJF2cJ2tD)OzrX@?WY|Z=FcSz?YQX0gq7rsH()9& zk`pkN1978r?#0n|1p@V8yZcN3eh@IYISG>a08Zu8LQ15VFd#O$iX;7HSsFKwZK=XYtHH` z60*ZkW+4rwZ5W?~LY_oL%qk@z6$EBjpsB!`mBj&oOw8hdlrcJnH~%!+D%5OC)Av)qqB8C1JnT)+qHXWwZFT;8@8=yf{ELAvOz z+V^Y$CH-d^#M$nKReV@M@RfNNso&cFY`vC1$pC(2f- zkq%=Z?s_3VapNdA1Gjk{wjs7b`B0C0UM#8YZA=9xGPeF27%{FZ9EfkE5jdm1>M{|J z!$hy)ZTh%upg)%%fYm&aHfbl(~yb8V={t5 zr0sjCa74dEMMXrV@19(;wQYo(vALWkO|imxZs_WSO{AgkEr6TE*Z%_QD=y8hcFXzt z01O8ymAttqu)pq-Q6(FnDhjg$gz&udnGxC#t(+^vhNL^-}zhY z6($Qy=u(L~n9;MFHJkC3Z$)cnrCpPglgzkT!tegnZZv%6Gy(~~BWb7U57*h^0KT*9 zmm#KU>-7`!v^Lhm=WB8ah9qX#?x3miZpiT;^XP*H`Sd=llyu(8j*VFNGM0ltzD21y zOj)T5oXq9}Gf`6lL8IQQ)Cn#n600=5v1kt{$vND!7D@nu;+8HnR?f&3@gc05lTZo!_iufH)(09#`~9V}**yK{VAX8;Djz#(A6e zQY)y!(U`AJ#z3$1K2IZW3iigR6(ym8Dj+TpKLw8VOHT*hr9Hr3KFD8l#_Qz_%gsj) zluNXH3zk7gr4ikUL`JT{e8^2Y*>mP))rZE<8HVu^6ixC&`}u>}zyiX_IT^Y^bMlpIq^0Cc6jii!jOTR<@@FHWOc%Cr^MbChbQP zCtwf(y?s}{!b=+R@>40WRVQ$1d~Fx;)^O$<7hL<&%bYjGY`Tt}^Q)JPa3iZ)ORF3= zOP@1nE1heX+{XKxH?|;Ce8{Fo=v_$UgFL zw@_V?_~$B5LH>S>lW@6HD+3F)@}#V_p}Y3g!sUMZgaUp6|5iAr02v+YOOv7Pd#7&6 zb+L`ti+y)p|9(-z9R;-#Gb!shQ6})08#iBEN8cD_f@sPC`s(YWMMgF_ zv7RQ z{DGmHj~UJdp@FcH05>vGEob9q+K5n0slZ%_Tl2v%TeL=M@)<(S z{G}tcits_OBas;b1Ky4uHw?>fJAd*uv~MB2FCP?WXG`U;t=8z*P|rH-P4FV`(oJe$YYB88Kn2x z8oOF3yu6+c04YXn07W+6%>6(K=EUU04-2$4wX6zL_`Ge}KZ-Zlvu@Q)Css@>huWYS4Y<9Vs>NDpB66eIDzREU>Xnnf{R)SK-;ho3X)gJ2f>jmQ6lE4Ff*N7 zYzJE3DltO<>C^Bxhx4}g9XXPlU1$g7P)!>u-misSIo~(3QEaK7SJ7QSaqUWi^l@vH zsSZ?&2D9{c$}bYQ%YO>hS~d1{0-yH(6|^hbd~*ja<~Nya+k{)^Zrq!1=PlS z@aI&=1MFzp(@-^NwsSa?RAD|v8_~(Ox$18J-u+QVi=Vw}b&A_)&pVgHXph-MlS%Ht zcR>G(g!V#?GU2FtqXFT>^Ul1^@ik5ThRseiAW@RiN(H@TIE>e2T*S+=rA#G`6*4lJ z_UqOt*c^|U{`enh=cw)qUai(fw<*39x9J~wCQs)U^qATibO*k&S8y)u&tuyPMFpnn zOL~^F;KfEF*^pjOivEv?G`K8@bhw}(1z(TeKl5;0_*_BGIvh6x@k@Md@blTO%DLP%5 zeg5$_tCK>D+Zi5JC{Y#+V%9O`pwU&;K#2%F10-gRNEn!u2RU8)o(yA=%ReqRyx@?DLBzj{^`#6>Oe|;fcQxZ&9 zx;=1JY(OQuFATK1Rwa8s>p{aFW@E@ga@=N43oI+0HL8P2`!?0phk)N|?Z^?Q0D0l0 z#@vT?stK;95=ObG*5=c@T?^o?IsD7kQ(dkx@v3tpn>#paF`$PTe-(L4tDL<)xA@u^ ze3;FFVUeH7Fq&Cx7TEr=>uij?V5VyapT%J z!;+Z;ZWjYrjx*2r-YtVE_>rwNWvx~Q?1g$ZKzT|wd<8hS3OHp5h!$9FH$XTx4N6d) zY3Oi7QgQomf_w8cRIDA9FrXG|i2>6vlW9QI+HN>E*2jF1GFg+|-S2A+09(?VE`>lD zBscmhVu+l*jon1j`*347YXjrVH8MQrvE(RV16;_UNC}+qJW^)~qhuw!a>CH*$4dtN zE0y=B-rbir*I0Xr+da_CSfXv@D_WhJ{n^YYLiP~D7ZXiQ+0X6`L(8WQj3S9sCBw7j zX%abdbWvF59NJ|OW+#~wz+0lHib!h|q?HaTj-TNbh2&=Aph2Kk6gd9E}yxb;|RUH`T<7&-n~n)zKyqIs@&BaVcV35ZVx zP$mY%0T}khbtWr6`))dy+!HM>9g5&)Z;`3XJ8C>$ZgD`vH?adDAf}tltMxi=TDpm# zG}Y(XmQ%kWv68kz8Irhe{=thLzXTPoIR>_KX}<@Vd|VSdj+8^2VbupyV=oI{xSbM+ zkt|00&-`#en5!yhDd!aoB+rJaq75xCSut03)>OLQwFTAa^z49}Pd?Ky;g)I?V;JsK;rIJ(m!#7RAYK`s1O?7!ESWv!4QTa~7nBUn6(2FCw#nO?*xJB%h3j^| zB()%!2aDvBu>|(-gr^$H42+zvj}xdD6|=Bl<|Sm)m14qn0a8e;*OX%}2eA*H{Nk4y z-MDHvI{~1N&aZn5mG%1hQ49WEZ%LF>+p%JZCl$6c#E=$U(94-5s{UHJXO0gb;Hgqf z3L}h@0x1@YK=hFlR=tcxiSH~%)@CcoqkkQa7TaCe_0;xuzn-7w=Ytkd-Bg$Hp5_`J ziq0}C&G8tw05VKSfK#C0#I5+H^cc}V@!4M_P1VqlEu`tXynCtpOOtpB9 zN!@>n%IjFV?0wO+&mPDdt->>S&`9rt$y<0bzvcUypJzMw5v(zjE-eJ*|QY<$=8t*mt~Y74tiBAJ-{e*VPD>xpus53cq!Odbc=nS+2t(g^c85t@hsIqvvpPdRjs#!$3rKc>=>RK)#9_q6q|$zOf?x;MqZiEybbN zP+p~iJN+r54>xRR1Py)1emGbSXP5X-so&N0+qBdTR3)e~*quOD1XRdxfP7Ar2Tlu+ z2Zx87<3St+G$9ZFRDS@$Bv1=+|4lW@cQy<#7DvF)qjNEj7-qzZD`npf^=}Ke#tApZ6t$U9 z-L0vh{wwcsYq0=&+rzR{K=qRw<;!;awbQ=|w*CI0YBhI~`hU}!Oo!7*#MM3yL@gge zGJ$!FEmSPR{fAgFlFzR(rI3SZh;n0WnR-)7#);B`1q*eioVBzPFj~|<6*bf+P*Sh$ z!9>Z32o{H!Mgw<-ePxHnBqN7GCC(TfWiinz8^KA8fP1n5pe&W&029Pe=7%@JC{Geg z(s9m)-3OsPl6GPMg*Om85&)me#p)K^4DuHMxu6jih?c>n<4$|S|B%va;I8^ltd(B4 z>(VIRTl0F;YfB0MS}fGZEL(O6eV#yyEboD07xDy0a|b>|lH(A_FzT{D6pxs8GWSXM zAoVE=A0@t2vH$!Qa5KkNCyq7+JPb>$uhI#7 zeE0N@4t8E1OE|X3{2J)GKI5=oA6s{yymHREm?DEHi|0Ah%=l9uZjXV4jlt zdIH{+a^w{OAO-5>%j%8(wd}c@-Wa-Qb&ebd4WEx37G+|O&N9g~+T+<5*t3&^C6auS zg{yGWj&*X@@*9T(4|lw_R18oY0=eB2j@faf36B|LQzyJ8=<2e5dVE*xbbQX2I1U54 z>xm6RmvQqvs0)R`lwv1shNF*!5QZ@Zs!||+yAJ%B^|`@MOxh2b%w!^iSq*V!W~{fr zmtn^>m0I$XI)MB~EJR3qM)p8N^q?IWndl)nXC5Abl0>?aD8v7pz_u6#qQC?q72f44 zc0v0#=|xk0om8Md=%#b2g7dHBRg6Lw*staOMv|ikL%LMo>)>JlFN%@v1TZkPt*T?} zyw|w^JnSZEJ#Ug?i|ma?naD>r0}+eA8{8(Mx-c&i(Sh`TL4*rW&PVYwGk>IqQvT^x z@6-J~%<^C+J$NEFqj_jBkmj=uUp2HKyzhld)!$e`Ko*U#xW8wu#OqVZH%Pu|MsemWV?r4>fIB9b5J*Mi!rLLAIg{10gz;;`%RT5kQB8|Od9Y|9l#nz%WlHo|tXs}WPwZDc$ z65%SWLiQc96L2T<4?-#3l1c#Q6TTpvCL+lg22wbJx}^cQlmesSwoNXGw!MolfGkKI zz&!pmW%Vx4Y|X%p6cGUtk=mM~J9ML55ysAzubgO$`m(5z_pOEk7T4E-@%I}$#j%*~ zsZN{jWEwzenjBlLu+VeWmf?zcZITXxU*tE;WE+{x zz=SE=a}}}0fxn!<6r<1q7Ots)0UiSxV5%;I%#JEk)X?Ee=3kae$joh^#wL~5TU~6} z?^@2S0fXmpEMpSdHW3${@IQ0C$mg6A4Js)TO$-aB49%4DrtuGj*CM*VMn4mZ?$-Zh zNL#J5Cu}Y^P@SHq(_ct!$u+~4oL=j+o$EwY(n#BikHAWNT_$ zM?fIAdEdG>!e?bxp%gS~6l~g5n<;2FyKEIi`~c5ImV-e)C(+=d#Bv(STou= zf5^nI(K&Gmlc`~DQ=dP5PZP7*P<^|m}P166nq$sk&6r-J@& z(3w*sm)CZMkkh(4`&jO5ipX?uc%}WVlizo3t?6UHAaNcGnJsgFfMN?DtrCI2JRyV# z=7Ok;sK{#qjm;0N%tK_QbRB2Vi!C*w6PN7(iGtKK=&#U=CjQnB4i z?UEG`u;gJ)iKNOy02s-)IZD`?(VaL~lCSLV~u{sBS3r$xc-cz4-E+{qEk985IzwIqL z(~9Ls%N^>_08jio3C8|DwJC`@oO(7%A{!fJJ*r)V`KiQ4?daM>HzP zgfHW+E_7{1w^s%&bO~YV>7<8PF8>S3BRLW;dV_>KhFHrq;{%<;k@CaTimt{jJ6VaS z7M<1~1Arm=D9x zrAF|0Bx7x##uH&|uOTI1-D)+pDB$S0Kv}vGkoF}ejf5>okD8ct=%6vc#wemL6u4K% zAjnGzsyO_Hv5QAlTo}m+#IuqBY82W-%^j4g2lP~yP7Anw3H+VwAn9u4BAn1)FM?0~ zM|1$MaR8_ED{x^Sl%FXd?u`+B%Aa9rfMq9xdIvUQD4!4LhN_2NSq6eZYA!;Qkbxe; zK@=FTAkG3Uzlo=|Z$wtU*(=yq9%*;~(x~&CuOD+{Yisk;?RMGa367$xy~O5%6ctOq z3($i0-R^Oouc_?g{6-0FCzGX$-{G4p`WKP?(IL+CxpmB~cZA1o8mOABantr~{qRbA z@u(kit}WMUZ?osRBVUficnrl3^C7v`3l3DZ3xP7Qk1mA%BgK)nCq9M~=6ziC9t(}M z)$aO&DLqB@kcb*QR=gZh;JNVqwthVV0nmXKodjmE6^uNToRCf4?;9r1|Bd`%xAhmW z(R$)1Bde_GbD7Sf_^df$$am=>RQ1ld~C`DMc9WnmXO^YKHN;p&ld67m!hF|LnHo4avN9W z@H=WVI&R)Sh22$yj>u*-NusdyBW|@2>Xv0_yR@psxVSGYSpAcp5B*sT)_sjNc&I($Pwi$9ZHd!N3|wN|^qY2hPiD8V{)z>m{#kzVPPHH%$aSs_=h1laIB8 zJF_6!s`PSgb}u)(ewmfMlct^Zdt>DjLwjT9W0+10#U-y*%v4_R!n^=76!pwH8@HKNP^7dR z72=yt{OdN_<~J^iI50*RIpl)dBIV4>d)+D5gOe$+m@53>ttmh$9ih*$cTqdI-)vy=jPRxDxKLD zbW2gKZNzn&E{Iis^Z#zXxJ~4R#RG*V=5&07-+QXI%dAyRQjn=cy~nzr$JHmnb@n=k+!`h!8!9Fe>eSrsq$lW5OR1;2g>5 zjsP0BN}4)ZTsEpf;7q}|@U7ejteI&1U7?tpg2^Xk%3*rIz02SLmB&CIk?nC>zxmWQ z-E)(^Yv?VHkS-6DXpH8Ws0VFrLShsSFD4F>^wV#GsCt@a)2n*Skyl ztv5@Hc>^)rE8O1P&q3I8x7X;X(lH_$xdZNM5k6x_h~8XLYha-YFwkHKK?+7zPUN0E zL0!N4J_Ea=m)Ai{Nk51ntlWk>0?9S6ypLk+8 zJ}nm`@koP_?5e@iYD|6`urMSOqTYCL(mqsw_9&>t0k^HNn^Xtu1q`@$DyxT5v%kCQ zw50}s7tv%D?3Y2RvM~9VcJ0VlqV4Nud|?pP4tI;2vNIB~EUprbV58yYRZqJ8;M)6i zvL@+SL@Tp*kN2gH)daIGy^Z@Eb~fQ4jQNn;0MaZsqJZfK7B`~{G}3CD3l|4svCa{% z9rUG}@d|K#?Pwpvf|Gu$;ftfjUmu!#O%+bOQHib6yK{ zg7%7JoXMdMn7)jy4#?`CoxU0qlW34ODig({gg723SfM#|eT07dwZ=HYG!lBj^su5p z$1-%=*5=obln6H;Dul)$1-!M_%JYF%WNN(50$aaWx$K2lkabO#;*J;N%735u4vxlfkaekPfc3az3p4N~tIMPzJ%aNh zlyli>(IgZ&D{vND<3shzz+ABAycED0TCO}kq52>XObsDID5Joiigx~JeX>)Y)Eeg5 z(L^_QV|1Y19B*|8sE4IZSSsqY$2pn(U154^G!ah#iV-2DhMDM{1 zbWBVF??K9a^qh!aFNg}#pkQb~KtNDHan2ge^wO}71PDKrYWWR6u01dikUn_I?g=7s zN^TnzY6@=*GFyA0OL02e!{5`0l0e_4iP{nTqtb4pl#=7$daCd9gQ1@g{{nO zLY4e@E0WPh=V<<-f=-TeO_nTLb!tggte=_V5X>?DTd7yZDMshc`**g7nLbJfpEJw2 ziJqxHdjk*uEz=K*Qw-jbtKGjcFEM3F!TUdnL_TseV8T>jy0S_D?j4-tzGc>rQ-yW$&y$Qa?ud3U;C4pDkVjLM&Uwd2zam zcA4Py=WnRt`DcD2n6`Kc3^8Z*kvku_=W-!!&12*I(aw#NJ>w7?!eH@|{U1j{h&Zc{ zZ2wQ1E)Ou@ob7&Yh5QIzq%F=m$)Ch_Kh;@Lpyh-Lp67@Q4;Ke?lySJZ?M|va1VsS*A5E;@jna0{me4afopfM~=bLs%=vK z+Tz6=$1itR8mFuHzhLusaeuy^~I;fQ>ZnK_3NCb}oi12B=cxg!c zb{#|+kIMGUo27JA8PH7VPE9&X^FS|w--erDp&&d^Ny*X>!fRvhD#Z{T{M^xv)mfBs zdLk5-8nPmt6ONHt^;{$PTX*m7E;Dx25er#(VSn;qp`tOrGTGqH_49{h2&&$#3yBwA zSKq(`XKH?Zft57*(n;tKP_h@$3Mt*$(){iLpB4x6@Rju!rg=XJ1hV%6^WY}#!5+Mi z*?Scj@tng&*^$fvdRGSN$o0@uT7^6Y<1C~SNAqwN@^4-S|a}Nti+c7QqRtbZWluxq$Tmib+YCzEZB{n8qL- z_{cjCe}K$I@Uy-*D0_b8=SHH!@U&C(z((9T3HgIYBrsn`&T;|E0f>9NN!}09!DFhR zZ=NE6N-)7VNkwoT?4fVGg#7!NfMZH8x*wo#{^n;Q^?m!WQwT_n@^35br2asanxp>s zFR&8e*1O9E9CHnTy7>!o{RZYCAAl(G?7i7eA~4obZKyu_{Xc!CfF7mW1 z8VgiideQ$21Wy(^?#wo%nFCD16|-NT`X+|vvl$t9OL?^n*-gaK(nU}a!4B%?C<17> z8BF4_fkQaZY2zo8^~k__I>&BAO4cFqX6S9rm`;!EJk}dr~WZW!ixkh%ODSRa|{iP zPy#0L>Z)9hE^mJg?I30PoeXkKbrTThywpzC6S)l)SJ$@s83j}p=*P=VDIi7MJ>}=x z+YSxLo8I<12J={>6tJTDz6=@Tqv&~OA$b>$1qpQr^H@gIF-pRIc*_TC($Goba&#;8 z%XF`)#OibJpWV`ay5KpY>RmlZ>W+ZZKPAf?G&LN2TJ>I|8pq^@~YyGz+2> z{ct}^TGme1iDE^lV2iiZHNSDLSjH3OTlfX|Se@jKj^^4XCp^>}$*vC+huCj!Y@}kVXwX;Tj@db@c~OQ{uP?~DX0Q%&m{$Q`=TwW7 z)?Y48F6}-*B}g#SM1OiS>xVS*t{?~BbXYq0SIu@_iN9sKB(wbpZiZ*wk~Eg-xv7;R zx$%%eK92A)S`yg-*BO3lq8E$kHiiM<4n=@n$cT2UjchTM{1<}Wdr5u0XG9(nHWN?t zQV&{mvb`BUxKV6IFiTd{t z{UZ-7`yO_1x`O1WwbF3BY{|Ibq!HPBTz^2}o={UqC6=~op;IwQ%2Jw{KTHkaqan?L zKhRI4oW}v9(oA09rG#M89&$&o>Zn(yW;AaT&(GJ@s%>s*`S-%&EBzSfp>sliuX`?K zF)|86CA~NRQ8TH6{3Sp65gyCuob#tTC|Z<{;ag*nDm~Iq9Rm&i%~Yk?-o8a&aR9EA z9qfxPsf2WEyir!i8{{8emPk6_2d_RM;E>!E-Zx5m<)3-l{2#Tu=seXS>$UHhv6p50 z1#l}vyR8T`_6e2~?nS-g?MBl#T~uW|FlL8nxSXJ;l*3ixSa{UQ-eyhHJ0qv?E45C8 zWgnAMBul89$&790yrJEJ_ zr1S@5Qe%<0wOiInEPL=<8Tjk0@RVB0RI?-3xo%71*;5^cWM_RniYkX`e_K$k(pi>J zsW)v#!Do5ad=p+sTb2h@12s2w6?N0&TG_9!D&pMjd_X&2YX;>A@2BGY^_A~0x$C(@ z1TEH;M^>5Q?DBs49@j3wKu<4h|GnKLXobN&*g!bT9~xI!j#54kHBWSg22N{4qN8iP z9zbO9h3?XTW{M4#$D#_$M z?=Zz(!#}=vmaKwsw+_5vO$>%UPwk_ksK~OQnLc;H%0hlYXYqI~mEApfoJC_TbjMq_ z9?aAS6%jMj)f~%s^Oq!1>ODfypJr-vp>3^3Hqhe|RIzIRZa3TM2^|TpUUnEHaVpY~ zY9b24wX1edqO$(&Sp2>A{2VgAF=rS*vpr4$ri3Q|@O2Fa1zw+MKvCF+Zkjm*?WHrZ z#>Pl2*=Y>W>PCl-*nC3>!7;r+R6E&qhEPqbA-O;I zQ~Ao?d3rwNXZQ52RPVThaG)bU-BX4*8jnxEg6te?xWRPq@$b7J^V6>o>#tNI%wH&s zxQ@UAsPT7;{jF}{I&IiyU9(w4zhZV14-L_A{f!?~s)+huW=CcMdVi_Cn_pr1ao8}z zY4hY%P4Y>hUiIZsCu;j@*$>ZMa15bWwv?W;dJqWISYjQ z%9CCnIVpEll!GBX2d(IjHyC)ZQT=mpWf6u0V3Xn(n$FsIc^&9`59LpL(7Pn)T8jlD zVfL@Tfe|*YTTq?}Rr)kpOinh^)8JUsQI7=A9{j_{&T9NW08>D$ze9IMGu=z4<}Ws1 z;fCWXnaqoHS#>84#Tm-qHRluybIB=^Ju~ha6 zS#>}e2f{R7(~^nNQGVN|>N0exxC{LsN9y;4iE}}lM{AShA2J5 zO4J`sZTq|L+9?e%fA8U9nGjrj3O}G)6nU}bG{M`^3Z`?&a}bp)esZ%k z`_@rjo%5{~INAhL*-{ELXPE!Mq*R9AlVj^7{hM)0mO!Uu6mI5$uawn-+ZStcng&IM z{;e>RFQ?P7nQnG-j!S_Qy8b;6SHzF`suD{GoZjIwWMv5>pnuaohyIG6f1OZ6x*odK zw!Ij);z|r|x~wRl^Rb4jK_BB{S3u*pSqaq{25Oy@D{se*HZV#)s!R`j(I$XwX!7`vT6%2!j_<$ z@wlv{PrmWk+=o8*Tt9#pf5$gPK41^=0c+xedmap2;l+ldW?*z_#*%(y@ic&N9GD^#G zg>Ra9=hW751wDS21D+RFzXSG+tuasyM+Z35UXN08kkbPkwbDrTf04(|Se)dbF%~H@ zJgGFnGl${NrzjN&Db@UYyOjmttva!SRjUGe1$=?kt9PZNjf)Cc_hD1u^F{m&b(ru& zg&?(@23nk=SH7^3=g|VzH1JvoBIW9_Wt`I4>gmdv#}WK0e+tlxf5#vfkUe^31*_X3Lfadn zwmw6eCPR$kC$Jn}Gbz{$^zKQswQ_}M8?_HL4}nebCZ9)3PTne3`ps%wWVaB zx!bg=6g8VCXf?Qu;&OqM`XWjFi?+Uj=a-Hy4Hkc$Fq7lH-3{Zi<8>vLfh=7aIOjM= zj+;zemuniiEz{N}YO-%KMop_t$xaC|NKM_=Bz4a2j8gM_w`R!$Z}2&Anhg?h^mHsk z57Z5erkQ1bWch1$u$fBQN&}TREz&@wHQGd&=g$i~BGN!OsaV`p>Tj^N#m@jWedlD< zKyiPSXU_$Dj;qbAba&Q3Hn^GKWu_)}y(}rf;DTtUuPNM3Zy>r$vm}2lFWF*|A2e4P zzr);EWx@c0NJlA{07x(ik(HW!G-SD1GQdvrEQ1Erq}%0k!CJ}N6CU+Js0E|MVKH|| zPV2ZkWNQ1^J0u(Ik!bzz9)oAc5?jUMxyFA<4(Pq&n|ZRXaDeM#WER}llPboaotF#3 zI17vNOdT1;@^MdWeFw%pkHhnO9n{_mSY?$As3f_n zP{qtj;f93ijkD$s_YSI?Nfx@uO?AJO2gGZ~0Tp)(w-jNgqO_D(A0|DvgH05+V- zl@Q0{$4wk|ceMPx-=)LlJw_xNX=feHDKuuBle%j%r;T@&Uh~5_d|EuO#A)^_&BQ_b zgz2bJ3n{XF7Fv;?0yU3|R0CR+JDA)=Uw`@CcZXj_Sf|CCDF9O-bzj3T8)i|G89)6U z5Adm02`?@$k~D*I)^WX9{#?XMIDmh+F3-L%B{m3;C6`UbfM?i6Il#s$NZZ!-9T~S6 z3$rWMPS)CW6Qw#_T#4^?bKcLvmZ-tz&P)=v>%U~CuDUGA?)~;sI4zv49`T$l7gbM} z;%Ze|J&&Jol#4UR0i>rqEZ$ zX#&T-dvkuudtAVj>l6-HJO{BjFBqE^X}ky_9>;I|0LoZI5(%3j__?j834W6Ha|J&y zwABrY*nQT}S=p`T4~p&Xqxs!OrUD#lp5mr%?SRtyQf}m4$3;%Hi@-Hzc&sNc(&r3J zZt(_!7W0oFQ9>{uWN8Id#`k|Yu?bOTD5D_6hTn4?Cud&4dI~?MgVzqxRoB8t#}Tyd zqk7jiD0`S`^ZhANz4?wT^y}Fn|Ibqet+FO65ysbUe#)cBlx8i5Z zyYQ%@r`)k;`=GVc_(2vE(#NjNrndbUv9W{K1^9=Onqk`9-OBP&pq@7k1sg-UY8h%H zfQB3Ue@)t|_t)7v>iadr_uKR1TzR}IKf;_ZeUgjqYCW>vlY7a~cd`>fMffojK|)%6O)R{Ue_asV$@c5zU5VYG8698knN?3O)^a~&(avzEB#NFM=o??`{@4A`4k*M0bRdo!qKT|W6j zoYJkLSYga~H0x7~r~9&t*24~s&b`Tl(mV5JUVh{C7cG!Be*Wodsv-;s?0r@gZ-WIN6I#I-Xk;~T`^eD&q`xGk&5E=o`lWQmw2)H>p%Q(^urGyECm>{n7Rm7z|qFQMOp*BvM*%R zs;HUg_C1Xf$;Pp4a$uyya{DR2n4+E5@Wy`2pl#KE8TmTu#|(~p*Pn?uLtsJvDP45e zqg{W?#j`j8S*jEx9L%B7#IQkE8lfch;%!`keLt?m=8Cg=)=N%h?w+L6%V=bp_j$D0 z?KKxni}0c3XX~JeM_{zi?l|7V#984#oj5Sr)wc&9;|%=S1D?*K5J%iZu-S72QrDZH z{)N#KWHHMsem=5E-HU|?B085RGBKQzbFhC%ORLTyIto7(T=3u@Kl3kjZNl;aDCSkQ zFfA}(zFVn6ZTdg-R1m;NZe*9FC6}F^qx3~0IP_rygj5`_1y+C*8IQqPq%ri)R?yQU zJ~d}*{TIdxO$bd9XE4vJxB!5m3G)^4)$*{)4--}A>*z6tFe;|Vf}dT5Jo6Zad$WIn zmZD{XSphrFD#7p=GQI_7JHm^|ECxGMneiyBxQBi;<$C3x)+XQ!0A2umd-Yb6 zgnz&@tK{*t0;*6e1_v|z@wjLTFQNhipRM)#tKi~qpVL#^Hb9LTil_%}H3O>T!Y_wC zkA?>(Q7J)fD6XG3F5f`CFZFAqY1x0&g#70@K^#m&jO${vNYuHx5_iW%&_Js{_2|Zx zPqLCCsh^F~=uHm0jU0gT;NTl}GHUaVw+`9KB}a}7dRbgbp#gulQd2t~`baYrJ?uRA zjn3dR1~u|oRjeK$^q@qnxxI{{mx8Q+H`V$e2L)g+uck$uFourb5XPP?$|=n! zV$KNjm`_{H6y4d;rhVg;3$Rw~^J*t(uhLE;eLS17a@H)^^uI2wB-aJ7dFnCR zNzkLEn@tZ~pLln$?Id#yu#;2|ZsV#Sc9S-DeBL)sofIO#xR<;*4I+R2o0iW?kiE>h zx<}9HCvtJ?$Li(BXvC`5y!b?+qr_*s3qy`j);a zu9c>XY`(y+M8FzdLm^l8fvoLaeaO) zFcsdiYM_@_4e-)@DC>U^VhE6z{~<}kPOeyNtSbyw>bAERNH$ozR!V1g7IrML)j1Vz z{iyM-y31F-%2UFefT?$-qx>}!zJ$J}i-Dv{=^H;X41}5;h>1ChV|lIQhaU@48}@a$ zwF`r3<}Lt$y9TYVG{uPcLxfH@j7g`0leaYG?&9ll{8S~BsTEX!EYuKUeXQC;kl!bN z`b$EpO*3mz!O3O@&g!7cf{J2<30sdmWCglJTHR!tXVXP}HwlM?M?yk-NJB7WP(#AD z!y0DlZeT-p?{;Y0&?o)&nE%z6EjkSz0d<#5It?3tZQl&}yhy=U>dK6J@*1icb$yN{XIP3S3N%7iAvJMMxW5=3cYfSpBOecoS4MMSbh z+z1)js11BiPXvVOKp_SR>gejJHkVcT_D zU%q*Nr>VSyC_s4_re7{d#*(*=-N*HekT2`C%#Fva30A%?%DS8;g&jjhbsUtc01Q45&oj z%XeUh$c9I2^HrlBPmYneUWuyb-g?Y7J4rf!UcTMW`2#2Vd8qbJr()Cb=SAB!(?eHO z{p-~0il!WuT2Zc};woMa#~N{+6enLB7e(ag#z7Ih_RT%fHui6Yu{H+N&`8!=sQ)^a zwIOW#aMoJv-2+-{UR#E=_6dU)WF`lPwbog-3T&;jcO2SUGv3?a);cyO-}?gYUA%FB zuI`AaCAbm`FkXT#t5_bt!qqqJeLCiT!XG-9mp6hu%^BtN>%%k$@N<=|k7Z9-RY5Uj zB%J7IEY4K%eg2Zo^?RSXwI}>_KTZ^tsXQK5-(JUJ^zq0NAOE$UEDAV5;MUBpk0G0? zB*)g~W=+b2Hc6xhJU{H@Y5DrFlfScH$A=xxd-(P+O1|4pq(1kdLprGTY&?pdmO9L( zXj*_2SbXh^wXf|RT#cBTl0(3KHY5M4Snwfr354n_WWifJWL@IR*F_AVo! zeD2{jp>-bIPyA)tJ0jbc$~+Awe}1=9!$;v=-yk&%IOcPC-lht{Tn>RS$DMza=Lyva z94*zG_wGSLt=i*Aiuu!qu6(!W;3Sil0}}A_k4MdKl{s13Jyqsp@9L#8hw=VBRCd8K zR;2TPYpVAw*hi%ZSkW-uGe1m8HW4`o$#Eo+|9S@a3@b*N`jRc?fFffDe-l9U`D(#r zt4Saw4O-PYEqwYX=(n5uiM(A;`~=tio%OLw9=YP(c^6YYvvGj&%S%kLIEAVlCT08F z;-69&f| z((%O-)B$1iGRxX`u7hi`jQggEJ>ib4ioGmRd8m$PwL~#N<8K6W5tb}oyvA>(ym%E! zV+ASC;s21ibek=OS)k6=6;rpVrP_Y_Yj6oT5bPF;8mAHi z&Y;vXw3*#HnY)?jI&AlC&dWalgU$`QJEOwcMdb>GqRbQtCL+CVrCOTp_gziy0p_Vo z6UsH=#vMmZ+G^WTe`o7x?@=?{yA4P#x`>zGodpVhgz3o?*XRVkgVhNJ&Gx3~w7Hmg zn8gX&_9iFtb!l^g<9-?)^&DJxCP+VW4kp?DNp`QaJD4lQuGx6$T-pr%RAGkQ$Un%; zDK1?aJ;i@Nn*hd(?aV(tGZ!1w3?GYF&*g06m&qGnuj4CWQ%U_;XDj9+yPrD}LBsT9 z_pd+V&DjNOC5*`8;9)37i_b{cdWMInnPQI=eJE^8sI?b8-);^w23%QCRx$Evg zqd}7gq-;HFz+4?p7m(jxm%~2|BY!t-EBB3avfUIMvgYM00lJ~ELR<&IBHOX$Z&GGh z7DEj|^v&Lfl})!}GC90MSZCR;XIN+Nx{Fvd-p9UTkeA)Aex)~)4J%)|IHzGi(vB-$ zz#(+C>mT-xuD5X;_E(I(>;`n%*V`2+(6#$0)@{Wuw>`Uwl6p(+!g8+H{eSvVlw`^J zh-q8x)m?#M=tUGs$rMRZ6lFk-Ea?V%lna2zMYy12>gX1roNr{SeP=zH7#fTLF*L0x zhy5sY$UlxK=-jof<7L|BG}=b;$_%uTR;Ps|^eyyYsc(BG6#EwEEag7<&V0JyhDM)B z{CbaaDCQgFC=dhg<$sj42Y>OAW5f||jF|R+m9y6st6L8XY8Xp6f|)O z&p_N2BJuYxjF=M>fSPhf(nUvgZo<8ckVc`1Cn>%7M=S!wlJuME|IGmYgZ{tmuji(xtp8Un`9T@X0)^-Zcp<1Y2gfq zS}Bs)?J-m$yS>v%W*6_Xl~AnzCit}qZ#oj@wEkXi^RieS#oF=eceGUoprXyExB0(S z8Ew`FWKjUKxr%~_z!+D}e=KU=L}Aq9|Izk~-`_>sE~|XKWCxe`K@E9--rnhJl+X_^ z3|krK;t^t@YQkk%@b>f@_)|U;y)HHzym-7Vv1BnmsDR}HJ6LTV5V&$0c6Kag&<`z49fxe)6!lC2e0<^ioxXp zSxmtF{C`&ka4LSq505o`&{{h*9Zf`gUINvP`?!RBr^1X-FcZ9gYW4#HLXF!KiAWuB zA{x(a1&9f06s>xS)qnq*UI5<6pWCA4f?N`!p(HuI}lC7iHn&vL}I})XwW=UvIj`3HL zAS2{pNyc6YMH%sb%~6&UM_L3*=i-c4S}reL2wgTtT@8-Zj|<%VILW-9;suw%K>}W+ zD~OvMZOVci+5mJ0&7FV~i9*e<&)KryvD4JSUDnUhjc`}nn+JP}j ze0q@fzmSEfROroWfDPR=c)mxJNew58$3-F1VFIgWudXM5G1NwxQUSQaxJQ6*(>R#d zk(E}FC%NU1&nE(mSX#0h@}p3Yc@avi_cL3tBfqc{?2xQFKlbyCc~?=z39Unwrb#G5 zhTxwBWr?hquwi`O4AAgTYPuq829@HCc-9-`&4nDyVC?uExeYcBVqAVm0^b9_crc2n zxem7>+oXek#(-2lI3RkSIo99xSvJ*moYSfkM5Ng<+|VlB**23_UZ8{ciq%~FWe>1} zTW!1xj!s*##=z2TRg21C@b3nK$H7k$KKD4u=T1ckn}?u)go)a_QjAtmtjw}c4K2riX&>1QSy3qZdC@dvU6InR;i#(w z>F)GW(ErifDyw;#tSxGN0g@yx`B3wF$Jro z2hs~*T$DH@_zt}@X^glHM9B{%!%H3x&Wy1mZe9mkP^3Y=2hTWXVdJC4l;NMGq& zponCD7z{`)7@1R$JelCRXAuy~P$jH+sPG1@-%i{Hj8}wnXY?csy0k9))9M{6L`3Ng zQ4ZJQArw9Azz?i=*y)?B++hdn{AwMFXzzvg%9B(%yjW)jA^I8Wd1pUIaeeTLFBMHU zO70A4Tv$gH3$^3e-5(8QqJ0Q3gc9PmlIpZ~dJL}8-szpNMtcYE94oYUN07Ga^QozS z`Yd|*^_(rr=d8(#9Y4uzZjNK$e`0B88`GO1LJTM)GEAxM-03j1vU8_%y1LFCw6m=0 z+??f24jDcd4ZBTZAuI|03!{uHNg!CE^*+*YEtwt9@v)>iMN+S33h0&3E6PfL%KSmnTRKCSLL2mk;d1>R9PJU$+w& ztEK)>?Q70<8(BTQ0j?YJYX@C1o@}j+xVcT?kKv)fX&d)oUU)2W?fcC{55Vp+!UeFq zC-nhr#Lw9Y&^O4IF>le9eFw;59cMuB&~M z^ffyCLR^Kvs;%&y` z^g>R0)4mO7QrO*JLux+UpQP*Fy1k|=^)9|=smsZ}aKatk6FS9yj*7;O>%_TxWjTJo z=6BldJ8}i%1eXHgahIq`4Imi@0fP=XGLGGwhdTyHZ3Ync8zCWI3e9%}m*GhbP=AY3 zTt2PphZMW@uC7?)X05m_8huazKWJZ~;tcP}TG~oSR`tpn5Mh1VNWoWbbU^=0?}VFt z%LCW0&0Cmn*kZfLuEn#-8Ti%L;!u%&lu9ORfTn%k$WiSqzKCd7&8@yCvIOErp28n{ z@}AcE5QEfo~UE_w+8FnV-LJ(VIKUep{3poM;l7E-7Y7DE) zVQpVF;vGHd;B4S0R@w|)vt4y>F&FkKq*I}%9%iho$7IQrP634M{qoFQms6<_pqmf~ z|Mfu*(3#h3W+pSdZM6lU%LX<>*SshN$v1^?=0G0T{0qPf>YEuhYK6s6gZU5gwQy$P zokY2;G$V$IgTgv$UuR9Zw|}p*k-LpPm%htIWE&UsK@e9@QYVC>D&8JMFBbK-ySPGguo&eF>7z!2M;A%{@){Q zA6p7egTrmOIXsv#o}$?&MnHybKHF~Ncc3kb$JmCp$mhKmy#!LMzOM3mop?8@&j`)B zS8<H0o~IM&obD#E?>#sg%pSxb5CIY~`kH&+!e{9;A%TcJ(& zULY5jB02c62;eZ_Pvkod?xcptWMlH?)&6i!qdT=ub9Z_?-_4Aq|H5i zAR=cgxU~Bh#SnvTbsTTfEhLX&)GhS$HtVfcOp?X>baCGBAf{*UYLxWU9iKRUum}(} zk=N@uCZE?sk~Xc^LqFH-UT+|2lYE!vaDlBY$>%M(o{esR!Q*~$nPL=tgyfx`!$R+J z7-AaQej~DiJ%1cYlY>3%GtCjM%0^ra0;Mc6Ip5d26lTF%3qLQHSJ^FtGsZRU>lj@5 z$2e5>W%kn#OOep@^AD%z3vot?e_;+59!yGLSQnyyE)MI>)~w*7x4(V)xoPfxMQYvc z5+rT5kv2JG$%JM}TrJsSq+i}67YjG%V508w1{(2%5P#nf!&oY6%tF8&(_0>%3gw7whH*16gq30FAr6!RWemoUsw4B~Cy%>wJx-c1}Hl z1%{V5^$#A#Xl5!Rgj3DB5raVXu9uun4I(pCmfuun&5A{&*VKn1M{Q`UJ*64(ZUT13 z(>wO@uBfq^QGN&700L03hIcYU^QPJds??Y9P7NV{tjK*;R}gt+e-`W>1_huwc%*z} zg1}eVUpm9N%J@xn@4mJmgsL?n#;$b7{SG>Mk1&MM!#{MTdpxhl!yXcW@3Gf==+r}E z1t&+jsH>Ydu=1|=V&QWVi8Iyn)auwn3&aY1%f#o4ZC)4P0MX{^hqm9JvKwKd@Kyl6ct97jwpu;` zJ(iJ^<>jcuxWqnKQKxqZdd{#$5?zKb0h%DVE%sX`&RO_Pac383B9Z#F?b<`E!lwr4 zh<`WmJ)_w38<7+w!dD2co>!>{OxP9R_{~Cp@rT3^n#4btC|9U%LTvWUzGk-n?c+8( z&mMWow=`y#0N5{@P1WQ(lja4Q0zH*IU(<+)?r6i7)j3w5d(R2#1L+C8bk&4JxTInT z9JX|$vWq$v>J4%efG{Q|2otptA>g=*4?`P89cp*gZ4f4`D8rz(t_wi~)Kw77Ryjd` z2uD){VcbO@g6UtY;a>JC41(x&6>N;JhY++U(-O$_$*F>l4&-4N*DEJ4B8qeR_Arj= ze)%Enb8^gKfAM2ouySo3L7mpHXx4IsiQ{$8JcAyYjo+m-Zx?KE&bY83``ub4#P0U; zPLN`r-&JKOj1>%BUC8d5fcz%F8JRVIESIWl51Zj z9H3kXzbOiYArlQ-l@h$#ZgCI5fg8IUjF@5tB6V4pHR3jC$#eymySf6?*oYad zHdZM*Ag1rs-bqcQr+8n3yZU2Qw;Ac&yi~W^!RPCQY|W)#fUNG>TES?n76aXXJRtaP zkb7y4qhzRw8$4FWyv6|Vrr7RloIRTXz=+kC;WL-{7RK}0ndCreSe4bqKLc%Xtws2= zcdQX}0KanidUY^FY^%$Idiz9EGru`P-kM{)1&wo^m;b15py#IG<8q*!6~4icxOPB~ zGIar`TQ47FR0u0BT~oozTy)ld{er9dJ!iV+hXOlz_sN9wL#bw4)f}l zFuINWS6qQDGGT5CSOF69x+7Lqsh6KO@d&;IDi$MT133Duz?d1QC9LvYsF30vn8y~Y z&>fKWaHZ_7#5!04GUP&pe>R`Pi~NrGJm?sa!Cl{Tj6hIavA1+|lRZ*@GNJi6r^vXM z&Nez;9Dm)y4j{ts`|Qj5AKZ(7hVPYKVAgFwGnf=(}d@=%P_Y)xkwS&?|`N#AFr;-R;v}9Kxe;+tykf@ znd^#iyh@8*gtwQscoy;Jpnn5;Fn`S1Hum_mav$a0n^6ADKreEC%IUa;)M+v!a~p_7 zJSbd~eJjFYI{^b}`H?)UWJmBMI`dXXuYtbTK;Lr@^u5N=UO)`(D!vuLGg)!#PJTn} zz`U`Fy<(S*x%T+QfJ=?R=$&5TuhF}g61{r?5xW6_IrmF=g#d_GKU*i}ck~|5_i%zWTHfq(U@AWC2-3Vh2PD5q@M`5c?*N z0wUH~#{9harMhOECd+SBu?Ag}N#|n`N(fPk)BT@nKz)jTQcb;*G~Q5~uba4*6S-Pb z|KMmrVnU1lWEGua<4Jl3IePs7e(LfexCoatN>dk4 zG6$lc$h?=%>y?40H~)i^%U)C8U&BHp!a}d9?}-l2`Zecx=UMBg!3R#yCPjRhXCe3| zx#dH$ze!YoM)?%!GrlihOs+Q!<~2F;#U@A2EiICgpx6sHR?ke`x+G73d`XFq)>yzv zd@t61y9-NMwDwcQ3&*=3o( z2FfM|%BH%pqknio_$*NQ@k1U8rk|3k*$RLfk%sG zdE14d?O)>iM|QYRQllu6!$wxQs#CqvQy;) z;uz6?|9hK#I-b$%r;8uTYo(bzyT@?5XZKEN_-wrM zw0!mmlA1o%<#P_$YDoFyAp61^TKiGo#YTI1u|DX`;`+e-m|8v|L|RI5Tn9vHnt4#{ zx<6~;lnVs`X2Q#aWC-jIgDrvGIiV@A(azI<7Ti=#Ri5raNtcbP6r9vBAOU>&W2ewx ztlLPz7OaMR-lyQ0BMs?3!uhFup;wIBXv{>DhBDeTc%*wD*Xv~kKP3s&T@*tHO%a;6 zG*n3zOfQj_vV0Pn8+#pfNGW@vLp->izT}K^Xp1c&8I}mJOqZ-FW+l!9$)X%&iny+S zD7J<~XX2_#XN3YZW^9sh^AFNJA$b6X zW1-R+HWDq-4^;FQx&xhtPy~27G-w=uK(F7S)3EV;DC%a9Cx>+{-iOSt^Icx92#-f8 zvVTehXR3d65BAQ>m2nRJE?NG8;Q@zcG>1R`VGrD0Ud1LP;#t8Zn_kRQpHHfP9(M4a zA0K8Hk5|l5oPE@1&h}#Z!N3Cf?zG!gY6N9X$-x^Zt%4$svG$fLS^O7DMBig%D8aV+Y~FIyeLxQhwv>UUU|6-~hCa zv;`&4-ckm0E3YC6Tuob2r z;e&|Al|T@E18^}!f;0CQCiY5wR}e4O_LW0muHtg9AWwU*nK@*YSyixq{ecFyZmS6$ zW%n8g@nB~)3QUvI8CBFG0YQDkFP*njL@-EZVH5dT*q zUbu>Kz-y5zLCZ%49H(nRyrFd0*G9LSU6O2%{`ZW>cKqE;9H%7$v%jGBLC#9iMBQMny>lIidG33Q&1*})W;T-l}YPziy)wjO^^K# zdoWP3(J5>2ccKO*$hwq_p@h<}!_WjD@A<7`P##k9&&ZbG5_*}3NIix-$w`3o$uceZ zMTUeb46T`7Uhc1PLp6HRm*<&FHQg9(eoHdHup7aAEF2p01(w5qBqh!_K1b|?UceL; zCLPMn$MUgNnT*)?Qk=cRd13q!jlsq?35BzAb+7ZBwm$KfBor4Y^9m+dBf@|7@~TvU z;$axlI4jBy+W#JnDz=r=tr{y)Lw0un0d>bjaqcYx=kw#)M)ertCF@k8g=>`$i)d?oi8~JoD7lISpVkM>iG?C1R zcDk4UWUheh3cMRnnBtJMsnKSRd&5_#W$&w1yu)2W0|ruDK~;eQ*P z+gM)tReJ(k4%JB{byui7JmUvzh_3s568yj+H(O8322ClY@kXp1 zUB;vj=T5NbL{lcM-IxvMETHk2FSv3>M!o-BZu*6PE&Tu2co+W~uV+K^W$RNeKqEMB zM{jg8e)E_-y(CFZ(M$6D*?Gx$fr)u{2vd>O_&n8O(^THvO#@ICt0Xf6-cc(Xfs7nKZaz$8IE_0k2znyqfl|_?qHI+r5^)4!l^FlA5 z655l0KEpyg%enHdPj2M|72kYY+`tUs7w@YMk8`>XPFaMj-qp;5s6cWfDghYv`wdmA z1p3^bcx_S610DO@7Gm31S91UBkKW%DS1PXM6X&O21`run>3I)5Ga!4ofVlU!)| zSx00flF;sFvq;8Y$Yzn}yn)SPyud5htkMse&`*vexvF!XERyMVx|VKSfs8T4B%g0F zO1YLKs0lvOa2u&O#^_I49%o_N>DCb9x+GKZ3*e`N_5~*}dy6w)<#{DTlQK`QwzaQ+ zzB!4$RAH?X()%JIRX7lJSg9;R%V5?p+o%a;lJlOwNK*FNL%GuG9+bjUes$f&S`Et7 zMvd=e;Jp#w1kQ`lui+T2IwoxGs9C=!Uu+1fN(}a%?r5N)9^>|oiYk5gs5s2Ae^k5| zx`T8^kr(Y^36EF6W#ZjKOR3}P{~k1dnn}=B@fp9~QEYU%j{>-gC>i1^1~Y(M#d?7- z*B^v*ZvW{Jp9QZE&+Xh%Y@EGH<%YwQ?3fmF}9>753 zSAt%$a)e%GC$Mrvw~uA3uQL^!@zt)MlhfiBW_K+=oo61!<6WLtHLMtTEhet(wPHPH zDic+%>fB0`XFBL|^^yp#H?l_tQL*d^Azk8_)RcsY{S4hYQEy$kN$t)t=3H`x{3$KTkl) z5y(!tc0FmEeMvRA2a^4gwnCD2@{UOInQ>zzB`kS=1Yr9=y(Rip{tqK`y9YUVt5dZB z(Xt@2Ep8wELuT3Cj>9if1!_Ia8TVlQkf*)jua$KD2eyscenJ1_9T(7l&alY>u1nlk znfhl4nlE7nAoilHcXb7o$->{f5*KX%fnnWcz2>c-w)opgBuN=P%s^ifUWpSUbF@4c zSkt1k)*)nAV`4FMPYu67nm^(K(?ti_rd+e!VfG!KP_?qm9wq3odI$T*8X@VS?LT&Z zS~QXdD(NMO`(+VS^&07a&I|GH_ZSR=>jZmG4mn!P@MjP_vHn`e)^TBkQ=|tHPCZ8` z;e3}JOymgKJ&0h%gn(kK`yY*M7xGuRAbnK;9Q)$cs%+n}z^8stEqT|3>?AaO@&iBE z!@ZP1%7&RUinz*$vf7ll8zyp3G);cpv)a=mI+v+I#vZTRs&ycLzLD!Fg)1rAJjxW2 zgtj)%V&oYvg9$TU;;k?oT3ohV&i4R=K=6mF%Pb*D)i|otCB@#{uj%XCjMuzs#@4O8 z;8O`UiC#xRm>z*P71BVHLzHGkF^rfBI=qm&5)6hQiE2C{R@tLkNXUXiTxd8MwolfF zVfTCSrMs|Ubvv4W=_ulUm+`i&n)8BR>p(W4DZ3jkDBW^^FVS#_TbyAz6U`>;1}G$B zx%(l1G~%kDj=!thUajYiN>WyV!k!~WS!1KcD~lvw?6TM<#xaWrJ*HV?)8d=ODqpO# z*gi+xvjiSj477$ee>}8IdQx;WHBXI{*5F?(YFb*5BdA4xH7S}}oU%n$i|aE)SxeqA zL|i_U3s!?-GwuGkfI>*HEb$eOsbVW_ymfk#Ip~_h)1j6)56J;mGaI`-)Rcq`qVAly zMbr#3Y!WrIS+|K=%#myq^?+vFDjHUp6c4qMBcq@ueEuDymOZ>@)P2)-jhcS?zESg< zbLXg~9LL^&@dsA3rdnkQW7dmkUP!wWlGJy`r|%hyi~gu!Q*EnG6seY`4%_nYYJ1pn zEx!7aUrkjOE!g&^Kc{~E2t_P34x#RrKTm#d%)9s1w;}l*phFw@c$Zp_Z@edcGQ@6F#3T`LK_o!La3xWINp$#|m7qeg3qo?;3Vjc5~%OwE!DF>)$_r zZ80MLS*>$JXf4CU&BR$q2FpFO(RtIJl9D^^JE!JPdj>gjs6DfJ^QgU;h2~Ow{b$Rk z_7ccB)t=(n^Qyh%gxqRRn<2m2^GeOJ#+1SJV>HuqtvyLvzO^UMopbFOA5q@5AJd$< z*Ir0k{Pv`@V^P`PiO5Lr%8mHEUkBmvSVz**8_)v3k9e#Z&Uj z(KEf4q=XgMAFB@FqLenh#w-dZl|((Re!deXBN<&fYK(m!X;3d*Ckce3jP(soi}98_ z$T+_l4~txmO^3%a7gTj^SV~p4OvSHZrHS8rodwqp49rwT3$zMTX&9LBxRUUHaF}l* zHl`?v3z^i_bu(k9gJLpgG***c2}#IuoW~f?I1k3AI}|$bCOo8J5FTdo{BJpi^%#E7 zF-({CrXx*$g&$hXG7CRI|BTu6=S^qF3_DjI z+X4DyZ}Q~!LQl9U3m-&(wmiA)@}wv5!8t)0Tz=R*HU|zQQ}W(GK2NS27$04JTaRhR zx)FjM&;dAToR+}WgwJ0^qGb8qPeL+MH6)IOq)19Yqu4JIh$3x&1`LXPW`&<9VVTGi zRnGxB=TFC?s-v^7LB)_26)PHMVse&qHzQ6o1V?~kToGI-vV{x}v3C+OM9R#d5P2RC z9>n3y2nCUU67ECFk&q8*o*(U@*kPcD-O?}~l1_(r$YxGthXRfR)ZJj7HxsIJp`2iD zV>$5~yjeEGTV;ZOw^=Yi7;!R$6O6_d1qdnvd=niL@tYvd0N@0pSrMENu}lbeGwU&a zUJNI6%>&{DFDi-?y=?$@lj%Ud=MXc`r>yfPe)N7b?#TTn{iywBjwAM)BRg6b{IV9PEVo<5P*e9GBh4^#6(JCByVb6htdXTtqiNk}}AmgJO+2xQmP zYX~HHj!Ot6t9h>=kU|!E0fE$h?pM3=VoGJl<0~@*%4v4wQdMWtObPvr=6n09=MXb# z($TWhIfNO1RiDu>S`l~;8n5Ir)2mgI`|-U~B?mU=O$Ew4(rP@Vf{8CmN$MB4t3XO7 z+*BZYCf-vZsWaSCAUVx?M}d^F+#3qGX|(sO;p-s>UM&^G{J)n9!Fe*Q?)5#C|48 z0^T#pvtm4x@d9z3JA|ykp)A(b3jb(e?W2;?1d1<;2R@);5ANMq$q-J|IzCk}%JKfb z&hvYGPg-;}(>%LLG2WY-)Hyx4$#sgY* zt|{xb6t8)_y5gJduK4}p#Fd~pyp;@WN#I6UQP!{k%bHf%d5g*vcU&9y?Jzzc=LKl|i=ZK0xOBZ|EAVqGwSnS#G!=VbxOeh@ zWEQU~;SX9t$JVE)CQ^T_;D5JF4h5QcK7YfVRl&CV?osU4Ohu|1kSrKf3xdiH7$YN) zxI1jtCaV+cH5TF)4Q3isjBaAl8d)S%@95aULuO3k+>b` zTSkK@ZPREl$h~beSTA(r=#5|nfF${UB!I_%h_&0jJY8el!BnkCf_yC7VpD?phdunw z)*?3MBzd|V)=F^0A( zYvDag@FI`sp$;upqKSEghXUHwn@7jLDkryZss~_w;=0)1TCt6L%bIP~wxG#*q5mIM zf0dKK1K+`uRsKgiP$?7j2Jh!j2d*^DJF-TS&Nhshb}^0p6kI|*XtxEm^&Hcn_Gn0v zM%N(?&jrOS&mzRr9Z`_&lAMt3Nwep#I74Lz>O0_UjiLW_Bxe<#Q<=hwi1}H-D1CtE zlpCOY+W}Oqu*TD(dapH$R~aaz6$_BLf6{2yZ%XRe=nq07!JnLAGiZ`>YzBSiEStf3 zv3a&@9wDwew#{A2a{)85+1(YO4|mxRi$ydlDlQC>{_6r_n|kWS$|0!4ofU3qQjC9R zjUWGhtN*IP&>LmTTA!+gKn<*XYtvG2UR)TiXKQlFjyVdy73BA5bk#s-!DrEEU14ptN5pkzR8*2k51o2q8GswKMfm+mENS51X9adcR< zdyrk!CFb)Kv!ZOlKEJrcJ`e`(~I;(&&@qJmAHA(A)^+F^inx)}zT{wuAJ)rW0y zy@Qk=yLsF*$A)ynH~h%`G|=!Z9N&LeuR~4zdtVou3L;9Zm0$kKno#T8vgzt@ldz0X z3pfySaISCBbFN9ggYn}N&_Cgvz`ULofv56yh_R-{=c4}{dP3L+4+yu`e-n92=c1Sq zyetn9IeaTJD_WJCTxrksn%5=c|HS^C{av+P%YEe@p07gj!moYJ{b$u;z7kI#-otto zWsDV9w1PpF^@_DY|0fm&2b1v>1YVm49M{r??{{s*8zt1KS`_rUc(d!6NO67%3Lyx3 zUo~yl6F7N>gShESIm5TIe^)f4D|0Y@?gizGNTQ~ys zQg*T+n?KsCb)OYBgez80T{I-gqci!dbR`93Uf_Y)^M`*Kivb>Dy{cHOzClgiJ63Kk zMCZr1$oA_b=`dk%BU^VUH->CHf&1j$FP{{z`0U)mvPOZ$FT0vOf2#91$?=r)`0e_# z*t5C@;*$Z*e@Agq<+ZIP1z)|eofdbwInDAJy1)9>>X=wqwL5UaXc)|vf68p55Td5b3 zS*XCy1;R?zzy# z&|^oL9CXyV%PfQ2Qp5BMkEH9jd#AR3TRW;0DIN*ufVH85ig zS`Nq-1E{E(Vt{X^SznLx0jx?RQ5l2 zkw+#o0R~7%e+pqmz+rJ>SRxTL?4LvgKrs`D0Np&3hi=(5)(O&voU|QEQZNV5bIA&I zgO(dcM>$C!35M|H9SNDVa~zsW)0#o_TKokbEy-8R(o@+%=<2G#X3@+axbZRp0FA+H zQ{d@1?k&uh6c;l#40eejpD&XVeyRSise~g}Uk&uFAo6^(dN_!09qgRQ{G9_(qAY7LF!sG}witz`+40#9}V`rA+Ri6Tn zdu8(hr@az1>S3=$I>)o#hW1z|5r9jCfot+t?F2)BDOas2ivFm4Au+nhknmOebr0ox zC@koGz%hb9fm3CGwi1a`CXWl+iR0}Q7HzHve@CL(&kdr z1Kq0IGC)j4YV0)Z4x&+Lyi*aY3y&khkmHl0P3++^KJCVeD+B~ie<@Ce>{F!TqKu^HxQSq3BSmORYceX)M-`#&#T@2 zAr%xL6zmpfd%*7v)dv}7oNCg$>B;+mw4L?Cl~n^WOk*|RvDH?Cc%HheN>>Cg6G!pb zSwq6^hm{Gal!B#5u?{>}-`8ux{@?(Pq5vR6<)u_!;KX?DYru_d5RHo+zv)P=f3c4C z>uvI_??^!Raj;8}+$YAzQ18D17~=moz;Po04ca-z0PF$K9rQqwI9lPl0K;dSvVY2a z6Lk{kY#d`)NECxV=ZvOiw2kJWVjoe-?1&!BjJ=8#Y5UrToe?5zg}-Qnj?d5>@60&* zj>amQ)_RZ!cD}sugQs{R+p*TNe{7fR)*T2?8O3D>Yaq!1l>d#l74%XDD|yuqK1vq` zk1Vsbokc3U&Nw7}qAa?FH}XgdOTcL2*Oy%%#?73)USC4<4Z&q$6W5hYhPMS(tzvnu znwRN{UyvGoP#S(u8v1Nz?o=MIS}z7aL6#FG`C1Q^C%=IksBRWRGt(zje_iwASUgWn zcBlXo>MYaIQf3haB`XM2J;EA$#yx*S%Ni1 z5ku##obE550XM4n}J81u=Dy0b4^e?goz%^8j(dfeHyvAw*vsk-|IwJHO;?9`bbzRUAxw0}MK!CJSt z)jJpnu=*Q3oCng{KOT?-BZI;XnvQ!~&gXVwdrB0g6rHbOp=BMSe`HyQju}|i@y;=> zT%|>Q3Fy)#&~jU{;Y3!sRv{8}tYsk(6fH0o*xAh7+%Rg$f2!Z*u$!`YDIEBfRaF5^ zZ8Co*nbLrd7EC0P&M??k=1^2nX zNr>^)iMd;1e|k{FGr~N`=V*v|h7r{mbMr|+nr!5oOc_<%tyN+jELwfbqXY^K?rTgg zl-si%F9S9(w-jeo*mcAS-7lAf(lwk{Je``$2J;id&|~Z&ZF<^1;Rx-IqStkrQ__2H z1L(o69bg7|pn94@9t_dUArJ2PnM6!-_j>&xEU6eXe-K{EKqF=rvtcetg>DCKm7VC; z-F6oR1nyI(q?8a5LfaUsyDk;FZp8|y*iH9sT0F_C;4YfvC(!C2oj|L|W-hoVP<}k8-tSU$18CKbeB8e>qIW;bV1^obk?+`EsV1m6K#&u;1|~ z1%`p9io9f>{I&hRDXS%6Oas%_vEGntRi!nS>%fC_>2imz)9Z!m!^@}vQt+UsWuR;S zh+GoxYBe)teSq;e5;AOjxaqwu0_0^U-cGUU!4OS)dT_rhLUfepl!+RAYWFTf)Br|2*oT4?m)NGoI0kDQREy0J!fht!gs#_xJMB?UEzlV4xvTa|tM8d`MNhHR(IwX9h<9H$*7tg6| z^%hQ&4Jnwlin~?(HimfxvL{2?cp_4G_=HBvd!|>Wu*-dGJXX1=6&hxiT0$a>SY&>0i$HB-K@Ctk z7KW(0$HF~R6=aPfh9s1WZ zH7gy{C{!^I2~I>pvrUmgl!bICTHh=#1T3t@SZ(H~ZW6D_&ktkOT&pfSJaeNJpMMm% zkpdcq3MUhIgf=u0O`;UdE@rM9&B4S}ktXJ8G^MAHAl~ewH%-{#>eIwCe}xt`dzhy( z#W%c20klMP0cWH~jf0Cpny!c621xZwrZ!@Y64A#=f++6+pX`U~M-Rb@5*7tZnenCe z#D2xSbJ+{e0~1uZ#)IOTj_~i@FF(p2BtMa2Sv_H+v+W-^UmZc4XLs<`$m*K z<5JO74Z5rH_D5Ti3YMVUe_}yq)x)yf?)Kss2=bL4aGl-~vP-gBKxBV=pFd6W`rwd} z_H2o#Qi^&^_7R6xFmdv`JfCvAQKnb`vqHakYj^`ISjj^)?1A;W(uRhPyc{SlQrhR=^ZfF?8{2!-rI|Ka$f?e*w>}muicxNKuWT z(1r2A*aX%$gEg&h$U*jRZT6#@0Y^oL&IqavyG_5~iGmv*K2bQP2%sqJ^A4e?aYPKF zD5R5wQT*sz7_V0-MS%?trYIB>gi{pqSqD_UEz3<#p6$PP+5T%CCx4>Xwo6!*P2eV0 zOA~DZAX`5C0$BlAe{BS>Y?7M8UjXmB{#?5wGeOHVh*Y^PvouS!FH<~fIOYdPoJ)}%ozPah1!0os2pGiq-4Kw-qQKj3Zf2(c;pF(XT;&(u0vxVm2 zXHv0DUiz%V-ya?RnyHQC(`5kuF(G9ZIQF&R|1Czm8vI@y8M0`w#|WC8EYZ^yz2 zV&04ebkp35wGrFw)bBPd01Uqg3&2y{f(5kmz5)9~e_3oQvPtWh!F!+=22Ke@37hVj zF3py2Ne!BS?)j}S)v=qv4*<8={yBd?hCaO6Z%LIcn`@~lWiEB+GN@0w4PmiOtjM=o z^Kj+Zrs)jI9T^om65MW9o1T&J25v-jyumR^guKB%^C)>Uj+l}12I(}>azA=M7c+0kL7VTZNd0B>gy%3CDe^ss z_Qk-XGU$vHk6Bd~TbK__94+>_^>8#S?`n^NMsI9WCZEwpthUzug{-oQ$UAyz?FSzS0qg`PL4bAE zM?j03q}zz<`&qRPQLTorW1B$eoS5~AmDiI3onRK#Kp4Iji`N8kQBRN-U>abFx^dsQ zK05+zFs==P!;AyCvAMllh_;Es~}j zpb<679Dx-;DegV(b3g5eAj9<^f={6V5%IirAPym-7DRlL=s^dw%T>K}Awmq+h6p`@ zK195;)`+(lY>lWAF_}yT7BrITnYQw;BGuJB>U%%sf5TyhYab3j zh5F%`=dFME7$Pblj&KqU<|B9%Dp4Gx&wAL0NJ=e8a~U6ytf2E8mrTB2)YpFMj6n=nW(;}? zRmSknTamF5L{wu8-6TrPM(nUtF9pT`2CFXyJc06JXlJatXw6<$rMqdrm3{#@DGNB_VVVuK9jP#u))ZNVA0Py_^%OUih^@RocUWVEe{R!{!|`GL;?j9r z1W8f{s<$+CFhrE74(?e>Rc90MQ6S1o4EugL-}fpABF^YIcTB4>R^xDdiXbU9SEL2qh^V za{(ah`Ojm8)+z_&&7d0rX`#lo}svmPfoE__1 z4r{wQ6L+*ub4u(+YM^ax94dJuTLiR`j+|=#=4|v9*dQ+df5L zU#Rxuc~WAU6F=Sp{+eZgU7%^t{u<1h8jCS)D>;n(wFC8mm?g8h=2A0x=ZXA_emMYn zQM3=1K7DJl!x;g_2rU)WqC+>5Hi6vj50a_(n zS@OpvWx+pmRP~YOpSmVfmuii@%w?F3=M4r3yt5DOOk^k;ktil58*;Yl7l*ExPA#27 zj88b8C%d)hXGNJVliD>EZ_^$n&^PW8%Mstzf0fz7-D3WBCXZX)7(D9pS`^b+kR}UQ zAMJJXQ|6yZ+1A#^Efb6yMf?;H|6t8}Mm!iuv=|3NHovF_lKmSTf?n_%&J$Jg98|#4 zAgN72$W|Q7kjwA_L1z(8$W|@4Da%&P8#R%na$=+=VTz?JfDU{hOUm2aJjI2N*H`}I ze_6g`xh3+BR8?b!`)8l9x8O=VS}s@OCAf@=2jUEJ(IESfO2+$Tae;5g9f8~=)vn4Y zfiPA6Wn_tOm!WM0Yb1;_gN1sTOxXXMv`V+2>+GKh zi-7*il~8@Q30MJ37^qwf`$aww5R!Mae|O(P7J{Q+Aolk3@4MFW6=+p6qh(*nd#cLh zIOne$zNy%0SDgVxl;7TzVny!ArglA0UlV>2D%A+UZtz7wu+!liB{?7>tBz;t0LTy% zokDc*$(e!f;73P^8*-#ar9Nv5*^qu#_8S4fe-^aC7uGj9ua2+YW1dkvb~fv@eLR1C*j46-U~z)PFwU12uaf20FdB66{WH9SEhfr65IL;`V6;18MU2b*CHv-4n) zb~>oK-HeQ^X9H*&1Bh|vShHs;(?#dnF?LNfD+VXawO!Q5UKR@j7;L97;0de~hIY<2 z3Fo%x;gJ86S;B|dQA_Y7*^q*Hqo`$-h;k&KK=-Z`i~3)fLC;$CJ=dz7e^1B969N=# zp9)x=3im(IsrFQ%YH+^yiv@6);XwcnKZWBXPXhlR_O7!0>vp_+BbaK zG{wWi1?|yOpD1akS`R{JPa&1PH*0w6TG|Ppt!}xKnp6} zuN&W9xuPcLVBF5Z1lbd0gC!UW($Z9XDE$7IklY5sePDMe(C!af#|)-);++#Z{e8gc zgnJY2ePG<4!YCV0r=tr9wWMGc zDUjeVFxb%yV%bFXXNVf1Z!S_LVVz=&Ihccsozt z%R3R)O&p!0=2;V5kwel!&F15@(olWA3v;m`4<+&81m`a)#^8r{t?i zEF0>r9gIshi@F?DSLe0<4W^$_zG*o}s?QK-&>RkQW2_~*IE1oRUzbo)@b45#+M{+0 zvuu^@={@qve>0ps!w=yZek50}(bu@5r{{w&PM(V^@S)|Uwd}SGY3oI1heZ-Y5qh?f zP8V^penrYT(vVM9sZ5VVirWf{Y9Xtg}#Q!7x zHS%MApugS_sy1w&kmU5^m3l;9lq?dLQSsliS0|PCKJfAM%`C z&G(cZe`sA^*q3M z`brDb)7xms6r|46eL5)n%LZh2Ed#-Nkv>^~pxV$3KtN)D*?)leW61pTOO~#3vI3?ptw@4+U&(vtC?f5A;&MX<`bo$h{12Z`Qf1MnF%k3Hfc!4}YP57fwx^f$hm!A&r zNX}yi{;KZ>=f#nB$dgCl6W(PryPc)z0`!uHhVy2LPN{RMTD|kP$M9 zaaz(~l`Vu!M;;~^HeuK;#h=imT9&^lN8JR-j(}XZM2CKw;LwuR*?X^so35puu-S#5 ze>+assqOE;L7mTIIC)UD2w$9Ms}56!hY7z&iL8|i!L*qrKkV~%M15AY?xReIzF$OF zM&V%dJ#+zWOT+dUUfa2~Lc3DBTcQUSem$UFp|+1i4>msIPV@kqiRmml&(f4EyhP+@ zK^pRlT++-G90;Ht%XqbgMg++CBH)~Pe@b$^A(r5QtKu%+fMKKt@+9~*d>^m3>!6-5 z&M<<48dRU&@_D3=Mvr#^)U5xNqB*=1@ONoE5uorkNkUt5{zPM24*h9mV)A3)p9Vub zd_khJgCFj3py*(hDXd+I5ZX|v)1ri0vG-bpN@Nd95GwgmuRL&l_u-g~6?G2}e+;I~ zzFkcG>8W6eBSXF8_GHg*cu7geoD_pWqEfv&t@8LAyTv1l+mCbMJ%}kd z^bJ!75gZ;ka4N#hA`oP^F5}U~e;hjRKF%|IL>nKSqh|P67`cK!=N4@dN5!Y`JsZ!4vq*_?5@dt6h#;kaLSHl_*(ze$v>H2_V!KYmwWI_=9gpke@W&g3D^F; zlF37uJcPY_2pXYqrLT{dbfg4gjqwBzEJ(?2eL31EcovM7MD#TsX6e^jM6KPw*6#nF@N ztNG27VDNqZJO4zQ>8A5*Bwp`uFRX}l=)Uw55rKvGJ}nxwb^A54K&jxRwd zm@kkO&nn3u^R--#5~A)?X;B{aF&2aFRwrQ>vwY$JS~=M-1w@qeufV9vP( z$;%L=r*p#Ue;}S`Ny2;}#_=UB%KntHN%J{4gNih1#y8d4xVr{o&gs9SrkaFMAx+*E zEzzsi2TuDadrf#9rl(+bW)0cp?=G2BMA@$SQbav}SyBYWgU*dY0AzwnQaX~`qK@nO zS5V(gLP~PnRN(h8rcp)XcdD3RKv9(%3teVs_hFobf42#lgMlj=3(lEoJWn#PE^5AnWWA7TcuN zA%rq6{$MHIlj89^NtK7q*lTIz{RZIln4(;`*#Jj6`sQi@mTHW{#f9la^C;>ssWBKL zQG;V}e<7)x%|O&!gTQe?pnIbN>2irngy}+FB}6yn-!O)m47GUIQcgMcTwy;3cMa%6 z=h00JMtt6UOz-;bS3wv>K&z-XupzNJt#HQ5?;`q5SEApv5#3~Yi4JYu9Z$3L8I8q* z1!&MV|ePl|DRmY8R^vb$2-=d>nzGbQOUF zU9DJ~mxMyGomg(X`E z1GR;JGX+g?J(Hk!Y2JR&4Dd}2`Ch-9kAppl23r5w)x&|JeHh%SENz8p!$Re~aVKzxww0tM9%%{^qN1pPmF~=>rHw_e=_+ zNPwM<`ytGssNSHB;$jizk+$AzZyy9T>8jbR(!r_31^_MeW*Pyc7_1#(Jxt{0k-17Sk>s>Ece!olDSw!lWJrE$Q^`9lKsmMQ!W-{Q?d;yDuui*pg&Ygre{oO@dj`4{qB{qIK3y} zROMhVOR}bZ^OEEQ@1V+-qFe;d#X{E( zLC?c7OtKZ1PjrpgAM7FINuzXJZAip<&VZ#VnN-8U%Vzp8Y2O<=$}HL>wP_+7o53xX z{M}{2N|f!oU?uALTd)!o4|>6>-LA0|C&2(8&UhUjCdrz`Ug2%FRqPk;fAgcy@Xxj= zaY3F$_7evv9o>(88Q`C?Z!OaI^%jtb!%C~k5J$xF!BKUwu-mx4uvGM_yo}_SwD%gu zHiLLGhnxh32WUPGgoh#)Ti`!SSZ_tm-Ecmpdn;;Y>Pv42^MKkvs zNl$H_rh|iVS!j~`eiiR=?dMvrY2WN^GVr>!jX0gPk1ohvtI!p`YnA)Tmjv7Lmj$~%YtaoeTTE6aUKw1Q9IoOGsjpI#x(_HyJu|w>lwKU2H?P$=l~U zy>HLip2zn)N2D~mTx@X^#*KhxX672d-QgR!6jYAM@;=5yQo>0Q zrY!(oVgW|-G~}O`Sx%S*k{q;AGz^<<3|+&1ZY(;)fA)%qP|vgrc9~JJwI2;j&{W%L zTD;IId71l?+^8l!*X>zJd}lG@TQJ7k;kbE4ZNROZT2XMMrkh(+M=2)@=u)h1n`450 z%M}uSoldkxK506;K#AnF1DQ-V$o@_Fjw8;*kPNgy6A03`+)V? z)5jnL^2Exp+7$qwRzilbxG&=-&XgwlaBNP8**H%5!>70r( zYlo-bVNLRRZGmZr8-8HN4Laju>kPD$wNEbTe|41NU6bo5RsE&bQHYK)v5qSK@C6-Z zLSL|DfjXi{EHMu?Pzl7TftRSB#rO7M9~KZIWp`Z#LRM9Eh<=pP9b+G*rnksPp*h01 zr;6AXB;J&-w#hP166((R2!c>0#Og`4<|Pgs1xv||qpvvd4W)A?QJX${UW%lM|+uZ$P82TpeP}5>8NK)and51_h7MW6&NIe+04H zKj+zYlcjr(!i70RUdqwkZGl#l2o(?pvv1ga#s9M8v5`Rqnr)G76%FjYv` zuS?WGv`cLMv)J_FjYnHYiRIY)mIVeZb`GV+8syg$>*EEARX;X|kfvqZ-3Xk5^-m4~ zo?5(PfTvdV7T~EwM;PF#;(HD7e|9;|=nKjVn{4vJ3{cEko5TDwBaB=cCd;rmkTYlv z2Mvx^#cmG=)zaO=etjm&6b!R>lnDF z5qJhAbR;9b=6w~f*Ce8@e|REpZWr4He1oMoE?bTQ)N^hv!=z|Rx&@r{aaOxj%Ic^c zz0HwjAoU`$5B1uu?Jz7>=XT*_b1baevF^R-GPPg067yi)oY*`bLpR9(ccSj@j`vqw zpyI5z?QVH{eW!79&{|)vy9<}`=`7b1di~!sA|Ln)khUbBN?A7|f0r=JsY=RH1ku8? zP~H)a3l8Q-Uq1WdYxUV>3u?3Ka3HKDGYDCSaZ+We3d=HF+*RRzoQwReX7(_s2P^$k z%5yI%&-e7w_TlAKZ=DAym)OB8s2fYK0)YlGRgrINhiQb$t5hy9OGeHwbe>dhDb`k` zXsYpj5HFd}c`Oftf39IdvvBz#ATbJ4lOxM@F(A9HT*Bu&rg5S0N2#=3M$^R=H&cHE z;l*>>kck~9-lvwhzU^goG>NtO;q=tH1(^m%15F3ARFkZK!ZF=zN_u7-IzF1(sD6%F z?Oh&$w-12~C9EYnL@P?Io*{}t!Fyby&>nFxqO@XQ1k#Kae_+e;g#c7FrndZ%2Y{xy zgp;iR@D$Jr0^Px^TS6-cIFmN;?+sS}Ti6avx&~Gs&Zc6W6`mZS0Hesl-2>B*nf?J2 z2%~+GL*r$j{Mc^g8fcazS4fXB>Rv;6SV}CxBSO^v zw1RF+2l({u^!eh#7suFEz{#J{D|L2fbOIi|8J+Yff1Me<5d(c03&pNb(M`#q<_;Zm zG0A$Jt`=FZ@6RCXl*ek1U*$1LBOjKS7qr|QTOtqP9P;(9Slsr@Q4UK=UM8BwbF9lg z)QDY9Xk}a zC!J1r8_$RB@yvKU9y5I35B+}kQ%(2CB!#Yo^R|*EVpBJ9KUt3fzRD0_-+}kY6=%Pz zS&G)-kqY>M-cqcq$pYqrfLTp_`jCoX*Nc1FciTl(21ZrSv*Wf{PfPyIFA6OmEk4Z} zf6CBov-y>1gDz6=Hk!nm-X@T(%D20cM)%uzQyYN^3LetvXBKS8CHBF_lGaez_;a)v z^hLPy>YTnQ0VfG5EXDQX4zFyN9Ot1H<6A7te_F6dB2W3-x}dthRnE#JF9rWc&SlWK zsgj0q*8+hppvRmc9DQoN>?1hQ4lUI&e~d%@P!5%Pz3QPnJbYr`v%uCWQdfi~DppH08#!i!6w)L(15ue~CNKu%_9I z*odaK>}B~j>zUWGtLy@Y#J4!3S`U!erxDZj$=(#of5=zIq%AlGtFIoFPVn-P=GE1} zD=KRO1qWnJ1PNoYCh9E1ur$b(HVm7Uy*vZ}i@k_%`iDf>=t)S=peOw;UC?vI;HJf> zG+W|xU~rRyL78O>7Ba_Ge2!*2p zMs>D2mON3Bry+Di!j4spcVps^Qw&F{-AJr>(eU1f4ko-@^I` zl*PbD-)uSdSk>&6o8~odc3D0Dk_;|cO@6P=r!ay(@a|#+wnrY&5nSc7%}jL}GE_c# zr862F0cKOrBB%KkSsdx1Ob>K_oty&ckn-T(zrVZ$arod>R2dwqbS&od0> z&Che!wQXLc0Z_mBoKdLlLr*7E*mUO-D%KoNBvk%m&muHr!Qp&w2?8Le0C|Mz)#iZ# zdKENTXkJB{e_>D_*jEZ%rOqk)|J68rnhJl$Fh{3<&DA|qX<5s1o-LFz^Q%v$mktq{ z=A}cY%kk3j=9u86_aHXA%Rm>La1|g=h}bDk9$8d6Kwt`$4xB81N=KVv@)X`j5vRzB z)qT)Q+EB*c{gU^LbTTm$O)Vw=^Hi^#r0|*4AUw%u6d~eDkr1YWq-&sKTbRhbq<_t)a?) zq%AZR*f6@amAx)$TPk0$$op=ryXj+G!D>NMw+2Ox*bC|HP#t}&|NO7AY0I0oF1Gdf zuCE9je}uCYE^nmYmK}X6*OBAJ-p_rD*xnS{efS=`&}NvN5xvZi%53_@o%WixD<{HU`7^I>mW_3IRsl8pOj5Qkw@lK`Ll67f3~# zr2{lJWNdCXJDMQ5`0Z?-iPb5I6hxr54W#&De`QTbAXWw)7nHo`YTTy4G4U!LPtokL zhp5ZS4!jv41I#!nmYg0|br%kt)h~8%*05xpwl6E{#{CS=0)9|9QQv8p?BQKA(3-=| z)+qGueoEQ$`mCv3^jxwwGv-Gog0GEVIVbk&pXLmu*!tO8^|Kg!R=f(9WVNdZvs&r< ze;ew!kM!7F*WgKVPuaWS+)*H$7WbN^HNHVxAykBXc-=Ip=EW&QpY?4@CB@9@tXXlf zqPuBofE`CKruCIW;xomI_Z)2ePhNX(HVpcfdI)11SA$PWQ;7r)kI$<6(hF0(s_~$a zkM`MgZPWdE-c@lw=2g=j z&|^=qGzSkBDC_`*xs(}wJgQvPn`?ICOCB17v#hrEQO;1xoo&3zBYNPT)g%ra2}>n9 zuxD8?(b13ivWX6)DT^mgqdz8iK7|zLF)tOnG+SZ^@*GPm@^0*QZR(SOOw>8_e>^@` z9ipWrK`zMZ7oX^|Y#ka~mXPTp%Mxdfab?Cmo4-|EHAaF(kS0B~Q{%Q1&xHJjeUxD(HNdM-^}C%1zGD!FPVRp(v>7{ItOKb$E`}|= zt7YJI$dSKu#o90Psu*l)cZy-nf7g%t4zw6h`x6tklb37DL+xr~kf7{YfR?pMOZDh% z<5kPd1Gnd*(QqWJXy(A4Wl=LnKcefJxsZkz91E5_L_aNfJ{860F)tOnlqy?8o?~e- zy&IQ+z3fJM$B2xFu{@0Q2M85|%k2}3Fb5QY=)G*VgK?lAk z=7DKtG0oH7QTD&7JK*Le?^Wa|Ji%^dk~mJe-70j)A|Ye;EE3B)yB3K*_kD}(Nz$E* zM7z@7#Z6#d4E>b61dQ0he@G;&>|rGO%y%*0_x*iazi5q)Bk&a3+$3yka%>T-#Stn> zgCmBOv^V0;UUOqF(rRr)xt7MZkUK>!R8u2RjFv_O>u6|1{VcRIopjth@V9lzdv$FM z$&=}Ci<5bUZhf4=`?v=IvGTlzPBvq|+$qV(aA_*UBlpmWyXJlmJt&ay zMZqZ-yP^LJf0_@_>$b$of$y4KG4|9dyefVw|8BPXZSm>r*98>I!}3rAv5bYl2H@FW zvsEW1-s3%tOWb{1n<;6t>=ypMuL`xybo#x02BPC)hsPRB?8d z&!O8y0EyWe0{A-HK|q}Q77)6SH0THTR*Lo+m~E*Fe~j+|L_}Z@pjV0L0p83*c~@gy zZeOz2#Q}H%y=&7IGOacU)x8K5qkR#6%zHt*c;f2p-s zo$gb$`=M8L^{KtV)Y-{5Nzq>o4ok0wv2sAP6>R!fJZaN1_lnxuI7pXggY1YS=F0dJ zVUvc?EOIH7TD?{ELf5FEFwF{Z!rkdHhH|?iO?#wmig6}VV^U%_Xl#Nkqd+BAXu^## z#YU8^94bEBPrno`%URXeo4+DcJbqZVj=KO2ntc&A7I5gr$u#f0c$uct2E+@36icHR zyRw}tqW17w1w>^esJa=!bwwdGdpR6Vz#EnSW2IfEk8!Gu13HFF-UgHYO%5#CHcU#q zP!Ty3v8E7zgWeLe>UtSC$N=pp{35e&veWi2eS{54m`OP7v_IH&@>q!Ht-UJRuL-~b z6#RV@DtHk;>cMSrUnWIu#Q1(s5pc57TQLlQp56T2I`6>%?9FtZk?zweihyE6cNc>X z2}OcDlKglKvy5_DKoaL-~~Q5VLYhIZOd- zV@T%uAGaj@LHwD2u6~69Ia$dSnD~HE;QO;#rs`+4k^{@_4CB1dd7?J^rmwYGP7Oa@ z@yz~H12+=A3|$%DwUw>_p>NUnEL**Re*LtESQA5pR2aSpyO7+Fx2XMDGkbj3+V+OI zt))KNo6ua(?*)TNq|CELhX&zPF!d5VNQ9~i<^B)-MXSYWWuq7jQku(%Mtnd8m)0=` zi_+a2O0uRenK8K*`vN*l!|bcbU0m?&rqLNXV;zhz$Ut6 zaPpEj4?|X0(Z*k6tdsrU3j`lXXOqcQ+c8wAYE!XgAWxU&>G5;}vmn8>mFg_aeH~QO zb{qm3s7j2APp-NgJ|k@M1v|ix@JJF9`62OK6LoN-T!An6i?e#%HLv*F>XrA`V(ll& zJ%;|4E~_Q{v%e0ZxkhZFeXae}o$0rS=37L}E3`XFWT04wE4mwFKG?ybl*e}z&ZgCM zf~`goFfDJqZoJub`%`mUX2?iHyO8%3kxpOf_>q2oAE&Vt!}NkCGfBYJgyqf^YH?_c z`WCDvU&-{0u+G_|ebrx%JNLTEV>VK6>^KF!BA8IDz#eU-z$MjsW7l>Fl-f(bJ4XuQ zWk0A8)aHs|PmObqE$5^LTfeF;aV#k_zv`T4hK9@LS5&vsOHtpfHb~(cyWr``4hwX( zot{2C_u+WI2t^i>H-_kYWxKH~ddH^|7kfd<8FF;^HeL0Y)+iA2Xo^Ak!3D?U62{{$ zUJc7b0v~y829v#Q?s&wIy2@v5ki*c;kOtK`9L0UG7;ZMAtIonfIS$__aEh z(zBz9ua$bwm?|;;o}gygU~AK$2!rK!9Y};D|0pl$n65XoC>6-r%*r z(EXc1Wgs9~cHocj>5m}D2vs+>l`i#1;(bsDJ7I^6;qsKWCEh!gvRaacfR10LJs>rs z`%&U*uA9>3QCS{u%qYvENz1nL0>d6kG;^OT zEi|H}01Y_)PIS@Ux_?7G_!%*P>s4GAn3%VS2DvphH zS%<>uXUtX-I8<>sDXuOcC%)X-S|23Dezv@HYsyk3+lV7>ZYar)w?#OM0d4A zrzFI^=(}=DqW$e+`VuRdjf;RMLzU~s6hG71RCrIm>rS_H2E)=yPah~$PS;r=JOmJk zAJ6me814E@vB?B`OPiq)dKP)q@SFNBf$b?~9bQsLn`QG(k>y?zes_lY%ArXp&B^|4 z@yw^tn}A!WvrO4(e(8!jKFxKLGg<(pT>yD^aij7fE(5KWh?Hsem7=}Po@rPHewH## zzd>6ArKz=pj0+n#n!LVqKXvZO3l6xZNtTG~VD_N0`(}fHZ?|ikMk;#K+r`SMcHhCM zhiXw;F%z4(!P2czxJ})=f%R|yLhRO?(=p*I(T^p6*@#aUaONcS9I!|mXo+@{2>b&N z<9f0HLc?&`_04LM%-UoZ%)UJRpIh$|yV##8UZMK$qh46`jlAGA$3d}&Ax`{P}JmyHbq+;Ed0$m^JJ}j!GU3;TQQ9xM2FCd zcj;nFkiknP9yL13R+Svm!y`~h!?jf6z^sYujBI;F!zoyDN;bMKs|wN;r-6WTUeA(d zXy@BbxfMAMNAzaAT;oG_*on%lUl`^W`n~8Ga{o6SlAGbBsJ=e_B+WOs#8BY`_TsAW zW30;pcIcRrNy#3^KXzH}*wFR9bhG9>Zf?#{e|9=qYHUPvd7y0Jh|K_9zRXk3vP0rO zjhrPGIaQ21Yb<@qogJb~wsup(T9mnl?o(P6oV~dSDz#szK`r41sVcQ}&o6(iLGI_J z@n!t({K3$fM+a26-)K;ikT@}IJHkNMcgl5yz48?8sHoAkD%GnK8^6EW`Cm;|TyFI5L}hI3c#UBN&Qr z6=;(WXgjty(sYM{qfIW zloGw3ye=Er@u486@Lp2r_A|(Z^lOFS1Z?17n$cqgF?d8fu#6}RS>klRpW#;Mr`$CB zy6aw4Q3GF|cL#y*(>!II7L8O#R3KvgL|8hYG00$PcN zpTE}~(a%k>A&LGkt8=H!Q%DV48?)h2j$%dsb^~UGD>I-__~4O&#d)dqe`pm`7x)&i=~0lkJVWC5<(o zt%}6LV{kn^Z^aTR^qF724%>%&I#7!;v(F+M%-j++>lk#PGGgYZc<6{Jhp)8oGuez( z#W&pP_EZ46^4j<#hsw>~7<^437kK|a((Yt?CSCxu~!<&pWg zk&axc=%H`duQ{F7@i_Idg45hy<1*EF;gi6;X6SCVom|Fiq{^6l;W0yA-BdqYhVLQd zcxHG6o8TEDozStSpZ$G(%5vZk7$6`ZFdzx8+8S*QZHOxB;QwG7Bmxo?)PD#G4GEnH z>HoujA>g^Hp+G=jnbLQDBeSJ{rJ>@q`7k53Lj4zJ9QR9Cg#ZDO#7Q4uge6T^W=29! zxAjIvXba#%GJyCm*%lvC4CH^vUIa-B{y+3j;w}1rLrJJ1Q6c@;=V*d-#r+>L$wHz+ z{trc0AVHD*HxiW90A2>YTUrh(eB0(Pq$05YqU;8GfH@=xNB~Bu{6 z`fL^|PI`0>Dr(#OB$5Lp^8ZsY&aG%k1_uFAMgmC(Jwjnk@1I11N)O346Ttd2!UE27re*my7Bu`W;Hkh;-RsA`3}RvAwo|l z`fI4uQF{f?WXkDQjPS2Ga~fw;D*R(J-|R+Yr_JFs^RXlgnY72blD{623=+v{pq?%M z2%S6)Z9&iL!mVgm6S|Kn;D&N=e~KH$o-YK*waGkqeca#vM1y+3>|r>Hi60wlK>;k9 z&2%B_0qu0;S#I4`|8zM)hx_wjmUjd{P2F6FxzmFDafZbRKc(P9+KUyIGQbkZj@^Qf zU3eE|Eplg?cuA_E=6U;sdo4R;LMqA!2}F zjqktu%~K@W!HpEK_{C}$=Q);I5Fv5{zoH+Z)+$%)`f$sEJZ$^;ctebAeflCa0`SN9 zTluJb!_>U68Muzz63%E=F^>$e;Ed4k)=z1}TAM$#AE>cTGH>1-I>Anqjs!~F-`m91 zbR=N@PEmkQQjmv6dD(tBlF*v%iC~x3+}kVhNp~s#lh+@=Tw%n+W+u$}Sof?qTwxBE zR9(4l#g;QM^Ff%yc+7ab!6?RO{@1>FMVWj{?P0Ny8%>FT4O`Ju3)fbA45HXy!TQ%a zawnKq7sNzyEOwIuOIx)K;2yCxp}@*mus_H+yB(R}`mZ=$i87RPlO_q<=7`Ng zt!^p0KP>X!^rBwsRTS9H_QQnzZDZaAwtWJ4#Q|b%wY5c1EUk zLS9QsN6|=O$};VjOK9-ImaRRI*G4ow4Piy)tQXE-U-Lo$3wiZb$aUOIm5AhB?6_kmbS&e_q} z&(^EWSdhZ;h4dY^H!L}mDnVqI!oDgmPv&AoTx{6DFut4?Ss0iW?)3Lhme`}v^T|p2 z_NYeVNRN8tZBJnaj;4lJ)o+KoC41xIrVIzFsvzG0;Q?frCJ=N{zY@^BwlU@Mr(c>$ zlsfGN$=)uJ^MOA^YJ%6v9rR{|UdaEEpGL`EYNi}9%7ZsnU z=HqTnp_sv{C(GH{v-&9cDjCH+BHDcOPAZ;vewBwea;#$v^%+_hd_uyU@_{+v(4n{x zhpHF?bhER!ZlortHlo`8l1&(X*x&Pqc@jjw7EJ@WS!IwhZHJ}ZGf_rktj^5-Je|4o zvVs4EDY~Uit3num9nE;aXo*A@Bbm@QEFHs7-axz5$8Q5GuT&lKLTs{C?cA-pdqzMj z-dj+-_+ash7fU{IH+)M%*)N%{L)T8RTsQRxB0U)Aqn!5PkW`jcdCUVq!;cS9_{lH z@I6DrLN^-OL^5op`dh3Sb&b?kC>vedooXcHeU-$zE!1Rr2}e+|5R3ZcP`l3;p7YIy z-Ef2eYHq@FB8Mi9UDv{|IYDor#`kiDO&9w6T8DBoR+e^JMrT7kDSqTc<&5(+cpLkY zlMWiK33JL1Qgiwai>Opew!|}BrFrQRVA!5?vY56?gGcmxzD39OX#I&kF{Sy*MLDC7 zr|r^P#p>iOVwR0u!=Fcdkhh(m_xmzVet!C|h|dM!LIw8Yapya+F(R47N^vMyLd^Bo zpfT3d{c-3jDj%|V9K}Ng zmf8v9B8Y7jQtO3ZE)QB`yY!4^Ihh)v)rr2TLl3jm%V(scLP;&NR)4W2m;By7bk}pi zW#zojO+v2Q^l%-TwzQL%vr^V`=LVyVx4fXW&;Im?(zwqghJ53g{1q<6`T*GUd~YG) zh!E+;&QbpGTt`#v)3GxzSuF_z@EG7p7WMbrbad|ve4d5I%+Ml`882T7;-HZS_k$PA zs>M+{L;js%X_0B!X1ny5$u10AZhjlg=O}O%nhuOJV}lCJ!7%FX*ZqLq|mGg zI@E`e^krcxYIka`X$_{almXKo=U-0T6Up>FhMb%Y?UTO!f^;``u_WQHTTna6M*}R} z$p2hqgRPRC9lU;81tOB6 z=tg88UPmQ5lXneydWfX+r>4l|Phzj)Z(4YRN-qCQS9jw?boSPc~00m=u2FVqtQlRRY&7N(n^9r{UXr#&@!q)TBxm-nF%v>$W=1 zWXXVRVSxo~iW$3zn?eEVS+@P*znv{ejFX zt{k77f#5#joCoG_ zC8j~$7HfaY%&1^t_3T;p8bJTklNv-K(Ou%R-+1LYm=rbrz26tws&BR1P+XlmAKrDxaSX9rBE(TQf+D&99!+#*Ku&HxrTS5H*q zcy4`%;0WRgNbY?g4oNy<{%!%W&5!$ob}~15@3@ps8&M5G>H9#{ijjLoKuu>h1X7Y| z-o|qPv55n68f48!r&w)Bx7^Gkl=ssd8}30MRZcqz@gR;j9F)w@fZNetQbyB6n=Sn? z*-c7o^=R~c`rpf4HemZ5Z%}rUNDsq_t~z%dQcNCG^RVLvSn3w7F7-&R_CLF?bk>bUs++CV*IwI{PDFRN1alyaV&~DyqKUy&FYV zL!GI6e;_rvY}pCUgiOM3J*oEQi9Nzqy5wgSAJ#O%s3KkDG{;Sp;EH-*xe+n=0! zacvc;?mzv2$5c;hxx6tIdA%I7bClMCVz_B}SKHbyxJ|wEttczusd&1NqB~TKihcp_ z_B7s*<`=|Np6OMQICl9!kAiDT)yqOJLu#A^?M2-sPrpTLlTfi28+Kpk2Ml=q&C%P* z%8b#+`yA}Rqx{E?s041Q&oMxP6A?875RG+Aa9sh%6C*Nhd8y?^L-saOFdTC-a@#&9 zFlpgiTc7JL<*59v7EZ~xb4hy=2LR!;Bcli%&dd!v&D{)md!#Yi5Nml5{);=6sK4H~0RqV02i;%0h9msX%ORj|T6^;Dwxhfsi^Qt;l%VEIVUVcMGj{GMs7dy4uKr_VC9YKCtQ8!OK2kuLAL+C^8mX4H z6#0DLX87+2ctBpQCP4_du{@xKIn-=m$evasK6-(fk_Q(R@z?-qFk~xoab|c$)&DN4 z_S60g1d~ZWH*~c%L<8pcKCI3Q>{O#-8Z+=P#QSToocCsM{Pr(JyL4%LC`Zup=Dpd} zf@D@C^-S5B3wffO&8y}CRNqm1E51sDz&=L@#^)Cm(o`zG((d7c6Xx_lfQ)gksZ;Dx zf|ZmI^Qh zfkG7f>O9OHh$zKc!CHo2+x~5%VnLIQt?iC^R3P|B==W?brj)SGD6H8nj{|k;tG}t< z(3uRT$LMqOMu;r3tlg z6-YaJ)gbpW6M>bJ+tqSquvO44{sbIv4#YJVy9+<#aJ8uvlTM0g%EgMd`-H+?Q>-W2 zmV+I+(3lm1>8w(s>XNDjQ%K;7X-&P$15SwJN! zHzj4AbbS}%-yjb&u0*xiw*JZ8NH&kIwvV0)|MtV~n{zg_sqltRr912{rrDNPu6FdF z+?jHT8C0cW$Vr(zfkdBa55LBQLcEZv3!GaN&|{W^<=}vQTEj?;c-;F0w2H--1`d-2 zL<-L%FKX;tKXx`NKJ>L=W@w}@>88bm3ZkLJ56{>85t>j`F<+3z%% z^FEkiIspU10)K3Y$`)}D7wzf=SvaP-@Fuo$9SNGp7TD*;>Hhd{$NsHQ0(#3o*Ny#x z`Q4|9^N$}~+IY6B-=xM44`2L1KJO2PzY$$b_~<7(D(CJp%jnwH%rQzYFZ z0beBDV2%TtR>`LboA08LQfC)dMfRCUrIep?b;%-*w~g+CEk!z~IQaBA?^|oK?M|m( z@h^^1h5TKFu~dL?!OA!t^pvgsO>^FgWGAwG#w%RI21+UtB?GuLK|zcj2OA$ciV$>$ z=`>j;0pGOlh5(E5$Sw#!&Y@Qa3{*gc$O5Cf&Hkf`9#3&%#}9v^H6Jj5!_hi zY_Zt>X`)}Xh~ctcNe9y{8EpQQ zK*4vvVHVX3ce3q}R9BU!miQd%T+mDf_de1SF?|3#B-iZ?`##6c;3&^WeT(0IrQt=n z&wPidc=MYwWK;#W?ryM!iwsFM*C*->He5t@IoARK0P2{_ctJV&lb!E#s$@+-B@CKb z6dTKuVyA=Jf}g0wyXN9dqT(50=p@psY`Y7?Z<{#h~ zK#BVtBN1uUUo}9sg}c*$V>~eq&K#ixBXe1`J#0_QYA8m;xRn)g^qSv$VMZ`;T$e=nF;}N7@(Q6i@mgMDPv1DmA*BSV1s>olK$bW;t75r%>pg>Vpv@`mXWVrUUdLc0MlRr*cZ*xMnmy6VNs_?>mT`N@I9GBSu_(8 z!W@Sb+=l%NQ*#7y2V0g%Y%=H>-4I@$_iLmuJq#Z2eF|Qv;~^{Z_l`j@qcT?t)9^`S;@6}x_+$R$s^_h`-v@V`qwS37sCHa?QDetF-{ad7@HjK;pPwS;Ew6YUx?P2_gddSeS`QTNk! z%_P4d_UqAoJ`U{C8}_rIs*oNZ-+PM40PTxQXd!LUZ$&zT0?5qnhawe}iTa~k8^2|} zPYvhB`J=VlZqvZ92FlZAB)G@hwIywka$*#=1Oxk!?~{IrpITEqJ5$V0%=<(t^>RXb z)||EVe=jq&53EOZyJLk%+JFq{x!^s5ZmAMigRM?IAx(x$2hqsDrVHGZ+Uhq3fOv{6 zp1f#aqQoE9@BQk^`(?dl@XDg#K;YkZb{VXJOnXur*^zss9Rp^%*l<#9N2n_Q()f2g zdL^7Y!=NByM?-x6e>P}Vy$p457R7#QU7XfwRT+Mm8B(zs0X@>6rXzZW^GsW2G1Xuj z?N$XIZ{#<@^9(OopQYWp>pB|On(E~>i9NYQbw8ZTD&wcav$6R0Pt2LwtByY(d^!*ofVVtO_;T@% zZ$&E>^=J+>v_G3e`iZN|TMR>U$|3MU1?*4~T%G-hwkKlR40@@?TH#Tg&v7uu$&BnX z!#gzEvBr0J&8jstI1Az^ecYY)ct?W2L~?7jut6ohMeWeI`%2j3w-LUw!bF#unNc>s zXRx|pnh^a=H(cX3u0Gl11hm!Wi74=Z+4pL#=@=anb~#yE(cj)s(zFl_?N#?;LpU); z;w1}CCYI}u`WE!^RXYBA@`&q|!6nQt@EM=cF->`Z566Mw}e)Z`5#(5@e`Zz>@jzl~}Ta!zBw1L{w)#f;DW)>;@j zdE`G~kS250k@)G)1oNtPzda11Oj+JtB~NyT)=;%6I*u9EHhse8(ncZ2NW|4b`93Mh zU@;n=INYb+q^ua@J>CR8wD~Nn?b*K8zK%}f6EkI4Z!T?H_{1HrvND&S47tQ%3^kqF zxR-V>GMSi&FF{@v037FAn!fsxj~c?cm9OzHNFo!&V7M#L8dF^CJDkL`5vBJQB(YZe zwN^&`i+=a^GZ*J>r)jgxr-GV9M$p&y^G|udzN#WB`eHq=gjU~_9zT;e&^wd|js!{R*v7v0s=#K3AcC-qgzVf(b@ zg)PIS85Pm8D8I(~b*3LUXQk%(B6HWGG*-oCy#$ALA@5qgk6vD@v1?X!%PD^1X>)gZ zy*qspb5?2eSLPDzlg2cj|Ib;UVe8&TigvWjGTOagu$DrCQgQdcX$;s}^aSpjEzxZ# zesq+#hK*SRWta|hT7QIb{<^7w`v#ZiWT`y!2=W=Mnlb*Q_wsC55B0lAgC4hM)9eCw zT}ZPW!jJ9AsJ8sPbvA1iyBsqyvlS`W+{I+!{S8#=8lMb>dgUtx~O5E!K zdLa_eNK83>kX@&1{GXdYF*+e4hMR!?ZKT~pXO$omp->EYX44s?$!bYCoVs5x9`*S9gkd2H{8O)O? z{*gy#g@F5e824$1zM$ z7@x@>w=ewMbCsg4)hjf?AM$KCENP=67?eNMzA|}rKvFNw%A?yg9GI`wqim5=$ZV=C z2ok+>)xs80N(9l^lPo);5>{VJ$7~--%)eHc-qC}`JGzRvh=E$`A}L*yk&9q(mD9f) zJJeD7b>1YZnh}Dx5pH?FWs03fE4)eq;JGe*{+v(>02oZH9L-C?`=D2*zI_nbmO`i+ zTak2Eu)FjRL}X<3oiaf)cPyzu-DD=NJR(_M$q@vk1{t&JEmms~S}J|rhN*L39Z!8) zId~q7^$rW*n!?rHRDE3Hq$QU`t6O687vt&v*J5bEn+nRWuObB z;+B@rwu!_J4pZ!%&HUvvGkq^K-tPkM+rA3C#=#l~(0O8S`cxS7crsm692Rq<X`HiqMSGX_@_)QPj1KD4-KaN!CG5p6 zV)&jZyYXg1X;HRer)(qP^Ex!(9k_aA_~%4m8^JyP$2o)$4tQO60V$kD9+6Di)ePh> zgpj6QxY}hx6#F)_^27R=P`6|ocTWfLS`@<+`V_aT_dFoczi-TQp!vJ}cxq_a9w8<@ z$$m#@fC>Suv|(YH^y8Yb4~K#8oiwHp%k3E7!bWNH5VAdmT zb?=u}yBVqfXJJa2!3Z~lKOE&s=mkng6vdFsu|e)V@KX%^Hd`LqC;PGg7tXa2c;VhH%bf^MY1Q3WaFuB?+)dXH3kR5D*`z(xq#2Ia`~iNpcu(d1=5?7 zD5SL5<~E1PnnfERy?i{jld1Yf(_A?gTV&{CVzGbLT;2RT8aCb;S|Gab#;h`(^N+Q5 zVc`V~v)w=0mI=k(C?p~kMLc3wbQ18v#5s6=xC7tn7;6{h;LgT4Jrw$LR#fSVHzt!Y zIC&UBuq|QdcGN5IAN{UkF@)Qw)hu+`KMG{`ANZzY({vI5lqr69^0qZxe1?qA*YNA^FgXNtU-a&hmNlk~C|WQ}y8lH;Y-N$1wd{cOQxW0u zJ^3p(DtJT%C{VscqTKyc~vK zVM&Lh&$$gEJj<3G;nI|8OqAA|_DDig0c)=kqj7iNT(7=Oqf~W-=;i6BtfNor-ieR6 z5P0f}=I4UP#Y1h~NIaE3C&W8+;PA*84Plo^R);d516d2v3m7UpAwnR{TmFolw~OTt zY>xE<>ZID|;*LR`k1J|6!U&s|ldXx}^4wy>xSM-qa?~hKIJXAS0=4H?(Ljs}_eR$P^h(v# zVhGt-rZcftuCr6vktW?xlx*CqU@?~vqA&3X)GM9JkXB<8#nI5@T}lUUGH;0m4MEF> z{-6Onwf;$c3NeJfE9lvvea2Pz3)lZP=q{q$tE9^89)2||Arjx`;3J_A0z7JxRvFZ# z?bwY?qqW{AmlX%_v{+Jm~5+SSk3QT5P!fF?2wd%U}$(n$Qwu zxdE{sA=G`hPZIpc7zMP-)DKU|4KOq&@veY|`8=**!PopJY&uOF(=yYt~^Af=vdObLg?(0?WL;+yoa{# zsjU`KH7rQNxt9j{pU9?P(VcqY1lJrVZ!@#qN)!ZsMS6?$##iI3Vd<@|03*i$If>GvSw@MUro;Y3 z-5`JFW*A@OgQhfQ(%3(=&n%}0xWZBq$l}njZ`@89IIs9bE`Q(}V~#nlGDZC~ZdFec zwdeR9AlTp|hPbcdRPzev)=T=+3;yhLmNx!4^K`(_pMc7Bo#Dv%@*V0kkj$micmF=r zxqFju>W{%%uR*!Od6@3(nLzW?Geba#YN}r5#<)C|v;p~rp{ouyz8A41Q0Y91oJKZU zZRTCh9^gxQxP`C>+3%DXQ9$eG)1N9_qrZvPG%QvBn31$Q5CT&>SXY`m{f!b8)& zHm7b2xyR$zg9*F`nkI!PFp&Pux)+_+Hb?DBU1iX-US-yn!8ZGubJ=|=I$^fe&#TY> zPOk6#b?eOcOCGBGsDiwI4 z3c$jfq<*K;*3gwGEh->+K)TR&w{|G;;rpI*K7nKJtX5CCEX6|y@P;o}9cxQ8I?v>+ zV`2v6NtU-p&NV0%xfusWUsbnFm{m5^ZWKs=}R$$XA&QHlRD0`UV*F!v}Mw=$+HM3AN04DqacKxa%M$WX?=@*1p!Xv@P` zsa9H4lgs5B^AfiTPUM9(cLFQ3ExhmrPjNLY)DiWtYna;=p6@8ueVlv>_4?T$SS>o) z1OK+4;lIUTdW=`(ZYuXe@4l=8ri|5`MNSgwT=GMy>q^CS8KM4NAS zty}q0PoEo)fXA_oYCFwL*q28$%VJ)9{!_p^fnfL~uBxGP@du@G-=6>#zAN~)F+ZrL z`ai=eLE72{I5ir!&Jx|Z%l;)Ait^J)Dm$?uv^;iql>vJTn35th25@{d%@~7I}<1#%KFrx+A>GDF^^6|nCFGf6=nyG`_ zX6Dgt`2iu>t8QJ~rPm~hF^~8fQ(caKZ&Y3F0OFmy|i zz=$pCB@CjZ*d-Q8(sRAruQA-8I~pt~9L~EgxP+}bBercI>bK`wLbpn)_e6HUN4Jlh zeaq7Z>WWp&>CZ{-aZIqlblCGaAo}Ki{7DO478gXKj$a>P!nVzjce`Sw1xelndNfgLVy2Q+K34Oa;aMmtZ9E0~m(XL=M( zbKHC#q<@bJ)5$@sy1`J38wqo2g6e)yU>P!-{cbgoTh}C2ugRnkus0^Yo^Lbz=M@(`erD4@>Z2 z8EhQm4t5}Oy^Eb|<0FPxK0L2hsPsvxK;SRq7#|1lM$U){*Yr5oKXo)*qTpv(57^U3j{*aKI$WG z%B?Bpl!<3q1va~XL2ti@TA*Za9iOg+`+$FIS7?+(2lT68jM5`bej9E#RUVPx{V z@=K6_Jbt(2Y!Z=9DkYS@RRz5pO=EMO*9b?MPeQ8aq0NJ+^98SM;ond3 zf3s{{4d_;Sc3B#ka{oL1ie4{C5MnUQA=6aB5DQ{rQAj3l zAmQevcBeJaZP@9ABUT8n%P3Btq>m*#l_Z)T`dpca6l@(z+|IIZ1kl{5TT`OxGI}s* zeGGtfuYr69CN)M+XBWc6)iVgU8!@$}<0_Y#&Rsq((tFi(4JsIJ%`%rCUUxgz1R8gX z;l-|slMm)RuSw+|iYb@~R0|{uFNLWEeUg;*jP(<(qv1~5Cw}Vw$+5#jG_&tS<)1N2X)BSq>e zxH*NC4j7O4W_^SEup2{(uS(?2#l^Nb}L{lL#r|(&_#cfoxKQ~z}(BZQ|-b} zK^jP>bVL(V)u@T1%Hsx5X%z zluqZGjnH#HV}EAC==bmjhtO^L*41{9@WrWsDQz8RLMU`4zM+vOcyUL$ux?Ksmbb=3O&Cdii|o{y>-iT?ZT{(?R0 z_kMq;WRfJiC?ur8ZWju5Tk>nq_jt(wcSUf`<-uKyy1HnPSR7Lu+sdz-;YW}`X>Qs17XLt-<;t= zl0lx+4#Tk_d3tt~Fg&qC(y2$6S$`m&Ppkj5;Q=d*W3Ts59Ihb--<;+7QAk#i!j7TG zZs_*r+HCTvmkWfwDCcO|!^UC$&g(LT5@MR(Wx2(H+7oRl+qtzDOHuPNw9VFG{w=|+ zmy_`YlLBliR(?#D3d;?TxGqE^`;zfiI3*%#5>$7LUN(_WP70}Um2_1L%)R@s)Pl(J zbO4Bq5;_O#ywZz!<`go@P+Tz-S>%4r37LI)1@^fG*7?M(Y23S?ukTuqqg?!E);zBMx1sxw z7kKl?20y|K@~Cprt7-ccUGZHaR3fhHfO$pcKZ}>mU&DWe1JND&cTr9{PumNQJJ(fB zraAf_AUVlT<2)ZljwH#xFv|v+X@ULHaajZ3QoCTtVmOV&obnba<0|&l?^Tv3{7X5d z7;J{x|2`pc=|TJ6Aw;7;pa*xW;h3z5E%cP=x<%6)dRv;Qm7LfMC?Bzw_tf=W0zq;=&=jY0}ajO6`6mSh2pDM zU_+A0vYXh@QCup6Ro01Ug@g#S9v1CEs$G_*=SxI+z1M}Pk=d~Uf`F6Ydkvi_@8 zB?u|RiHhY?bpQeMLL;1MhgzN?e4z&IwFVE^TxvI{TGow>FmG&p5CWv=oYpOpURyV@ zHMg*?Z8X{l2URe+Sek|T10;KeBlMEGCti&x9~UYYJ1Bj7S=;L43Mba7?X9-FI2_*O z)%IGy=4m%X4LiU9Uo@j+IHMt%?$lXfv>1WNY(-baJ*a-?f6e`x(w-$s-5!PFMGY)^ zmD_;x=U==Y!PIO3sJT&hfHAsIcPJpdQQuOu?;k8yIxJhRR_h3ID*4y+ysEuq(m&sH z`cMTp=84;DB;HU)Y#Aw{jo& zN6msb1?Uyy?j-bOu@y)Z9~WkREJTh@Ohl?4MKCLd5@d8winjojOj*=?X4B@2Y7m1| zGkZuALvY=#%5(@A^0mn86~j?`6f*g15g3Vw;KNuj3^JkefYWbOLkn-JeedZlg6fBC zQ2w#JmH2nm9vqNxR0Lf6flQ=7g zvuB{9Uh|P~vE)7=pokFb9l6m|m1U3>9au)#%#OgWxa?UG0VEB>FZ#w-oLE>rxRH(d z`I48(Dpb-qg5AhL8(RDo*n%}!&^+-F?XjlNLykeM3uM}ebw*bp`2LToZ;a05dD>1k zwr$(Cvm4vCZQjwwwr$%sHnwfs$(!H*`SgC7b7s10s{5)wJ>5N3SM6CQj8a|}M_twS zcmv?n1n?Qdf;a1}yPwysV&ADkldwy9Wz2)Mry@aI-QzSi{>q%l$0h@k4=KXOGqNPP z^k{K5BTB5Zv9}|47IpMVcU5%dSg0DOwoUHHmGD<{$ zVkPSdrXn%Bq_);rke8Ar>u6qbcT>^4fdIx^KUd$dpL-Nr@8I1F&hgtaTVC3%Fk3;GBI2}+R(@G;TYj8b zA?zYb)$m;$R(DYE9c!9%O@wdXrQFj|;Of`teatm;yX#cap_aH6bgr=j+!B#oLW9Kq zk(dfNOS@}PS!T**fzOvXfmup4EGPA0efGTi(7O_4Y2dzvyFyMOujh<>$5FJH?MvHg zS2&p}L~h+#5jBmiz&fuyO_IA?c_BhLEI##OT$QZi_s&Lnq`wR}F0O4mw3gzJ?Ns4c zxFP!_T>G)YGYboq^F7f4maN#j*L?UI2HpB^#0rIpTZQi`coq~c=iTrDJXK6Jthq5QU3O8zs*tybaknoKSB_Ua&mjl z2GhcasaN{V()_7o;2MnC0IuX8p^b)9jU-wB_XrH<-NYQN!G!F}4Z1@+PL8}dFvsH* z%%IDZ95~1{>}*^~6a#M(No?pRJp{@++#8zC6Nk*Er*4E>Y%-SMAl$!SwC(CaHDxFI z)Tfg|Fq)(RTf|TZC+FNP>5fqy&CsO1%4tGQBHyPW!M*VpHH~2M~ z5mtR~Dv0U!a;w=JWCa|kf$f0Izu)AyMw`Llw&l}?GqcGDK;B4A@8-uF9mWK6zy`BG zuhJN(JL&X#%>L(X)Qiy59cQSsl`43h1#faeq4Y7A2oHTO?&p~Oa`RPs%{@{a||o^kr8@)2}8r7!xqF8%j6 zZ5d!GhJi}9Z^5xkwCN+D zmb!O)Yt1{sNV?qW5d73I`=R6YL2#FuzN9Dwdw0qNu-flCpy;nJ-3)wP>_<|83~%iH zO!cNT#{Mp2+c0hZ4!IaUNHZfLISBVRPH7ZsD_jSz>DnMAB|X4!oD6>d3@Ku0Mk8Iw z>PZs__2qBWs+reb8&@hfbkXJMX!KGo(cL*&u4c97o2Vc0dE3#g=zNm!*XfXRb7e1Z z7LjTJUW?rbMq4QrJ||K>gXt1aPc{h1%lqb7OVC$N?vyJ$n{~@(JeT}YZdA~9vu0yY zYu`)7N}es+0~tkvIJ5VN&pJH)IVxp9cnme=+Hf(=9#kx}n%fG*O;LXiDKPIddlIOa zBT#sEa#m=(33fp-^H_lczwPp#nO$fYYw!#KjPl&;4WQHl?JC5tw}DN=WrQl2737S;(>W_3%N| zgvNQ|fw2F#vbkm1EyZFiZAklWA&`oNn?Vj55lL))K90Ly5Y;W?q2^|-+#CbfU6(F> zA}La`-x>DJ;4}9KZ}YWXYa%XAG07op!fwmO3t8s;E>kTv_bB=M@Zfc~rDU21uxjt% z@vcHV*BGlg9sRj?_gs^WxzZa8MxMBKBv!Uwd+j`*{gcB3cpw^%U}TdDAXrw;UtC-c zPi5p2W>JD)c@j)sBV4ruXsG9AUrtJUh`WXVmiSevTm8&U`U%0#uxBrAFLA_OemYW1 zSVF2-Qzw*kgkOTS(8U7*+E|$lAgi_J;z1NqXZAcr#t7mILS|tBXM+lIKtA$q!v%6| z4}}+cnkjU7IvlK4Pl(y+{!(H*n=uubd~ljQMue`~J_I{NL99qxz)lx0XgxT(l4=+yiG_vZC%c3ZHs!-%e8@T_yt_DBs*UpnCtsQe>t}s4f3+4Dg6o9oF zUPywvb3ndqPp<0)(WZ?2&x8B~f}~HOGyZlLm^-;WG52z#w+Jh4+0cc`8e z&?J>eB@`d31B-zO2C`K<1GHG7cxlOirz}Ma;V(b(B`(eC)h^962L)nS1Xgd)wi50qEIShX*2|Hz_b#j6bTq)pW~v_g)+`L+*qw=x#B2Gc%VCkGzh=CHkwAHsUkYx zzrVUf{X9}AJv9;7hB`8M71k#4`#fAZ%chyg*>)zfeojc)%z%GEOWXDwq_v8eI5=CJ z@NvsV`}zgYF8-F#=Au&#*28j5dn>b=E#Sgfq~TB6NxY5Ay?Dzl__| z0~h`&d2i1dw@vCwf=Oh;gNH*CS4cPauxV$2o~fr+`Kw)r-d>!X8^DDWC##)}`Jfrz z-_0{9Bh5AAC5=->=G|F!EKJ$tlsUZiMQX6b>OeX%0UkV48yZfKi;tYESFQy`HVC5% zIQuyvO>>RsB_mpvSBKM9%z8bP-`6(2F^Ce8TDCY%E-8Y|$2OUL#NR`40^XgI=9EU< z|I#hjTP4wE4Siu;EWvDp&YZm9D1@hQcanA?mEL+mYn=<2c(e+Ahl;MO@IqyMvd5$1U?Su$r5cGSPqPlhoTjIiHyL&*ThTpC9Is%Xp8L(TIDFwC$~ zRBfYL*bk{ryuS2~N{Jo`d~ogmF>Ibqdkn#C|9K z6;zARsU+$gH8RS*hP?w0rbNcncrto?V^!)2@$IPbFr5h266c?HNTw`Nueu+~s6dE7 zbRE&8;#?_X&sM566WCfLteAo!;0??*EDdv6nvptJh;70&WqiYd`qONWZ@VYj)FI<) z)uN&`Oq@X>CL;?X!m(6CdDCEBj`yA|K_t4OkomP*NFk0rKp}A`&h(|yD_aRf=WkUQ ztII{nd{`k#L;ioH>3ucmF>pC%uMP}uVy(uuE^ywAUaAV{R#-eL zL<9FOM5k1I*3^B0T-i74CKXvm2GA3TxlIul48>e5dKTg7s5kHP-d2gfC9)cQoGEk3 zz4#8J&q?UmlW^`O@+I@50U}H);FQ&(?KO;+pkwgvA{bVXmSqC7Dob;QBJciaUGt(+3kzIi=z@dAuLdp2R8 zKE9S{NG*ctMaWDG7=Wu=x_hDB0{WO}Nc$IAxLpmdcb+hZDjbRnKzrgB4WhjqSHJNw zWuKf()A6cl;Zw& zNmohdeWMX=>UeR%LmSZ4h2~n`l90D^)|gi|xUnD1y7M?4O%&b=NN8k@?v9y-jTtJiHpU4<|JV87r106r%g`w&b0#3Gxl zw%4&dZ&grp`o_QH+ayuk{hf1jVpO$TFg;@)-u6~G0vX#XX2rCIXQgYI(0r7Ie8;o! z*d#i&3;#=Atvi8vJ;r(=V4Y~_Q6#l*)b;?9D=U)I5lt4R(^qXJFL#6{+UakXiu2%H z+w6q#xu6v!V2kbrCD+^c;^SrS;9&3-$~~7KpdS$Jf7zM6cl0!ZF#-i-KkI}wke}T9 zptAUrAjd8rwLUC-?uto%xwjqXk0nC#vImStq$3tZluWb#W4 zgU~Efm~Y#uffPhLf!BXr?fN@fCKVdOa^ed2%TSmkXHHi_WE_z)(&wW2BC6kTA z!Vgzcn9LDz05Yqg!c`P>{mk2khGZN(2MWS|`jms$Jc>eYM^%WNFbg;~Ojrv@58Mr8j*20K!@vgttKupX0>^Covxg0o_sgdXTqlQDzcb37L<6-(*V_{~QN!tB! z9A@}809Fzl+o+#EE>*qZU(D-8&h@FQ6a0#9GtCFKCy+ zd}Lt!`Ir3Q*EJyw;SkFEP=E=)@I_^;r+D_LVQ;03%DT<-HC<&+Qez7_2HR)Rw#5`g z3q(@jv=lZAL}Gwd3*gi4V2dfK!KykMt|7fpI0tS9*{;n*{V^mH>hn_sr8)_e6okpL z}Y^1Ff~PL&(SFY}!W;p>r?zDz!=ABC0Ug zX2oscZ|VhoKU@9?w(%5vQTzc)x*fndTu#Gm&Ar%rdu`*E(m6ZW z;NFwI(xR2aL`NNd=oQg!gM>QbXwUaAF2KcU{71KnV{rk;6&v2}JFsf~$-6T6*Sud;Fo=spMKICrca{ zGQg`QgXMrM{V;fSbM&V7#hc-Y5b;gb6!<7tJ{@*e#;Xl7kq9^C;BT8+I~-AuOFtrF z7{!T`es=OOxB%y;s1k?o;V^T(!oP<0gR3&`=$j%t^USrHt2f3wRILwak$hkyE!hDR zc_lk%GfIs3!C(qa;?&ONLhBIHO-G!xY@-s-JEZ_JFk-~H{m!Ety-|f>WUgV-7Y=N1 z*?<`Sxuy};mr!uM*&QUfuO#rCxg8vAZ=t|z^BX$2>=}Jca=V{$JUIURK0AvW2yAcZ zKt9+n;XnrSo1p)M^ek>-!MA63o>^1z_u@hlq_Dju1Le#atJ2LL)bVv^c8K77<@Ub- zg3HBNnYgn}(-t>ma9>g21amty>2`9*au&5A*DToHB7vu~9>--qQa_q&%`nXqxVa1Z zdS-TDu%%(1USh%L1MucGUEXM-4uZi6=JnUmGBam)Xs|zE;P7Yl)BBXxu&epRg#+b6 zSYHCb=b5?k`$~Sg5DM<)=^+~!V-C1sgX=EpL;0_D3>G(da9@J!he6=;cfJCJR(f+g zEZEX+zO2Q4DgR;NRb24XEhf0`+`ePh)Z`ro4Az(Q|Fp(veg6rJvG{qd-u!J9b@B1-CBKY>)4vHpu z_SKBIqnOmqTjYP>Gr{4{?I``HoM3*(jrAoSJZF9f3a*91ChgfS89i@01fvKt&Y{(?Rd?2lyddFb0& z6a_C&iNF{>r@D}9lK;#F$osFIHgF-=Cu@z9a#!Xz46H9CaK#d`Qx-qH{*hH5q#&@=sXWS!;f__B+gTCm>~(5?7-v4fIb|MA?V*FvO2VuB^a^?pkhe=St+ z=2av{mY@!d#$}CLHf;O!V&L+-pasMAw!Tlm6Qx&zzA_=&^7R^xd()p7v`a1m0+8%P z(5O2Gv+G^xhsylcFdFzpMP>XXO{OARr+MrIepC6A>9ovnJBPsqSAgl6zvn7W&8=f< z=ZG(4rvi5Cz1^8ZG(coMEchAj)2~HUun;k*XSTt!_5q#E{pMQ#Lhy<7g1ZJs2o%<+ zBh43vFX(8}5;CcIzMp-bC#hT)^&Ie-~*@SC-WQ-TPAr?lC-1pUbU# zTGCnLOAwtJj5_ASF8c3=@y{wh$wX}9e8suA=TNgz*xfhpkF;*aT84G6-vERyLbugk z6nHEBL!b%Bd~{1%d}E&u9fY(^m%(iK$Afgf6)(4?j1$mvn_LluyhRNwFPArb>JDzW zhmWj+XFTnx!=8JG{yb^-t7ZZU_YC@<%lq`bLx9oNV+_h~TC@8?Ab#0>69)f(^tNTl z%_BodQ5s*MjF0S~n!Hx`I#V(K`Xv*4Bkw2ol=M<2{Oa-FeMK%jiT0s&oQ6(-2SPc@L zJV`w7?rqdL9W==Kr%C|CydNfU*je<-6;+8^1wgz1iK_+~H(fI#KmuSzjgnOcJ4r)Y zxnxTeB=e?uO<2FFwS+5jqr@*)FQATngr`Z`D7c^yfN*X^yySCss5jP+<;5R5*pq?M z?xi2|Vk=~&F9V2obFwF{AJC8C9R5orrsxht`wq#`EWRS|uN z9`Mk_oe@C&PY|?z%k!v* zIEX22-iak%QnkgG?#0x;*vWpSSyf^|dNQ>jCbc|CBU8=Y!OS60x@Sr8L=Yv?p%sX( zTHpH6W5!?>-i2S<6f3`BP`X)FOf?!qovu{ov4q1Pefl8y=rE>dX{S|bCVdop+aV;M z00mIr0#bR<@aDjzu(}8Qq?Li9pQV1G@DFma<86`iC+pWe++OEbJ|}#CY=a@t=M!jo zjyZX+aZYM(d0WqO->%0URhB;q`|j0NUYe0BzmGIWWIpGhr~i&ZgM*etJVyF2QxTA; ziU6534P#pWJ`W%{l==sHuawc*OKAv&k|OMkhyuuBx%-vi3%~Tx0)g~F?F%0p@tX)^ z23N1U`4LfYohE;YKQMz_EOHNG1~(^d^tm;oDG5gOy!4az1uSFZ`R?Pgi1Yxq!c% zIvz+ROv+Z-H#BkP*dv(;*KXXMf~Aks`3yDa=!kIjBkl&aucr-JuiS9$8h>I6wk(C# zS|eH=f|u4h2rk1~c%P|5XIe~DZ<3~zgDmGW9R`#+A!eZYBQLNz7c%w(5QA-jo51@W zP-Dn{DF=6*xyVPj6ZMvN!&X*s2?6*!vQWuAqO9bHB7k=NG9(cz#u;;rkqMZ7*KxM`~G|;@ou`+jikqT7$;ub4ZXQQZiuwq$NtuW4SimPf4<^blNo!RSu z^xb~tqCk@PO%d$9_>3J#3YX2hWLm%1MZL-E%!ZTJL6&JGgi15)`??f!9?pxdfOL@} zZIBJ}(3S63-M`cxC(rB*_wQ#!gz}6Kc zxYNUoW|uvlKo=b+%tyIfP6;fYsPL?-$%*%vq`<~*j399DzM6?20v3o34r0!<`P+6}lTgaEq%XR`WgW^XI< zr}PqLt0jAQTD0{-_p!I?4GyD0zd%*Gqy@qJ0v#Z07Fbti4lIX&z`bgzFy#}h)hfWO zhOXsbo`g!lNk$C9LL{WA!I(7G__3J6!1<8rzOSIdc@(Xa8eecrv|_!++}aM*AD_}I zdaH}wyr~vt?f-fy#sj)vct1g#UJU-covPUZF>8aAHzvNKp~_kz1fcE;DNE!Mbt>r0 z-i{W3t?Jvq;WgUmfJ&+lMsr5#tKWOgRXaRJ&P6jlf0_;uFH)<9=syF+> zI-7){R~5lq<}I26%H|!@M{bCn5oOIYoQHId_m#QrjQB`uLr4i85?#Ttaw{et%yL49 z=+nLC{63)3rl5BU>51|a7X%?BWC>=uaVXXlVvkK&C%v!;?^HKU>X{Y2@;WR8c%u57 z?=H*i)PUd>^LsZniz;~?J5(tm{w zuYA8cX->r|V|cXOvN)7L6En)FfoF}MNj4zEa-}b{bDMuNWs~bv)pri^U1)qE;WF@B>cO7Tkm&g^UV%U5~Ow23&kE`ivb>m`wc^g41?hs-of)*EB zx&zDz)70c7a3}Z4?1`re#T-wurjsSGhbj(W{_z?>iG(c~ixuGMe^Q(A?Mbbcgf5PZ za4m_Ng|@|yV-jjr2}_^W=9fp)T%!EGWKC0GGCdrg)gs+k!nbr1@js@hTfeKt3qK)p zdRXng-@z2PF${PJlb>H`&LLsvc9-c*mjs+hMl(==N0jCrc3MzVo^bgkgL<-|Y@B?% zEUIqlah#7mTLtkPzg|8JbEJ|nUc04CllFSO$NpRH1%T4@qxDQ*y~s55)m5@~wmocz zt7#nLbQ7;^b|o*CB0vH6ua0~2W!+yk@{lit3n{1ig*T@)p@@WPc0&m*tfGSaxd22v z+^OTW$`yBMn-Xzj#WhS6VCj{tsuSX-|wcgF;&#=EEZT!gslvT%-%Y7W!p!x zg2-bK4<_WuUvx$4LrTlqesB}NVw(V$O^w1QFW%uml4t;qGn@sBA`AH*3Oo>Lo)Vo< z*ZA8*DLc(!0Tkco$z_4?n84LQhZ>VN+$tECBrO|T^eYSnjm@6;Ok)#kss`ba+mYI{ zBe!%#7rd`?hMupp3Ues>wn!&^Qkii>0q!wJb*CXIUsKAr(~_L>j8#7}8ASm4Wc?8F z6pZiXFky_z;k{L5|MeTH`?2V4REvS_$Zs#b)(UYSFzk0f5yVDA+bc(+!juLy+E4$A z*70Okqj_U22KHy)>ypnL-?au%{Tst^Vs)Sl6mCl>*a(uo0(3DMzLsZJG%0pmiv$#s zA@s`<;$wu!TAv`CX4zC%?lI_<1J*O z>($i02yN%&r`duydHdV%{CCcwkk`D-V~Ob2@Z41rP|3yW0ynPIr6h1 z(bc%@VH+jC31Jp4B&mR`*6)tbV|l=Qx%)Q+e?1E^ae`|#3N`OBxxiy z#(S4c5WhTVqpR)3b7p`SU&XL?(LGaIoP;j=2PjEn+A!m021p}vGL$9Q31>Oh5ltM_ z@7h&<-AF^G6OF|e+#TlYfv=#6BsZH-g!sE}X>dQFhc54Gr(bxf4T|`R;|7pT`u5BN z1kVw{-VA47?{)FlUj9RNISC>gyy9V40kzdoI9RsKNGTMD0k43hb6$E$RLNMlp+}{X zA(l`#jh^9nR2lLEfklW5eXM?YbR3O*SvjjQB+mvwe# zpk0$w+^opAAdn@ZtPSh!T_L+@NqScO0(zs% zqNozTnnSS1&SHSbb0kc)A8-RxIk;b=g4_9e3DOlldYtbB)JO%QnT@6F@D?%M#Sgb6 z4^JqsN`IqepCM+}J8f`Te(5#Ms-?I)mWCd4zAuNO3K7r|7}8uCLxqc<2qZ@3pI=}1 z#5wj(5#ql&`V{W zc{OWeu%QKN2od*M!Sv&NOXp)M=P0&e_Pf==p;G}nwNgU+#}}3moV`Z+-+PZR_2V|& z2!=x1B#x2$h4K--5lcL^0Te{s3tICZ)w}qz+Mvj-#0idBG8zFB519;b1-~0ctul1o zG_F#Bj4mk}4{`3HmrkK@t$j+`H%czJyMH?bm>@4sF#bdwmx2q57bni>yPaIxVB^G07&!!pRDK{iEcsubKfuts& zAT+5;h?VzQ)gkMY^t3UrIj4ciJY;V~VO0R26JES;7twB&95T%Gbs`Vj2=f~%qws<; z7@b#kgnST6Yt&U}{spH&?3qz)-!pC(s)sHRTcry%>NKNDe}L+E3<^q;5@to~4AN^|DqnRroj>g9T=Y0bZC;$zh%*TEErWvJmIe$dk&5%uU#e z;CW2;uPP?fn&L02JgYa3jG*w*e2)nLO3gZmWKxlX1cY^$u6ln%LeKkLZ%itHz8UU5 zATf}FDX0l{HUQ?&!}a5m>GlOP#g{m`xl@5g{967l@aw6{X0perO2^jSEKMX&YDo7L zx-c!xOOm{HK%fp)#++n~o>A6fJIQEZso{lLj+2e*DV&`e<%3Nzc$Jl_M(h*-`%&w> zYPR|JCR^=Q;n(Lk|ABV8;(buw+Vi5F$2+kK}F2dJrNO zAiUmQF=c1n;6wXR^ebk0><~+WDb3GY6ak&O?||T<&9iWFM>I~hwurZO4kDkW3Y!j?w9zJ`!_Ut;Jn}wnAF`T5h}auzwfpqSo;rL&TiGK zQMnjqJIQ9ly%+!X0tBEhi=fGXmiDu7z?ujD60`}%?4GN9u730Q(&agfW{Vas=SYT3 zbLzq5QP0JYKz zSK{{FUhlHX@3Wgc-t@}TF?ocdzX^MW{`^g$x?xlP@W<{~x@}sNNS-f$y#;BhfaqgZ z0lWcNn3AU!nKubK04n<~>Jco;t~ioy9_>D{HC{$7XIBg7FS>;c2+^)y z+6|w926kEWtjevkvKL)^Z)|_GnBZq%eXa?l+)R2LDL{0vUWi;GTOP&Q1CrKA$WB?0 zW9TYCL|_ql@3}D@N%mJdy>*!cEt&mV^&H?lCi%93V#CZBZ)c@WpHM|k075Fkd=B`s zihZFkL=t969BRO|&)If=W9of@OZKC!k1ZNBlnD!v1W}Tsq%ghvLna|5sodd1@xOqHOH&yF)8^A z3(l#whh#x91X13blTz~#@`4CK7`+g?fYAXyQC z^GNv8@k9Gx!odh5CI!}lf+ASJ+~LAv&51|p-? zo7q*!Po zd1;OuDF}iAZ0909+I_4e4Y=vkZ2V-)Ou3qS+sp0Z2V7~fBtbG9-Ymch0_ezVS;clk@CDXY8g9SXk%;Ef9lndayy;RpxNdM7O1z_ z))*0718fmSTV=QKU&`J*y-={04|&$c`yyLM-!-_LabV)XtM{q=j`Ou=UbO2Wqmu5fWKZJ3w zV0eIKd_qqx$i&eTy>DWcw2Nu>Y;Aw1S!*=W1CmRv8!YRR(df3xdp?{QyukpUr+a6j z8+H4DldVvU^LnP(=#!j$0%^yhfMRBP&v(%$E0s%Mi~=rP@Q*yU>3Ah^QdUV~daD=? z5oRjctRbe=BDBsy9NT{$lRc7huCL=bnBbvzm7NTSE^CTat=;GCop1Z1A7z^X?)6iu z04vq>a=OL0k9d?ZvHv2N`v~ z{~01(P4Ej*Ys(iS>>0>=!^(;y_4Q6i{EZOfZ{ zLNy!g#lMKu43-AY(w~&r0oPXo#oqdJeC$$3!CWi297@L~TIz@7i3r)tBTeA2=eJzd z!Mfv*sf2msCntw)PRjp5V?b7ZWq3egaUdDFrtE7F-r96mPxqS^6?{YgHRMI6*opnO--xs}Gl$v* zYvsS`Dy7n8SS!-O>s=gkygCOqXMoaI?-V;0TcX6DP3F`}3q*t!1`9!uCzQ{MJs^`1 zFe{0BI|RUlXgw#I@k4FR6IsKd9YOOF?|QRUd$`CGK6bO+qTVAVrCC?0C_#Ef1&RJ{@;tAWz8X8?T%+4@Xm zyshOuclqDxYI8yM2_h}d%mC|sWWL4XEY(w8cC911)QpO)%@ayN zd|Q;Po~=_1vdnC}U?y#P0Z<>w0Im}Z=IhJbPUEj{1%eRa1Q%@cq{{RNB_jm&$uw$y zE6adi2^(l!Chf$ND$Dg=d;q@>cs~tR%ha#7sb5~KANHt!H|p@>uVlzbI}sET9J}IG zE5qA?xDW%r{9Gla(~I(_HOTrioQmV&7Y|qTxtl)gMLP{@O{s|Zwtdo!%JA?waxDY% zt{VKqSYeCE!|^l&d|b-b7Ubzb)3=ny*nNVgt&YC~T=ub}H<4a~bN~_56B+)9PvzIOq9PBZsS)}ZDHQ(UWK!7Iqo9zc#YXkFJ37-;2gaY2?5au_muu}Te}LEmI}|8 z4bHC`?UC{Hi?%nPCgxB`&B@$JdznW36Tu8Z>>oW6Xrp`NgmSPc80}e`t@MLsHoC4{ zHFYA}3D`U_0CAEP414aFlbT!*oT&cBlJSDETN5G%AJiE=zI^vyA^{Mv(urg+{fFo% z8hHIRHwHxgH$b!oX|G_GX&#UiW;f+f@Z46sQE0LpHuFuqAyf{@$8H)ioR*vZcY;8F zTe}=(KGzk5C{eQ<&KO^H)dV{ag9EG;S40pSxK3C{NIVV)5;(H#S<(0>p<)?s7XD~^W~z>57$heC3_zH!U)o7o(V*O^Ekp0EIAX9> z_Z@GGLBWQb3kswuuVixe?Uvy~WDK#;^h?~|W2~IQ4O;eWhNP!x`&x_Uu@dVLxA&U@ zZ)Ew{;=6vf%pC|Y1~)9W!cmY+1}^%R(U5K!9-mfb5M9ld8y+8G>`JEeS#IF<7`zY3 zw^|E$H2@3f0~!0kPT{{Y;g@V>T{H+!lt)MW=5G5BIKfc}!O3@^kwj&ewKKM}NjNB` zhvrSCg-ax{6|=mp0WNGfH_6Dzqp{x$pI~N`__6xRdjo6}l9S-AdmzEOP|^CdprJC2 z9=*rtD$PxIOO8nYI=6dM$@ZnmfauX9e4xrg>HtSw45D-}!%Pyj7r!ED7wxrYC68D6 zV!UK{^d`)WcOGi(Mm%|;SNshNrsVVyRn#Dcbpj{fnnCS&0bPBR{ku_8*l zJ;nJgIE^;Hv$p1RQ7AXkfXv$!j@6OewOCVk4cm{o#~xveFE@=JiZ79$-y0>pyCsMs zg9~smm)tLo^^Dd6wUY!vp?Pfo14%gRU)+uthaYrRmSC962P`D>euBH7`%!3z!k_V| z=cn;KbWrmZbPW?6UIt@>5#!VWReX{REY zch6!y{)SOFB^#jC-ObwpR2iNd@I^#2>wANwPuV%f* z=`1D{WfPQlM8(LV9L-Y8)Hmk-1m|f89?Q{(DUp|Q4&l)~Pqoo`pJsWGRS<&HWK7@S z#=PjqnGDYc<9{3d!;JA=XQ9uEKrR&jucn2?FfbMhMg+_K_Z9E<%!~z1el7raeol$w zEfS@`8#kC$xVj~kNjKOq-kW(DO2BRh3LkB}FsBYI{hleQ5{ax)14F9cd9^R>J*ZFl z1Qlahss|YsU$coPfL%wFi)3aLZ+c2nrqOLTg>a84vxH$fEWaMH1#2GiOe80lPC3UD zvZp0&;0EQ;+nR?5r>l4ZF9L8y+T|SA8kN734wfg;Ake&h?Z;eX8h_NATd0x@nnm4f z7eC%2oer-aPYx1D1(`=Y&?9#A?)P_28xTnaOx`~#w(wQ}sbOXq@`5K0gfduOq)OLrtm z@?br8BK7ZZstLE6%UXbGq$ICZ5>*pF`Y$^623b@?Euw(jAI9utx^PE}NTO@_ZM##~ z8gYVM(yvbf!FGQ%$MstZ|Fxr({6| z>S7ZFzS%Q8vU)(4m=HE?@o?lVvFNfft{L_!;%mA?ybw_`suao6Gw&__->LrxVnCh0 zfM*F!p{Fp+rNx_Z&FDrn`UvO|6y1}QqxNoyhDY>q@qtg+)kU3ppPVuIImr661N-D1 z*ge8Io{7FsLX-%O?cj}^#edz!IIp_&wacsSj6{`F z;McjF#n?q%MDfuqf8V2kY)U$)8zj7K-Oo8dLyc|7Keby?)ao^Kw}*lU+=!GpD~kpTzr!v7A?#l|7s!7vb+n^xxV zM;oiEk#35w&C_bJhVNwX%D6)7L>LCu312&qh`FrUW|yQ$e+@aSJ{INQ*3f9BF7_37 z&U_-&QEXT>=!IB-C^bq291ASJK7Dg~dWx!uy4^pOE43?`FskA-#7;}|M{C*hI^@Wx zL%1}JMc9gEfxb9>8x_Uw56y0`jQ@b@j{?kH_AiT?+aEfJnlt#uOVslIW^9K@QePdk zA>lQC@qnKOf1g1?^i1inSyfAQyMpsC?CejT$ecXD#~#SI`I7vP(5z3{$ciF{$J;S@6*UjD`5R~_^`cc;7W z?VaMhYpzz{5RbIv`D=lP5Y-~G?u*l_NAVX2!l)Hse;n9TECVB_&?uWdhMR~4SVts% z$rC0DihHE>lXx1wk=|EpSXEUyTS&Z>FqJt}j|IW6k)W$bpn?xD^%9jkY#oBG8=#TS z;s`F1y5Wq=N*=LO7I1~@ng?*EUKmj1cj$H1i7VAx!-jJ^7esFk*-yp`!PuRGOJJ@ZA4hDSg|V8-5MZo)L7mDiaq^^Z4m6< zY9A^kGzg(;0hs7hSwq#mFYAVvqTTMH@w;u5>$~^Kw_kt%{oAjlNLD`D!!iAkkozf2 zu(8HN{|d7R08s6hVw|D`$q@$VwxW{bEerUTf9za?3y)Xit5F98c+QCKPV2?A#0GJm zxnGugjSEh^R14!h*Z9YESeF5IedTc{ zaiq8QBhPW)(Oi1BRIXPzk^R|tE(S`EYiG4rr(gs@B`d9;v85T|H4U7|?&B?OFIx5G ze+0sf+?irHcTS9Bxr;UKIPY;gN$RFid-lxhHWpE8fRm!iJzxJ(fP}21@msdapy_DR zg$>)j-evi6SHRBph|liulWKHv`$v$L#RQUEcM9th?o4YTnNlf&>(c)$49qJi(z}Ec ziyQ8cV4L<+t{rweebF$+Iss|u6Fm>5e|cw=s49K4lrED+y4|JOD(Cfm(mLhIoC(uk z1#~vwS9nkBT_{~FFICSA)eeB4C*lK3$t5(H}dGH%9xa-l#5S6=R^q(sO0 zWKl9PXn1y)vVoZy4Ng^^K!KoF(UF^!3!^%$dJq?EBTPOKfei4CVRpN;tR8E#3@DV+ zOj8xO1p@0!Y5y>^{gcP}*{dyWe-v3DuSYEL8oCN{M0Xfg{nz$2)fCmf#V&ECviGJ# zYlMzs6CcttOLOH=%l-k{%C-O&VYFn1`AN6_3xR}JQZY8wkC5Hfo9ku!Uhon;xmdcw zS$sgzpMoLtHEYBxS=aF%)~Z7s;+8D5^F$by!&4z45YwTLKeeY0z3sZQf6baEdk*t6 z*IpYDFgr7cfxXxGw~2yv_kcWC&6a zk@=$zOA7I(dVCz3%dtD|f0ke>ti#*F2_N}Ub<%@3<)nUr(X{m9v@$Y?`@+Zo?knwnHr^eHJ<|oRi9Vs}B_Kg*gaZh(X>>w*wsCip9^ z2kq2+hkTn*f5DE*vxKXBWsmEC^{8ak1TbptswU_uR;y~{ zLK2rzL#{K%N>_C-YgAR3#Bkj*M%7d7do$4h)F*R2i3xsE`dw7EsJeZJdk3%YDEAE> z)QR0Q_$gdJy|YXgwZ@}L6P@&>pEKxM;}w~cv9SOKpb4)He_BhMsB9L{)F6*6u_oMhnwmr%=SYQ}1BJ8o&|45o^#>4oGy}$v!>7 zW$dK6?Q464Gq+2DX&Slqvr{$fcZ90W!%tEL=$Hqp8e)p)sxy~h_h|q3e;a1`qGZCL0t6cNgSld92fWfs zO7=8vnDNro@v91fY@yfWO)^h8JTGu+wnqXMvAfP;$H2{g7}vWRbeE;;AI|RnR0q` zv`sm^e@C-UIdETueM(JYT%}79nMm)QuUN9qIHp3TX)f$O=36zQEE=lOKy^ri>t}&b zy;^l3)vlK+r1}olh!mV7Dn@FADeFfdY=6=!(R=kDp3r;;<6yPLYy(3pmkHtiMg@3b zb6D>G&y6Qc^oTl`p7O9;P=ln)Kk!{A^$Xhff7ZC5?-7(NfI3CJ%Eo_$L-RSv0EWFx z^CHg{=|=LKS2Ar8bg-y9&6ncsmmHtH4p=WEJ%k(UHt=NrkGyN!jh+U=uM%-XE0uB( z+)$|!lvBk~bPL>}bmML#c9SK}wv?x5Ja%lyhmGSn3n>ypf7kZR*zt@%&x~!aqY_Am zf34C|2B%_;S&N~1?D7ju)33Ndbh(Qx`>0<~#^)=TfWY{V+b@!=xiTG3`1LyS`bw!D zw9~HCtq3Woc=EJktT*x}$g3VGEePsp^m?R7g(!hr1bu}Fsv4jq0h~gW#ziXm(&S>Y z;FZeNodgS4@3y!79*?X%x)rOf!&Ikhe=P0$PkGr~v%`mZunJ9CR~Vys%>lZBiW9iF z4D*?&Hc6Kr7mqi!65(4+ExQ+;-WKz&N`hC0%ucaJ_4*dJUiF%!Tf2H>BiFGWjqo+C z*KFGQ)+3c}t?Q9J#k$vH__o%-Uf1Sd4|^&-X?4^kk6kHyo&VQX&7Ks&D`>CPf27s4 zM=9CL+M{}cRkp|PEv&d-lZrIuI?2|rm*#0LxEszXqY%X`*JS!io88Ep5EvbrHSafmSz)U;Lj#+m1QnD8X1h?r6pKpsPIjVli@s1db z=tavAW9-&)P%fM&5e-M_=nr91jMv#g!s&H*nB{VG+TEAl`VyUYsh=irf9tT|>d<9W zD@*=AnykUXgyecc_ot*t^#0ER2i=r6z&~i}pGvsqc<@EVR zG%5)oL`a;-K~+sNGj=#aROZt#Qj<+d5R>H?k1>{U9!wo>P{J{Gz(*Q}+-@SLcUZaQ z7Gp!ekiK(9v`!f2-?wj&DJCQIozPtb-?l@?VfNF04T$ulFq!&TCB)f_a^6 zG@{pNjKT9-v#DraBb5@%Yh+J@+9(1w=Scj8>5W|3inX!-EiwR5gxcAt^QuK%-bM5{P2k1Q-=&hL&zQAc}Uoq{2$P^_q_iB4IJ-HbS~$JnW!enEsnVo5MO#M)8F5L+e& zg-G-5;6d!pe~eHN=||x{Y&jD0VVl#VJ!Cr!^srhS#>1x5;T@8h6WJkyw*l%_=;uv@ z>P#rdiTAM_{|zqu_`NJr!#GY`PZ$X3aWsVEgvKTX@KyovjaQ7sZ@h5=0LKZ>)D2E=h%p(u{m?gO}0qJX@l;8V|If7-e7hu&A?Lhh^hQ2T0*5c}$l zh1Pk0W`uB@K@^5t#RScHqtl}}&UYBb@p^GMj<=l-%O)%{bKBwVsY!J4$mR*N(?xu`5#z`a~Kwe;-od)x3k4e~?!R6d&^SA6Wq$vd2bT zZ7dn{-ygR1!$n3}-B&EniyeDF9Y%qAA?3HgLXMc-ovFYP$PZ#d7eD+?c5xu~)0;%# zJ-vBSjHeS`Ag(jJkaTg#v!Yz%AMEK16jG=_2G7v24rO~V?{wg5e#81(GS6@EEpFb~ ze;j7n^%mo;x!yXZ1=r~=(rW(V7gg?LT3DakXzHeB3Hs2mp<)9w!y6~v1R)|BcZh$;2{zA1O0R~_f$ z>9aSyl6ulfDJ=R=+;4-rWrTh(q5Lilf2^fDGTa|$vIj%&lwFEEhTRuFv4lpt>jXM1 ztacHe3X4Wk7llRrKkb_!)nS)u!u|l;;MMD%7&_~yaodvJZEbD4Yyzow_q)+V3|iQ7o*iTjlVt-q|rW=Gy~HJ=C-Vm5z@&@ z%48^^9TOl&_Y;^$$-BqRIm(JN`?JseoB9PP{z0~{TmbkFA1KV4ddprbd@tMP&4x7M z5hReMD6(DMknDw&o2ORN;_vzWe~LdU7S`v8@;a#wxJp#lj8Y+u^GQ9ocw)j?KU+3< zkiwwZHJVMgvAqqAphs!wahQbiJF%0)PaGm5&Om>;sjflY4w==T`r9W^U=QUbX|fCMrF8~N zCzoT*rP*5E44psc<(B>E+4#GMTkS0Zb{11S0!Slf-=H?~?kZt^U#r=8hp$BnW$JFD~Y4nz7(g1!irS_X=Q)8J?oe^dQJI~y{=KJ}7F zlS1GjzQ7CuzqOb#i=d|;LKmVE3OwIIsK=5 z8N_EbI+XP*be=b5~YfO63!(W*1VDZe(Ft4x8RP+nQ#Ma`aXVDcXVjy`-nE#dR z_U$X*d}@M7myhrORW%ZlK{-Y0JPZUw-h<20W31s;uN(`x`smi<>{?lhTn+WX99bOZ zZ@OTE545`l6~Dl{@HvzT1l}D-jM{ zOk8@&X|~Nl{KFpp?!C(ntO;wIeFx?DSnNg33X1j~gKuk{II`vOCrjCMCZE50+1yH7 z@ghP#sw?Zf;?^PutMQ5!=|J(cC?7ZY2<&fc^be_0dwz%_hHX>X*#6g*LGuy*!v;LK9AJ#!*z*PxB`*#~x+`U+-4)oHT? zrL_#vp!BFXobQm%~`a9lx2=1-fE$jY-If2K-x>-{FU4!YP}Vz?Lk;4C<; zO;jG7);@72oJM(>xo~%EdH6nW{va%Bg4Q~Enb%L+<(q9;@u((WgB%O)7lf{x65IIK zu#&Q!J&%#rj~%frr&-x@s1F_ilH*E`i>=K^(D(sJc=_mla=zmfRF)!_| zJ~V4rI+`l@j3w`1I0`<8g8*Mvg{z1?YkadUN!9vFxmUzh`cvMtmAi;*hN}b&NLUV> zY@$-%@TbU(H`Nxu3;vlZzb%;dsBAViJu$N|e}!#DVj1l`CTnH6E?I^y{)_K2$X_LG zDYKP(_`VWrpk2FS_OqnuMQNM7qK`0NG4+@yxRm%-_L@+a{S)RAVUTyDgcq;_#X^|y zeN9VNDB~B%=o0cuTEZPKAAmrJjvmW~wz7e-8#;(P!-X;YN!0TDneII)%gA4>Bx0z_ zf2x!x@DWVyydZ1ky|KzRXTG)>R8UTXzm@!AB8E&V1Ec7q(6T6 zmzoTiIk7H@@1#UGct4YTd&4Wg{)A+&qPW9=!QJjG4NBvkM zVfKAp5ts;|Q%^Y+6fYQ!`@1i)J*g^ae|$b5`7g-ME4GyEC|mWBu8Iju9e-zlk zSIgC<7TjyG7W+8LOc^vplxM;S7o0RP!X~T1wKmmib^=3O7zZy8QPk|OgCs0pz2q@5 zK6o@iv;U#a*!2hdwlV7PF*RDE)b1aLz58a@P!sz_fsw|pdPG>UYnn8M*b!Z5z)*_M zVSnO?p_P$c3)M$$M76uj?kVX$f3|h*t>ll!#M(Eej@@4!25$3>l?<+X`?51~xw*_9 z4w&+dMT+|5; zY?N_@-=Y4FU)cX1j3b^IWM{uOJ5s3`CnKS{AmA*4En*S#g2sLIXXy@Nf1+5z0GAXv z0u|-Q9Bm`{e4QH5JZ>x1Hw#Z`8fg#v-9Qz0)(DJu8m%G%o(6@a5l@5m0z;nA3l?jf zY$iKG#G!k=Z36F z`AiDFJ6_#5g5vCdj*mPIe_=8TXCH)2MWA8M#2}c*DvkzttWiQ}$H*-b)U8;O{|xzG zR{j+wIqaZtg)b|0zJTu~&$c9gCJ5ieQ3IKMbsm}&HH?n{Vr&a>J%WCNf{F!Ia{R#a z*=2U%{<+*#EbRex3*k|BE6#?sU89%$D#N3P2HKeDwWqOBo0{@Vf72g>nSSQSVsr%f7sv|zlkw0epTJD@=s9; zm#(_S#2IJ&Xz8b`^_W|K%LdSKtr}s$m#+5s*h|+kW$2}&xy;B5OV{si&<0n13JheNFU~229WE&_ zAgP^ps4KAOf8xAUy(bOE2;_k%_<;ouND+1@+0m7$KuA;@bfP=iib?6J5C)8lM&sd; zK_DeaGDt5FD%qV#Yoa+___S?aZZQo>&3l;iv>z7(6ywUI*ZXTod!4Z#*uRcXn`tJ! z{o*zOK-FpZSRft39Y_Cd9k+t^Sny3fARe{jXv~Y^0s%3wMTvqGmj;K z8(&d7V&5xTCf)W5noHdED(Tb0>|14^wS2S(U}HgS;LVLP{KN1rD(NP|YoHL|Uo?1G zlQRroi^}8SwP=_UT?>-S1=nc;V2%isN-ffF=a%=;sf_wHI|m3hv~xeQh!ANo{~rI1 z=2yQ=f1&6OA3~w9-aOV;J{lS0DnW|3q_32@W$=t3$>9?)neYI$aV3{KOaAup2C8oe zeik-xGO;Q?6e!ZIaP`5!S7^}h-(AyE1lZie85W2evmP?iuJv%tOBnYw_7RMGn*RNZ zd%EPOFYf6KuU-IAb#_CV2vltzR`#YIvX+hmf5~pscB@@)LONq6&5Tex_1+1PHvcI%x1vaBSW}?lutB1Q1CB>?6I$&Ly#&7M^p78J6dQ zi4aJpa5wcce4v6Eov#HKv`3F+Rmi+@f83oLz%0b%iBIQz+rZdl>c_2QuA?yYarS5m ze}ZwHQ_+pm2a_$3g?UCiUUE+(-z~YP$)7B_rwe|qggXtMVOG}7>vZ6=s66U_7c$6E zpNboT@{I>|(hx`JlwBN-4`h=#kRY342PCa$x#fggtvaPF)+LNGG z*vK5uDT=eb*O`>@D(qs@lPI6N!{#~De^+oEY*{bP==oshdj`jSko0PZKfs^7tdK{! z6Ng;eE{=>2X~$7muhBEO1CWFHx4|Ggh~_V(SAHFy1|}q#;1dysn66@XF9z>Sx4Y%F zb-_?Xwur(bvUOrmBIzy=nKXIT-T=9L4YI82dz$8y*$;K~o`B+oas3N!U^u{pi1#D|CUsn_UYWVJ5p@>Rv0*ZI>hTL1Ep`-O9N}#?N=!DmgO1asnfbL zubOjnXS^1B#O>dLX4bSza9B*A4vs?gwNe8+e`mPDx~hbo85^WLZ2Bw`DNl`A#Fu$& z%+ZacfX`0)0~@gEo~|#cvQbCue@uu5O~DS5Sj=o!tFgOAzzXkZHFA}AP)N4YJ7_O- zwI_wPe~5pTPn+IwFO`0oQN3e6M#l<=E=Xi6vQ|reP%baPN2sHIwK1~w;WPH=39dfF z+YNz0aC5~yn=gc&1$xOF;HYk~l?U5p_N=^o!XFp;{7@BJa#L3=h#GV(f69M_^geIk zH)B6|0Yk_%rG(|!xYg(aTZ+>jcxYSntSGwsGV<&J1HK#oaC>4*%0#_h)i+6&c0+7j$4VFZBD8Fa32ZR zzf0%+Ur6yPJo7&h+u>(ufUNWN8L1)G1a;^8>kG#)*OP83#?B&Zf2O+U(NCfd`^C?# zhOZ-bYJD#g^pmn1f#s8~Ij;YQoqUDTbC&7nj>J7B#*`AswB|(B$X)iJgsA3~x%23- zSf5gWbxo17Hs{n0f9fSa98tcJE-PNcac3(`gSKO1JlN@B(@pnH2?`;dgrk`AkRkHM zd)SWd%+)75Q1Nnvf4+{^4f~Y!vjXaxlqJP*rsw;y&vq-qt;S{aE*KW~8n1#vMu~w< z>{7M3kGyh4Esvvb-E(crm6T-B z)6xv<+7o7Q4`xgt+$=bY26tV(>S5cCPhCwDyq#w0+E-b49|n>`SFy!{VdUr)>q%e?maNFek0= z%EViID3p)(@tC1tAk61~#Rc3~mFYgW@IqQUbjr;B5 z+{S$xsr|-%f9lJ19QXT?*mG=LkSffod?>-vbJqgOl^zQ?UwSn-S*AFWO>Pl-fb9Kh z5bRIxH;Zy8_emu7DEEmk)}@TyNEbZ*Ux1xO;g7cnI#R@(qw&V9fx2s|U_t1&FNUs(vccg7y0@0_vs z0q&a-?p*Jh+dYkO!~EgYfIIX_crO`$vn~};>%dK}S)oo~^A6Cg#{(CVN>!Rse({0$cD3)s;b#Ix=(dA>rL6zvc{JvxX>5nh9ws-e!~z#u||0T z-)dY5xn~@Hs!N2GWIHCS*%qr^x?Dl3C>L1+mr>7VB$Z0x6IAt18vpQJp zqcKXJjz`0fVEAdXPn-~~kPtt&Qet?Gl!(&Arxne;D(2)|CR0o@F_6q=YC| zf1lvAC|3W7$x$rGvrLg<%^_~0lsh-UCT3EZVuSJhMi?c%iq$1F$%@rIUaA!f@C*~K z{GJ!@{>-tGXDKSXk{jn_26^%NA9yk(a#ns=;7 zj(&an=7~yGfF`CMS9(tLTWo(Y7iV0?wc+WY7$G#Ye}!_` zqEUp^2?fw(K}|q0Q<054_=1TUooA0Cdq8BvXGd1c#RCBoS6V-F5bb;+-iQVQ^)noa zE3^7H`@YG|&fq?P-0UC7bOG8sFJx*$L$UzvbeBidhQyZTz3Hp}MnE7NJ$RKYX^dr`{Xx$S(K|po?Bzrb;0>@2RXt1c z`KTap+*CQx{&(A3=-&soe@hNF`l(YkPUUS(f1I}LxM3|V-Tf6xAY@msQC^>vwv zO!e5~tjI3FEKcFFm7Ve1VtMrOtCtsVK0Z!9zOL&nKY8{{oWob?WxCCuF3Zg`@#$kX zQzfFZZbCK5MzTv|9>>ji2Zf|Ne#zSUYnYuWdW<(TMejpcngZ^;O-(U_h_ZNp2sHoj3I9SvM5HVcT20hP!(WZdHC9mp03)A zgSu?{7SJYzfj6ny1~l#34V-C!_$%Sb(8Xy;6cCMsv__-eIH~#AKdTWq%oaEzBo$Iq zivfe@P9e$@8mQ?^NkK9v_FUz~Tktj<)c1e31E{b{BFEvaO4XaBuAzPfY8jK6Yju&$ zuBRdApvm>Se-NG{T%`{`jG%*`*6`ZoZ+Aii`>UISBSNe< zt6;w_MLJlcto$oDUpD+Sv43Ln==Tgxf=f7C!XN;9imsMj6D`iF{OUFVDr;AfHx3Y< z9Q{}T>}{2Emb@(1x2~T(aY1P04tx zt+{R!u15CH9|e)oD*Td!0-qrA6_i6=mo)I_e`nIpq-N=(gnyLqmV|d4C`c#$4tHCO zVq35Lgm3c@oMNP8sR(WT;t)TF%0cKdMF2wg!$>{=JadsJ+@y~Z?@{7;Bpxnbjxn|R z8jq(%e+GZ_sEqPMpUlMWM3E_)dL*X!G!KC(m!j{&k0?g5sZWaH*DxU}dW@H$qW2+0 zsDL|v3Hm5MALVBw5M~h)VG{2Qq$w>^J=eay7i7D zl>Po8T^n_koC4S?ZNsL_TCcR`6@0?eK=4XJf2gbC2d`?wrCg!tyB@dZtP#;xXY3s! z&daTYVh_h*t^Qni?M1|SFh z)8vozpM101B!4|mF4a(lcLXsXeR2HxSKl6g_1%}p-+cA$lc$ga`4$ExTrZrNBY?$L z_vV;%x{Zp>a=yf3*G{@NcYdHL7JEXe#O4@=Mau1IlF$A-HC`6{j_ek572zvYe+LLQ zcNUyv=`8qYBWJ;**f$G)VAE#7AB0tN!-U*6sz3>BQL9J#v+6fk;IGv5)n2E3PaWu= z^Bee|8X`Tr$bb$Lq_2F4Hv<7H*m0fTkt71 z--5?7_ZIx{mfnItBqMLZ4`$yj_#K#b3r@7^7JPz1x8RX%xdlJC8MolGx8U$?@a-RI zy}aI}?^q=REq`ZM|G#`QqU zLvZ#Z&&1*JA`cK6+VUoBe^n@)c0vI(S>6y(+(UW8fM1g)Y`Z8JCT|z{&Y2}9dfP0D zhC7b;H*EeaRs#(ou({5c`8Ew|%QACPw)E6%-3#VNSOVOH-mkbqu*%0t&mMi>hprb4 zZdmV^p*-9+XmqrRE*9|Yjd)?KyHb2#YU$nf=D=40W8ok z(rkrcr&-Ro&{b$7XWMO(!yJ;M{N+VbiaZ!jG!69H^KJ=Lr45(5#1I^Rt%dUQseE#k zH7cW+d16jI*{*l1yx^`M1Uq20eQ$*lF{!J3ZBAG#p&ON~=?Kta<&Ls~fuLgs*5Qeb z5TSKZft;vW(Pm<50j8kJ0j^ps0)G;o;HlgdSv&4_&_Os5hV?!wuh;CE&K_mLdz$nv zf&&&|Xs}*N9hE2wsmzIgGSd5OwZ{#iCYut=Vf~1caRn@4a>(!A&$c+FEEh$BoOruW z7oHx#bCQ{_S;pArdAZw`MP%F7DxcrR#~`lJmGWPzfA!T?eBKSc;n(GEovFwh*1B$W zF{SqDLYif5hG`TXAs*zPS-~ol#&T-#zf8VSz_sm}DK?vVb*&G7Vz!&qI@wS+=q<>_ zEzyTnej*w9eX~P`?|vc}@@Dfu)7|VE%~&^q-e>ciBqSr6U06>(Sz*0@Oa1^yfmT>a zY~_^_Ccqhn5OuS_n%6I<$E*)x{yWWt=E zwIoNcEx$K8Wa4{&^lzho+voUb6D6kn9RNkeLsiz-8V=SaEUWxq`D2aiN_2)xe7z8o zEvy;KFk_;8Op+!d|Ar77?Jg!|C44zmEk^I+lzXgEdZ^&;o!}Dfun6%D6uHCGh~oLC zKqtx=3rIYVcQ5#R?d=YfJP{ApAFE2TreJO4%7%;Hr=v#{rJ^-t&Z@TLyIyKJ_jCT2=(hL8mCmYDpqmK3b<@Q3P08Ff z0YoK1IR_A@2vz)x!U$8e1YA$+$L_?BuF^GU-4^Zenv^RegaeFeP&UwX4y#|FAGa4q zG#_p+^cnhpZ(p;kit%f4bjfqDId*?xaH3tZG>Uc-cHp=q5KRvs2{ag_ zy(3a|tfPX8=^oNE22Z?ZtK6nI_2c5=Imq-1f(M*`4?m{7wtxL`@s_#2UVsEo;Xa4i zAAU`@X<`5PLzVuUJNV9aTnr;mX<-twQyUi{{|pa=ko|DAt(v_Gn_}YtAyEeGYcv)~H{^HQf80|7G48*8|Z9pjH z+qLeUSQdA@!z5>K0SMXdy!NUWC2isS~yetRhKZ{+XPw|_*G;0 zl3^TypqJ$6lC8`4PoRf-N^zUqmbmmA|$?p4beAD7M%CE%qpNvHIO)s)nWmPMdMJil^Alen`wik&xK(fdN0;HdR zCZ#BR@#h8Zu01I=A0K4w41Gl^6~6>i3240oACfyAiPM$oQ*9XJZMrY9VR535QPQk~ z)g?G@gKsk=VT~>c0Sz@|*u+62rMzpRp&{^71=J5Fz;Im|` z&19V#nqhmCoK+ie0DL@rSJ513EW^lu2gM!mrFln(XM3xyz)2xs8lzFNw1!K2c^qp(Cx|*J`@+7W=HoM zogcA1jZ9B^`$h<8>VZ15Xr>Lc|EbDZ5v62^YS?38Tp^CuCogq7RKk#&aU4B=u0c68 z1@>ONgfW(Ea@mT`>_)zH=^0PUU-}cJu!PY(w5o*BHC{;x1Lz#0gUtfUhO2Qf>#22=S(0h+`q&R}rkov&nm zX?u)fnYMRiu4&=UmT~063Q+ccV=&H)JW?O#Skq|h6vK3sxX%vtdqjx`x($@PLU|0b&rr zL*UaGvfqIlTwY-eIYNH|HPVg+r)OXR1rL;Hr4&5yXINC>H4`sXo8t1-O`JS!eXsJ; zEXx~X1iFFf7ICl@;s@b>>@DUmaIjfdd6dVM-({#4fo0w`kh{d#pzmUMITfhN1m%)J zgiLT^+d_&e>N)m)8B7iCp8_(C+klh`&h8YP0nP>xG4Y!XdY1X#>`6>c^QJ047j3bk zwoZ}a4z7IioAg$wpq z^jRP?0C+DiP;$=MeL_>s+5O{Xn6n|zF|pihc2mA%XY2J3X~7}N=MHj$Pcqf^_}JXZ z#K@gZ^nCjf+OY3Jue5q?+*0OF*Scvakwt zC>%nMR|1A4pGU!eKQK>@pE|}Q&F+%B!VymF0MbkAwCve~a7R*lEMeb;J+~=Qt=J&P1SWG{gF~rGkFbR5?lo6LJt?>iRlcgGm`>s^S znBFP{a-RMvHTbC>sgbfbT=c^4!CtPB0=Grw5-G{SrP>C6yR=llh)yg8ah7f?G4}J~ zh81;LVNui3$^0~dKGqkAsQq^~XH@>W!xj_h8D-1Q?x$gv?ldP+{7G-uSd85PI&%E)bAO8E0WLg`NJ1q%NC9q)i=P?#L2JbHkxc)5mKzVNQdd3Zf|wEjkCNuAY$8K z9pLk|#>D6`Urr1~_o6xA7($c=SjrPt;Hw2z5wjmz84Jw}L=xy#iq|WKL&B4U$j?9; zqq7vF)Jp8x$3>)cLS6j0*Urxbo@ttrsO7}z7L7N58h|t82a{6b`YE25>or?SHw8Yk zm29FM73C6Zpl3<8L$=sf<&tp@|8!0TdzDWU{NM1AFvXF9C`OzJh|_-{kbN7SUZcDm z9SD*A9Ua*7_k2vGdmCIR<&kM@FL?!1)+C}j5IxP0lrGX6W+$qD!#1J{LX;#dhD1Fp zvPvv}hFFI-Shq0nCbdHBsvWBDtMqnVrv3yhItXeDbD{!2-vjXF#i;Q@zoD_d$d~xf z3Qdo7xlGsjzbxA`a;{_8)@iZYiJBED$G_jPTW@6A?+s|DAVDP@0CmpzY0@_G5kohe zO}sl9v((*3G$isHZ4`BB#{TN~5A>edUkHnTWB2HNmlHT|v`$1@XPBk~fooWM#U+6V#Cff;Fb zddh$79bI$WH1Mw&UPxxrP(GdtlbKLTCj*pDlLOv5&RI!CefEu|OF4c$tCeiYk`>E; zwk|oRH^V?UORJT%U(&92Ns-C8VU?u#9a#zh+gB^NU5IR{?0-19o&A}JRcNwZrJSeB z4^7Po+GK}z7#>%zWuoBZ5u6qqw2>_ePEx7Ww_C!140h_YdmvYwxJ$466kjp?Pm!*g z6_zR292DHK7OJBjB#?ean;QOzb_8#K{b(-6z6|yb7P&_^%4%$nnCXWdr?N}x7rLjY4^hpk}?g9_-AVq`kW8d<~$;Qou=DB z#~x<~Qyz5gCcFX1(q718$u6EwYk<%D1ZtnBKWnWPa^p1eiphM|>>mV9fOJh^I_@a% z>Q5SI@DA=kb@?Z4wbY0^vSh?WkOzXBTQX+U(uHu{i*RsJWKYmQ^Oi%?Wsf((@Oci& z;F-t(kA>5#@{VS}jDq(V$+t#-QTl&iUU=h_R=0!$6^WdS>{OPrrws3Ivb(fcLfadX z@=Zlfl2m{Pj;#mCNKRojOk{YePcxzcY}7%?I`4&l1<|53?2FCbBSp2#8u$yk4I} zLMrWhiRWjm(ZCWctY0!luX82HQx4FsHyl3Z^dqTAK4u9%J+H%5^&J9Y+DApN(slGSU5VBX5= zifDjW>m|Z$D9(Q%S|B6tdw*zywbO7CDZQluCK-wnBSHbS*LQ>ZnV{cxWyn_e#5 zCmO;{1hqo;&uX>mutcA=V0BX)Xa8(3%1|34z^)i+OGL0Ac4{+!JQ+J-`Wd+mb9jyL zp(KaUy%ZNx7rYnlNP3HRJZ{6DW4-VN6KPktaMH2S!Re}wF6v@kK$o)SVFpV;uHFhO z0^8iCq6rMC>;Vitw@T=~#x_6WcUjJM$cT+96ENAU~T4D#bMPFDmCGEsx6b5LwN zd`x?mY33W|4IvqSJ6D!etKL$3Lq>(j+Y8rKh1Z;@uZ@GHY-Gy;AL>Y{?cW?;_w)^- z@)zws)A`wiHYX1LGp(qwwnlTW854LXf%QiKw(UtVwE!5{Oasxlk0SK0vP(FEqpREz z)jsI|cWBe?6Sj9Rn)VSYwCR6M@drWbMFdTceSx)>bMvGWyN%BY;^DlXww!NpbEO`hIjtuVq>HW$2| z({;Y!7kQJDg4!cB_k2KDnF8^y z54!632cRxlt}f+9#mpopa8-QLyz#)NeFcZFjCJ0{UE&8=wdF_RzZ|QLKz&QeOTEY4 z#AO8*2+=@OA=P$$#<*;oTtGWoTZZsWOC zGuYR20p>88r(KKE?O{wxm4}ni3M?%`us+(m=fSLVJp*1LyUUC^#{3X;HBvVod?QkK zjCc`JgPh_02W+;i-3E8NQIb*w7Z>EEQ9GJ{r?*G!SY2BP&6=*)IUQVU&_B4;;xJ;# zYD{!t!_7KNd1&~UnRo-xMi|PBaA)aQ&c1@f<~~eLs}WwYa9GjaE+jSk>TeczZEJ+Uaj+^WUJ^htTJX05~!D zvU`N5#iLU_TpqwN-CXw#5ki#xR$a&lQ%EwF#pfAdmiC`Jl}jEeF7yG#IgEyAkJU~B zqt^T-xL)$Slin(Wh6U?Br_xm(NL68M$0HG6_J$&B84u6NQ+2|5)q|c8s1F}8AX$* zi0b#c@5AXn$LIU_^-qt-eV)(PzFybsy6#iwCWAkA1+Uhwxf2Jss|4(F%)U6QApF*v zUq^~o=%3LS|MFBW!g==xfk%?-jwd#}D4S}&!_wt-_68@R3fttqA63Z@)^huNd$IqR zjgO>7*b|!u3!^*h+eET9FeHEd)I5JssM@6ax@NrH+-+|(lXn@;lW3}66E-KxX_Ke{ zDm4?SOW=PmqiCN~_d)OgU#ApZ!B5EX%L0=|%*fd=%JG0_(4Ev?S)p6u!;|TLb0?_0 zS|mFn67?u=omy|nf7MqElNhs?M({3Ibv>zjTY$H-t98W^ul>1SuUYgw@to&2QKNj% z?xJ(t>bIBD&)o>K_xq7iI?=hhf3eUzx>^ahr1xUJHtffqMVY5fEa=jGtKaWT zdc|uoKU}|L`xX^9#U-;_M|O;44Q|(*617FhAzp^=gG;oED3-g@+R@ynb%q$(7zov+mB=@t=}^NAY0CoDU)~vG-mL z1|}R{Hch$5OJ>>O+7`YCaxoA1ex1pG$L$_#eUa~Raei26b-;{fF8$5de?$xCuHUe} zKU~kHLPEAndn@RFvcRk4iKsi_5pO8dTUdvO2j z$q@YYt17PM4?{{TGuy5l2)rF{_{UMV-mxDIn)+WX2;s9G`FbM5x1MIZgeUcrjlq;H zaxn$(x{LKf^-i@HG--M0WY3!tH>dZlOhezDxMm%h2P?eOy-scaERvJ>*}UFT@i;3$-n6=h z+dQ&pNbn0^jLy^;cmK+Lg$h1{_qLb*G^)5%hVJc+(r#T8UE?dJ;iPQ0Tz_dviT7!3 z*Rz}QeYr0B)}nObA5u;2#Ww@{`b7Br8E0LS10GD?v-|mqIVPVjXKto@F;?==PD@uA z@)b--EK#+m8CTgiJg^ry^jpTSNF!c2v1sOMUA_ciq`Ww_?9;g{Zra)Jsp=7q65f*Q z^(>X1CULbal$!i>W5J~%&m8*4sWUZuZ)@$h70xLTIWl*W#q+TormGkC zU+MH+DZIQXpmW|$s}n*y=bYb6r#qbAJSWZJd|R`Dx<|83ea@b}oko^P9-D1=L?wIV zxvy?moE6!;&b+o#_(C0zeplX`P0=serf67OeWZIzo3O zC0@5wj$H^)mX5$#%Nk&z|fSQ%H;Eitm1!cTBgh$3Cg5wN1MAgi~k@ z*NW@#lT@kw<@lu|wn1fImG+33=)R;?tu~OJIQ9Ex?voz6yNr%bNL(eZGXM0}#GU$m zxeMG)nl~4^2Il{~vE-Smmd5e(!TtX|OjyvO|3OJ&&kN5^?THTe&jxhdc&ej*ak==2 zxX3fE$;&u-n#tsn03h8mF?8De3Z&aR=tVO@36jsDIs4b?@Kz zmVEx4VwGV3QgWGr4gW5QK7;L3UcZu_WM?sOKiKZ9#4;0)TPsrd@H*MweC@{KW!5JzaGm*aY;xw~{zdPnG}c|3 zF_3h0N~!bI)AiBQn}fQR-F2K#AL$=RyIwRru@-)XQCY#J$wFCSfF8P~_tlpnC9Ri1 z3%gpTcpKQh{_WnsB{fX4=0yC*w^@%5geJCLyxpJpt|Bg`;sp=y5?*fsm4tSy{DjuD z>5pHOu9@Df(Q}y=vBrx{l{6>#EmRT8GiBkJ^i;ZOhqQ_v^vR%6Sbc z$2LvPOKLt8RvJYpj$e>9eQaC8e}9^ z=SUxUFqDztbhGYrMVm?XfbZ}h)!?z!i2#b{>n^;<3`x%nYJ z4Fbh3?DbW=2@8@s&^?CFw1u0%A9+IYyUvrd7ee@O@0@5-40c0HZZGiTK4MP zb*GZpn=aFy`G_36wPvdB3-hBnuGS8!`BLBQpSUi0Ic;up>?M=u?*-#-_oPM)CFeZ+ z+qBzWLn1-G``JaCmW>(@j+D3QZoe<0V>ih`XC+_!p9S%cuSJ~hFv`!HC!JdAA?+-o zv-H`~lD+-?r_{b37VmE1t`E0!)z{ow7?pB*uk(wyX1S*oOn2l(sra~Q+i!Z2q-~+3 z6l&JEK_gyDvE#fH&upNtl71py;1 z;IjdxO>$jVQnr|MWf;6E)7hlID74~I0>6(@da)BGZkx?h716TczpgA{jc?1cEgIII zI>u|*F-FPdu7Gu-o#Vc@=Zpw)QdBwZ&fs&efeR9JkNE}d}G>x zM{V$~XuGgy)iyUw)oF06^h5Hs_>HX(*Oh;4#PBymzF6V8VZX+9zE;Ig2e-b8?|=Sm zMxocpog{mqEzwwiU;_WGgVGX3e@qQdtZLNYt<-xq&)-9O?K?j`;f*_eqi+iAP7`=Z-P_bg`Hx5XbS>G#!}xa->e|CYwC{8;v`VaB;D+n;-W zQLn7rBrkHl?n6e_+SBqkGuEDwANjQIY+8JK2A1cZdpm?b=

    S+NfRZyxXQks3DQ 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 Q3NcQ?jbyhP%=Fm*16>r7_y7O^ diff --git a/4.27/PlayFabPlugin/PlayFab/PlayFab.uplugin b/4.27/PlayFabPlugin/PlayFab/PlayFab.uplugin index fc9152e7..bdd51ec9 100644 --- a/4.27/PlayFabPlugin/PlayFab/PlayFab.uplugin +++ b/4.27/PlayFabPlugin/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "4.27.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 4.27 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 4.27 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index e1a41cd2..703d8274 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index b3905510..9c4d5405 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index 6afdfb64..3250bbbb 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/4.27/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/5.0/ExampleProject/Plugins/PlayFab/PlayFab.uplugin b/5.0/ExampleProject/Plugins/PlayFab/PlayFab.uplugin index e74d1696..638da2bd 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/PlayFab.uplugin +++ b/5.0/ExampleProject/Plugins/PlayFab/PlayFab.uplugin @@ -3,13 +3,13 @@ "FriendlyName": "PlayFab Marketplace Plugin", "Version": 0, "EngineVersion": "5.0.0", - "VersionName": "1.103.221024", + "VersionName": "1.104.221107", "CreatedBy": "PlayFab and Phoenix Labs", "CreatedByURL": "https://playfab.com/", "DocsURL": "https://docs.microsoft.com/en-us/gaming/playfab/api-references/", "SupportURL": "https://community.playfab.com/index.html", "Category": "PlayFab", - "Description": "PlayFab Marketplace plugin for Unreal Engine 5.0 Current API version: 1.103.221024", + "Description": "PlayFab Marketplace plugin for Unreal Engine 5.0 Current API version: 1.104.221107", "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f", "Modules": [ { diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h index 8e59c7db..27d97b60 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabClientModels.h @@ -226,7 +226,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookIDs; }; @@ -247,7 +250,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString FacebookInstantGamesIds; }; @@ -268,7 +274,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGameCenterIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GameCenterIDs; }; @@ -313,7 +322,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGoogleIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GoogleIDs; }; @@ -334,7 +346,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : pub { GENERATED_USTRUCT_BODY() public: - /** Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString GooglePlayGamesPlayerIDs; }; @@ -355,7 +370,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromKongregateIDsRequest : public FPlayFa { GENERATED_USTRUCT_BODY() public: - /** Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString KongregateIDs; }; @@ -376,7 +394,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoAccountIds; }; @@ -397,7 +418,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -421,7 +445,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString PSNAccountIDs; }; @@ -442,7 +469,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString SteamStringIDs; }; @@ -463,7 +493,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString TwitchIds; }; @@ -487,7 +520,10 @@ struct PLAYFAB_API FClientGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Account Management Models") FString XboxLiveAccountIDs; }; @@ -2614,9 +2650,6 @@ struct PLAYFAB_API FClientGetCharacterLeaderboardRequest : public FPlayFabReques { GENERATED_USTRUCT_BODY() public: - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2668,9 +2701,6 @@ struct PLAYFAB_API FClientGetLeaderboardAroundCharacterRequest : public FPlayFab /** Unique PlayFab assigned ID for a specific character on which to center the leaderboard. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") FString CharacterId; - /** Optional character type on which to filter the leaderboard entries. */ - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") - FString CharacterType; /** Maximum number of entries to retrieve. Default 10, maximum 100. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Characters Models") int32 MaxResultsCount = 0; @@ -2867,6 +2897,9 @@ struct PLAYFAB_API FClientGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index 85affe9f..310d1561 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index 2d1ac105..9950f857 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index b7dfa880..b7791689 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/5.0/ExampleProject/Plugins/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/5.0/PlayFabPlugin.zip b/5.0/PlayFabPlugin.zip index 5d2b98df57fe3e2260fde616a105876369bc3213..77734e372edace23c0f610d62e107a905726e071 100644 GIT binary patch delta 299713 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νcOkW;}KfC{tQ`fk}!SQebkFQ--fj zQDmG)U{Xv;k}axA>e~(cg04cAA60CHrAPQtOARHki8=xJddv(i++P@UC5jvLK_c_W zAt<+NMXVrpd+(XvWEE9a5dOdew(f8Dxhy`YM#u+$iDfUaOiEQ$QBNU;`#Loj87(Ra zk6Yy2)o=ncrZ{CGOI^Z9MjKnavL-1#?hDLL_D&S}CudExt*K+a=I1(EC1gxNnIux* znNU_Ht;;QffF?FQwm6Tq6mZvlhykdl82xP&F4 zmwAYP)ML1VoCG+JmTAe4Q6yAhXwCHWa(|5*s?m}@J>R%g(~Z&QwNLEUZqSH2w#ASsS2)kBkP&fXMg;RZhTDj;;5^LQOm%vI+p6Cv7+zqu21V~ z8JOxFgs3{h8)3~Sv%YQ1NNPk`tDx{#w%Rpoom=^8pqfv$gFj02AR2DEPDC|zoJsV5 z>N}mw1?R-JSV^hB$|N(Qoo?m7nHwOxfz^#COtDMa)Mz8eSISR#rg!|{sVJH)b< z>s&;LmvD=vkHV>=`0pB?dC#@!4dtAMp2vmwnYQ63<_t(lb(vEFp%kTMLY!z&lOWq0 z5~s;9l_KLTplgw*phYyqbxj`$KoA>*rG)XlD!iYfJ|KQWr%ocNOF8A{8Q)lcLv-Ee zli&vqx!HPJHfTyIjn`wf&}B^eaP9<)PBdlG+>P0A&H@^b`GPBFq}Th;<)&ZQ!v80IbZrKAro-_TLEstfwC0B%bS@t+fK zsn@5=|hQeRH2t`G|^ei=0+T zufO_t+ILz++wtFM5p+4f&muT3^V=-e%8>UCH?^ap&C0rwLINALqq2FHI{?sZ=WVKZ z!+cdJoxh5&!4ofVlU!)|Sx02Vlb8Qg4HOB4udcgTt4^8PsQ!Ol z44fPBP2j2s{TlYss$oKCN6q>jJ=hRbmFVm}-O)fpEyl%;iYh&NR2=4r9~JL~MvzV~ z@}gZV;qeN%OuTz&DRo@^--AXo3EC*FA(PXosf&$ zf7-=o!Ry0gJGU1bXRlJZVK*fkrg?uWNj%+YNk((}E-7M(F3jo4)Bu*(JK`w}+ZKAf zc+XbcR?1aZJ!yE@-@aLV%^!%nPpbGG##Av?Ed&+o1KwunHG~$chVje;7-;-T&}&wX z(5vhORu1cirLg)sQw+veyM9bAi+dQ|wfuCRxfPFhdEV48W8hd!T-RI0ddz=NCaPT3 zxs@i5ba2VlQzAIu$SX34ie*m-=@Q4JrX)=4cj(rMdh^mH*K>i^Y>?m7{7qzNa8>i3 z5^^{W#mFpOIJ)_H0#c4ZHp&(C zqy_tuYA^t)UugY{jWcEVpP>8>C6Y*hFK?UN%epq(Me0%jJ9vFbD*{zq!uflI$7|Rqv>Fnv^IrcGG`Xxfw^kYR1;By6jVm zHi=%N4VK7$Ro1-fgZ;AtqT-9o&p!Li)S;@24XYoz$JeAQKlNy6vm*^!vb)o)C`J}j zLAxqaQ-bjkBvB19#45Xo3<+7Vy9{+FLnvl_WOlz7U(E{}X15EOp6|63aUZe#QdZ4X z!LNuQo6wXm?Egp2|Xpv2GloqRePSaw03I}QlJTGTzb!~pf zYOM#8+^ng2s>`)H|6=af(t_-YEviXw+2WMVMO$1?;I4lydFSA|c~{=D8WcN0NXms3 zLYifjuefs-vA%IE_9D%D8wwl`T*o?abEvf2CXQ*cv)0VU#;lr>5Vh*YiE*oDkRfu_ z%w~;UwU{%BUUi3Nj9(2aPV%i<$&nsa6P`Yd)v|{JS=}}*l-2apgIUdM&Tv*sIgfz$ zJ65x%TAhEuB|ZpA>O<-og4ehGUdX1}R-LHAElnM^p2?`nK;sHf(W^{j! z#iqGH!DFod6I3tY{DfeF=MxPR-JT%M;PV8dSsj0#5OF5nZnuNQ{{+rX2(m*z@!Q9u zC=GN-jQU79+oY%u^)p=?VFc4X8!{U0*pQ0i*RWx#TSMX;UJV(|0A4_$zw6Xc#6o=< z>TdalMAESU z5s6*^AEI0WJj8a1=n!c$fJ5XnD>g(4=L8M;Z~Ye7X?6-wE^;kU@+_cnzO4d(*oJov ze40EP2tMD0y#${LZCk;oOW$E2>5#f2SbXQ+ckm^DE_MsT?#j%lRj&u*0IW0AFN9~c z_EVrOGRTE-oq?GQd41)?l=IpofMBGXh=!5JY_J%)pBp~5IyUddqBfHWr8`>dl&YNo z^^0sb`f8AN9(}UpO-PCc!n-to_B zoe0N&IR-aW$Op%@jwS{tj%YIQ?wO6w=k}D8oNnJZHLu$<$dTLana!Ku?ZqrK$J^^a zTb{RAdHTN4+2Ir6Qn4SafNz(GbJ$de2aL@RR^1*$d z=FAEALelcWJ^9$&a8LLG`QctRAxGS|P0SO2_w*TZ#XYZC^ToZCGszjhtLl!`>zynR zlb`=S!FezxxVVM8H~@M|$r)ixjj?CJ2KB-@mq0km@ZZt2 z7{3Y(GS0sw42xXO`Vj8RT(H+&1Ef^77ErNpSZU%1fM>zT106F}(E_bih=!*LuPX_E zTZj23;%thNIFU(B-DPI%a8OL<4UN_0rGzA8Ig7`bm2n=tPG3;yAfE7&h5>z;$>~p+ zhV>XeV;ZJQJ7r4KVbDTH^POz2<0YPh?V=@JGv2`$2n()Rrjs^vM+N3MQ9}cRBx7J; zvQ3T-3?5@*1A}a8WMHt$85bCAPZJe?7y=g_6JSqH6${{qk<;OU(LQ-%e6R<^B)Q#} zj9^}mO=`;gm})rh+$Q6pJCaRF zeb_Z{{BH z*2_{eM+MfK>t_-16(>gkYG~cxwUDvJEt-;0+@c#N7Pn{y8H!spvssHaG+d=c65_p-^+mB0u31Z8mg;p4Hnc_5jRj|cL3 za`3?T?DFoqPczoW5bS^s=0W4M#JVOteWi?+JzOcH+on~@X!_}uGMd+%l`>k&c~r{W zcC6fH!Qn9{=>cC9X;*OLPaJUnRc+XW)0DFzUsO>1VM5>G0Zm4|hQzUd@D@o4$QIir zf?A}_fM=1Nx=H{AprTb#zuZs2H-M;!eX%OwMxbX2hI^;0Wl9D}ob6 zJ|RO*Y@LKMkuo#DM4sn^EwMW@!b;?ygdve~Bz#1g(<4U|I}94JSsGqM(&GC&wvnJSSSR4*|<>r2B-R_o#?ZU@fkWyf`mdhvnYZvddYB5FdAF`LTM+bM1rswO#q4crK&hLW;Jm*YHOm{1*@CyY8B2ng3{BW`wE6 zn6~FGTj#hoLXN8Yvyzaw>n_PD7fQ&csn@0yS@mV46#H;wj@ zHGDqgz`mt|sPEZx4>a$~)%#)%5{kc|H|Vl@!Q%J(&F=nxvS@kRXMA3+w^a@FyGK}_h&lk?SoOvHXBNdn$8$+KcSlkoy^o!f=1&Y>*U)e8S;VD6)m z(gcc6iznWpVh_u^F_XcasCj&;V3f1^`#R6R;(OAfvzfNCn-t?$bCWvf3U2aU=&IeU z9?O>HSg;j;uVUA%S#vai_?fpb!M&x-)a6!kADp75G(A1_6Y4rETBj_rf->*wDtIn+ zVHMhET~jB`ONUkYyaj4rlJ`_`W`~xoF`(_5vTjRpEaue>54OAF_qP|W1jXSO$-tHb z%LpsV8lv%P%hZXTy;R@OmbbfuCVkiV4^gG1EL+Eao9m-$-sz_C;ZU!|V%&CRcW93> zyu}s~E1Kq+wiq&zy&b;vQqKSHmdJ=w)chAv#0RIKdAJ!mKV(uw10~ z6U@GAc87hgsKu}jFfWkIE}*#zqKNa`-L^zs%=4&t3v-jswyXe7ruixtJWXAfJ&LDH>`gCaNtbSyd!fYX>Y?A zX&2MjZ^0$hopzs~w%)=ts684|lCeASB}a$r(0-CMm~e&}YuF8JriJXS?Md;-+KU++{&;VMI2&hXVBBOE&mo;f;!l z3qz#;x&Ys%-g>ce2r6;MhwGXY z(VAScWA?&-igJdrwx*na?-RZO zce&0$qqKdUu@b2AeZ5V~D))a9JHz({1c*5}Tej#q*C1cP_-O_7Pc$bmucwJ;RbKlL zYgk$r{m-ryqHnN3_aUn(cw%{3l zl%`I`siU*xrl^<*alQhA$Ou|yC9i4#E6%VJH=`+Gcq?1AMs#I=491PUQ2#=csHw_w z`k+j_7fG&&6BKWD9NVVz3d195B@?=FX|ES`RM_ZTq1tzuk_2y^$v0AzBoKLl1!>M7 z{mWnmSj2puv9|mMHF-a?bbTorKi?AC*MoY8346-QYL~8!zUc(+=;t4gl4G2m2ViUJ zF!`~_*|R#2lNe8b5y$=PD%r9;2jG(q%73BmT8Yj~=9D6fWH~rA5u(45)^7_I6h@_km)qheYhq;^)BRqFpPo25!Pxs{Z1MaQV-(FJLOlFeE6#1_KTySwz9 zrQ-kGMLsZ@2{1r9QV1&o4vQ1R5{aN;|0E&+ikUzJ=%$%GbcbcIBcu&EX*-;yU=EPy zlI6MrR~SaeYnDDS3gN3736->S5}HfXnnCnN{skU?En6?p($m>N5!=XFxRFXbN@XQu`&)J)+8v$A9uE(M51lJ3CKNvmuQ zqXl$@H81=AF@qW zabYacyl^Fj$#c#VmSeUlKTEER$0I&^m8dLJ*7jz^WwFbf9HB>X_<=AY4`E~7ndW2t zDe$;gH6L)=t3ab3_9~=PJnOA#k986OxMUcAxMF`+PA~+Ra?zTi=#R?h3ZsjR2w$|9 zduZQ7V$oW0sg zCUKngqq9GK(0u~SHBg-3a*b|+0cJ&e-1suNDvizLUVYGdDm=Vev!Nx_|gkLB@<8Dx6ad9s>2Z#EjsD9d7t^9ms-fuKmwb_~$NPC|`ZXDhz7# zPH6UV({XQ?v ziLHU|bhQi+Q?iQu4RuB;I`U%@>op^PAdS;A`-d8Al5Xo~hln7X<=}GWUBA>#l|w zXyVoI(e1n%^8}4OXADtw3|cLpeUh+zUSNvH&$El2hN4JRJ1XO931JCQ- z{UMhW5ESedXM4c!HPw3=<}lS{cGHvh0cktyhbyZZWSGXP!DFkf8u2uBSD7w<7!?yo z@z}8;!}_oy0hN+tiWGL>DSclq8U7&v97O>@4V9O2RlrH{+&6%m+7KECyMQ;5T4O!f zueZs!z7ql6$H6W^YM(SdhI;=sz!3kx296s6sL@U_24D|>Z=na4#L)`ZIT${h6#uF6 zP4r2ivvC^3BBBufTrirR(KecYhl+hdrLrS>Ff;WkSETK0A9f~)uoeEI4LUwU3%nEK z=zAXP(zMotJh1as!4I9{$!y2U$g-Vd)g75SB8rO#Yaq!1RQyfV3g%S?3svd|AC(J3 zN0u4=ZBU}RRxS~L<`~_giaeIW5+F^YeA)G3+|1eQGO8BTcO9#9 z)pe0BM1j=72c_Y4($Hr;b7$&+)p}w18M2(fsau+%^5j==19fFFG;8{Vx@&P9OXsP{ zmbBq1k|5@nR*}-HBuV75p6M);#|@haI%aE;<#yO)Kqh`K8Zg zd-r_kJ$v^&{uO)oe9E_f>)rDaF4hC2I?fWYuHB0Kqf1AxW&aX$6UR+nFs7hB@OvHTW*b@QRjKo5vVT4GV69u+ z>KzOOSp5|p&I4)fANNRt1B1dfnvOax=W{!;Jtc}(iq6-6u+Xvz(Lb_mLdOg&n|P-f zS1!}M0&fbG7|?Q8;BX?VT&J#pJpHR?;6h+ zNr5$b?x{I{*>=S-t*_bp92mRvXxc6y_Veq(HqyT8v*yybn^*q2Sw}<$4u$r)ze$Mk z)rq-VVtP=-Gr~N`r)Y?Ih7r{mbMr|+nyl2DOc~ePtyN;}y|nsHLOMV>b~ed^evn&X+r=(l~1_8_Z7-Lmy&)4;j7A$CAl56RkpHQciUay zJBg`trIZvAQrk3CcU5R~-HH`ZVWs;f&7V~%xQizF5w!Y8r_k!pY_r=WAAfpgNBVx+ z0Sjb*Rcm@Q^~|NYx7&g-hS9|oOe9$>pn9)+O^#JF!(4pK79bQ)0T2iLOurqK42-`y zTO2{&fl6!^FemK?IrjoN@)MD!d5svM$IBCK8P9UP#h$V`yS@sNGT{zaT_?IhZln#RZTJQC z=}LqKNsZmBJ_%4ey|p*)>&0aKr=}pQ4^wIQbi2tKdFQ$La;BV>(`1+9@AQ)fqd-&1 zUf?JH-Tq$}<(whYz_fL&H{@ECX+_s{&_TL#xkK0K%}n>ai%ZzsP{M zBA5gPv%gKBF@KBh)28WwviuBlBg_S)F;m`zQpNPvmLQPth)YiZm}Zrhzauzm((H%@ zz#8JT1Rov;s$7$(Zi#3TNt;*y9^#p(wtd|a1sBgJQ5dJ{kcgFzrHOPTnUqzLm#$q3C%?msOEp8jI-~+T_6VWJ2vDwAMbz^fdF;!#}^EjH)(?<|*_R*V7*x~B4iDwKg+U#MP%9P&l zVmZ(f(FL549&H?44AOKx{5C*p7Ma?J4N7DmrwO5a0DP(+ZXP`ZD@s@ty2?x}wI}u~ z>&{g#A`eVb;TjK`YdXSzzxO}?pn6dJ#PWIhOpTJaOeCyRi96+;sZ$zOW=je_YkS6} zqP{igzFfCI+LDy81jU9fWY#^*i_LZ?kAWax>5&3b7mXqzeRqg zw!FGO0tJjkxIu@;LvOp$Zq9PNHh7ceFvVOBUB24zAy@2A*jejiAs) z<3nQ;Sl=3~X?-IOvVUu{AN344DmrvVNNw0{`UOuk-0<*;#xX_!MPr|K2t|)0Vh}|m z9VLw7N8iGDy+SE}8fKP#&sM~2XJCK5RJlDb z(Smr9c} z%u3AUS^UU|GZ&e=lXeLOy)SB_k?TPO3f2Pa4{r zSXPk&EPc3t26r~Xv{br7zE2&}06az&ETEls1?=}lzAD)&tzri6fnFFmXPhK#icTi@ zly6xDnt<;_RhaJBP2dNBJ8J(ve?NvkyxDD7na%66)Rd!3-MI|Gwyh2Y+_}eiR=sT_HjO!%S3??%e!u)X@1vubh2}PHAx5S_e zAQU2l0y);`w?Z_zF_vB)pnZE?6X8(p>dAnAhPFWLH#Z@|;foMNQG{c&i;3%HH5kG3 z!d3bo7FzWck?`4(jbid*mp=hztbB+f7g_nbm~4@iZ!mF+tbCYb7g_D;BZxOcoQr@y4&uysZicUisTNt`Q_I(X zi_0R<**uDiagpSyEalLmp3Ap8UwFCMS>i8;=JNh16)+oHBOc!Nk?;1H2ydvb=hs1FqNmy>f2WGy1ksk_l1D zM|%f3RZW&0=15sCl)K3e_nc}TA9#y@mhDvq`BU}~w7uYd5A~i*m?2J+2_M&2GBHop zMY^5cM2s9=xEXwE->E%LXlIpZ@I|%xBDrDJA4U1rmD4f@ZMv@_^_S5jp2HZVsP`P& z7lV$~Wo40XU_K~uG~cbQhofP67dsL(W@DQ&^^7)QwYBcgY>}0~#87O1dkyk* zyIp5A8|~En0bHgQ6gedo=X}I)4jU=-_hqL0t+_u^q)PH?k7t}(Wv!Yd>vwY;jvVeB z7YUF0W54(n01S^=0q_`cDnL8!*c1#P;$abB8|9S9!fW$UuX7=2KlnfhU`IF!0<4oh z0-9AU-9%L1?^Wv%)!OiNY!irooRjAL#M{9j`O(RKw}d)&GG8>KMbeZ5 zG@?P7Bd`J}rM+i-?x+0-WVrq#@G&$XA)dAlq#;Dqf`o4rJ?LO|xvH0cE+mM-+K`|} z(1(O~(i-uOf~^r%A|(?_DX!B8MK|y7{vB1Z8Vedp^^AM-uO`*iJ^Fh;%d)7$Pblfp8QJH|n2 zN$&)padDC#vL}|zuD*YN`PLm;sxd@2iW0LCJM7d;fg!+P^@YGAC@(}iVb#Sed|91;U)I?Zk=2)cTSbEE zTA=GIvj8|Laya5a%|_ael@v>>FIj~jAOyDYTyClmTX}!(unrZvbw3WrhxJQK=WP)r zNgb%(($v8aQKCAyCn;5(Q5+~)Ejvz|XTbhz=nXc2k+tMLD_;{L`Z!NCWv}=0Mqd%$ z*>(?VKKeBIF&QzJlIC5Kq`UsHZ3JaR4(`;TbyL&)8q4TonAfT>T{w%2GPy zz=L@*+pEWns~frDFSgEB*~6Mqn^lTUpv(H%_k3BLHOKu8wUJ4a@cH!zeR`BfA0^us zWtF_izb@uG@$rSYK^hk9EfC=Clp6Q%(;j8IXzS*Nu?4?>s6b&o>`)x&ewqv7>{#D& zSliW^xZ`EI=FD!S2in%gp;9!mML-+r#Hr2SoQ>WB8^q;bG+_?k&L*}g?ciV1GE0Hy z2JhaRbijYQKvh|!TE`#0*rQB!V@avk))9o}?d!q)B! z-TrW%RG6lJ#E*A?zrqZ#3o`BTufeQouo!Av#bNBvEvOH|teDL;m+HwoPt;%h^#J5~ z<>HnMEivbnM(iE`Aoi|_c0W*`E!J2&5wz02Pp$PL&tJIBunv`3wd=dRz_V2>3`8^fz!ubXh zphzAFX2mGm9zwGwEh@Fen`zRR$***k?$0tE|2#2%Y}GbmVmKLD+Jhn+(%TV4b;V4; zTs~w#8=5=<$*p+2-tj{_6Ezf#OcYa+jW}EPOGDR8rc&PbHuk**=*r%F@L)zk6Ya|c+}^$Xr{9un=D{` zwAal~nSUl#TU#5qOfYE_`BOmr1Do}Xcpyl$7zZMoUQ~m~{uK^EFT@?rBi-aV=mJZB zlcZLUO0^PLh7`j~1f7>~LbhtLNikb>U8{*CRTHB$2`ZK%2Ri71EG2K(%~M?XczxwR zo)tS*SR(Jpt!ikvfA$H!1y|6~afauwUc@0ik%uc=s)2Aq4svVQ)|WzHhz0f~;yZT6VdrQ`IKN zxp>|1w#3t}Dg%nRsNPg!MeWG??s}lUVxkZ#H3*3@`a6A&8y?9_n2qWj-Aaqt%%MZ z!Ym5|P5j$&tq!JqO>R9DC}w1l?T+_4d&)X{z|9E6L;*J;$cxXM>kw+++IjgDn1`U! zwR*^vA{Woa4vwOWf-__j(2_-e$y9VSD+vp|$x6CS^()Bdrvxn@UY)b-3A)ddo1(gq zM6gD{2sRbsSjs_`MFn_y{k$v8CQdp~B_kJeSi@5?5;!QiCnAvM1pZK&ey|yqFguSH zX=j6Ox0{fW_1*v)#{fdkJk;zN%XBfh_7J-!niWHn<=QU#V=s#Z0S4QDDF{4*b%JQ8 zY?BCXiyjX7FPSA`h#hwco+c}nqc=)gR*NV{@=0{>%4Jc1vv;+%Pf(NjFHi>{$3%H*EQ@OUrgx&hyY%PH2X}<`-^Y3Ez&m|9g+W*rs zj29Y%A$1Qu09=}hsru~PO{hP%|BMF3+1Y{;^4q)JtDcogaQ<--_pg7K#b`75{ zOX=a^g8JE0n_1FUv+jh>Jx!@9TT|hwZ)z{p_9@RFzg^P$d{)7;oB?BcA1LndF;Ihz z?U$Wzt5{JZIT$v7IT#^(glzBxT|rv8ivJ70KP4pBfp8nx?FzKJgVrH~DGt0-hQq%P zI300s#J&F+_XOk+fN(?J+~$v}U~CfY8;n}!dj0OLY);v=)cKSMdzf^S;dBfIF_%)z zp#=&2g*{wni)!K;WMLA)NVx|Wq)M2j%hj45*&&?03m_4H=)+b)T!Otq@sD4E(AG*?8mM#Wr z_wtUVcaulw&^;T9YkDX-AZp?j_OZQ0X)KQux7-zU#JteND zu&gUv+Z#%MHi?=XRoBP0@ePNcmA+~@N10C-GH7=P(HLinCWKJsYD)=~g#JmPl09fz zn5Of^j@~05nc>I`{|{#PiKtv9*SNsb^T8L#FXa{Z(DBk*dQ*g0dl}hbwum7Ko^8b8 zA}`j@SurIU>d7j-&;uFbc7wtB@tj69MY@$o>R(`gg^%LoMaVDfyhv|vp$K*q(qhH) zfV_az0h?+&HkVa;Qp^Jzs<#L8_l0~oNrutOod|-_Y6{EEL`@#+_mJLzDWH)4AL%cN zAMykJ<%*!$@O?s-;l01U&&`d@VPp;?bLhkzgvQ*7Pr=yu#zZ6jFvlVOA{S$P!yfou zKgk+@sFwUB%}5|T354lCyPvUqT2#VrKOOeHlQ*Cjrij+ZIo;xRaI(`~(4Y@_PA;Z9 z3J)|Aj+TVuJxiiAJK98Hi!Y`vA|Ta1=j$Z^@Qlg?GZBwMnZ|8ZUVYlXBRP*9 z_&06eIWCU!Lp?EqKH*(ev)NgSCP1&sFmT>Z(I|AzCRgkDIU5N(2%@u*J?Ka}=W$Yh z;AE9Agp5ZXMi{nX*e}GNw4_p$zcEJL2*{p*T=qo!ewtw4g4R{Gp2AJv)Lz)^Q=UIg zm!<9Qz(Kj3$8hpsQzLqDp07HL5gtbT9wf4ECaBKmF-UF(It zjrY(5v>g@O;q=;FS}n9|shb6Q@F}l<1+;6@b`j{oRnD*jJ-}vSGKo&pBw@2&X5=S9 z5{ipl%FW~)2(Zex@q7)H2&mw*K$I*(lG6>b1s%A`@8T6WMs$$J!LQ-Rc)4B%<#=(H z6BN=g`}mg6BPALw-UZO3{%;J;2-42HF1EApJm0o9J#8fajurbp+{4IfG;my74zqBUWhp4ha!I4QpT z0@MVldmo+Y9gE@&mxZq1O@e&AS}kHKzOu0hzNJQ3ObB2u-G`-v6n~w6#gCtVlst4- z&LI8g|23&>Kt#~6n+EgI457<}6B^dyDC$!qelk68%}u7~JK!bL^C5GRX~Du}|Ey$W z2qQz-IYanFI9z!_{-k^#p4P_8?*ytv_Yf=)xH=AuEDIlaz;7CihZyS*odZ;$psGO1 zoU3$z(%8pvxdM1au_Qu&SLfx&m)`~XUAkU?{jgaIK>O_Fch8=0$3!X^4^Ka>6=kY+ zSHRx`VBZ4Zs%yKg7?T(a!u5|$K%6qPg>lNnnRUdU&;&&9Cu zU4oG+j8x$<11R?fT@mzYyh@BpWybVRuk z@avHqub#-5x3z@xQZ#P9e#RdH$D|*aB0J7b%o)fU~TDV)h=EjjHzu1R^OTcFs5${ zznHgw@I|Qugx+6&L!b=H@I&A6O@2hYlChuA11_C-c)!S z;vu-)=xOIaIlt1I7z6q~m0^SV#0a&kI_ar~h>tfIa4BEGt6L z9>;`}AfBd+1?ND##MhXV|EY9S?z3|Q73I>bZ@Rbfrv`G&nZJ{z+JeX+?Xn$KVrA7k z&MZ!~nq(aoQ*bw?LU#4LPvjJtwrRW+nXkVnDN^EpUdKjZ05ZWwQ|!rgZs5A{^)$r| zu!0>{CHO6jaaK|J9Ssv4D49}aqVx3RK8zRP&4NwA!R3_+r`$E3E>iF=deuy(qgvdM z@Dnrvb%OCbwhgxLVc_VU?_EV00;rRW-|G5|zCoAW<9~ZAMYvcg)|(OL>qRXggfu>U zu#oS6Ns0M8OSFg0_-kqG;|k#P5K%6~GgUL}eS5WlQdQ2w<%Q{m!6?cvsc{%$Q3WwL zQ_}5f5b7;K;W%f|yityFrN#xpbgr%v5>5FhjA0~0F444DQbsM8yN|(L0{Y-Mx{ASx zPpgmVUB3S+2%`vO<>d-i1XjlkCp`T&q2Dxr75Yt`&{dihL}<%&JV}!yoQnrDu%LA! z8Zak}HVU>HNtAvGlB;&kT9D5faglAW%_75P_=|GnSj( zYmC#^0sn86a6Q<6n#KQ$vkkPN92~53S`5KsVvH>}qO&Xhy-0Dm$5B}Dg)lH%_%}Cy z(1g}A8L>&Y(C= z#pVs#D9&eL78&ck?)t%`CYe{eRqULN+W5+pa>boP@a9lW%DSFLD$RZU@vGjy{&Rf7uAsH{z9da@=><}>bJ)r;xw>8c7C zp6A1>w^vyh^|0Jqa!U4M5eC&r1JFBwjo0)aahP&8W2=I1NTC+$%82?cSkeNLNJ|t4 zIh%OXn{u$_s(3K6=*lE%Q7yrL?VGMn@F?gHnY6Dt?7VDdc9ZeFvZ3sxRa)CFva%X~!ego5eHN@_ z+NKLuGGBiSR#M_#FId(4H6G$5=)mEu*WqE1Ecx6kyh+!Z|Dt_<;tYSUvF@M+i`*v; zNITq*eI3xBs%;(Gw`B_?#ABt^E|7Y}@xjw{DY0L_zH(&j)p)tcAzAMw^lb|B&1`lT z<~>03i$F3IvDkwDxrOzARafxl0+E!gncie;8hW61&$xPCHLp&$;%V z?C<=X)G3VJ!|FtnB;NM$B#7HvgWIurzGWs3#o$rYS!Y(OmtCFr*+QRfvI*i zH#mcdZ}n|4ai@095`5rMox|1Gkp3z)D|0}Z>d0y;TaWF3*VeAzy~Uz*vZZubg>x|} zi&z1pEw3YG;>#)S*NRErCCGq6Dix62#?`ooo7F3OfjLDE3O|6&v4?6^+$8)oMM%Ci z%d_lFO1aG9SvAcRL(!IJ9u?CDs^^yF`*OAMF!>yWaD%a%i*LwQv3;@A`~H;gd3?XM zM+&RSOhtuX2`hXiXw4&fZ4>z|&qLi^2G%00wjWH>|<_d|pPABW4 zo;00*oRLQA+JOot8>IgvV#kq2ps zwy5A;magY_rTtP-fOIo_j*{j~+_sc@+6_W~Wf(0YsgaF;s%bYZ(&(IuHfp$hU;|3#cm8mD%B^S@H$%ZronZzto?=7(S!~$u#T>N_XQnoK%entfij{f zEU^zYpa$~Pz-uzk{Cjt|cbgEBWPe))K~7WknEhy}8_s>SoW0F_G?@dO_iSctGZwFZ ziZ|=UEgXeJI@iY}2-`%hp2#&XdEh9xRiz2^6$idCb;dQSvuB|(i@0HXobH;YP-iv2 z+3Z)wGj&ozqim>1ibp~fZ0XBQ!3nMKlDyA^pZW~sM6`sM(^8)KvJI7`rf-m1=Rq9) zbAo9l3|XK8^(#dGfIocp_s%< zfUmBQq_=URtAO@!Jw1Ca>RT6M;hpFPLQ>v`^$VOR*2y^X;9xSn2)_E_^KVrJFiyzx zy&!x{*3LUI}l-V|} zTTP40qs;i~>KZFabsKslrRw=Wi&b3{V(b)NP-Eq43^|sB9-+sQJtzp`w|`F4^(swv zJPViZkjhd=chODc_(ht4beL_Y-5267M;se9sUWv4qpgyIy;uH8DaSo^oa1$gGKe;r zoBu2~y+q~7*P*bCTHmq2K*>&jA=OYP`6a{pbQ8r*J62C2ZO^v75;O$MpFAdbdh&)7 zJUwe~6Fgn$04I35`n^u@wvlG!g6hJi7`!-Km0PPL%s+F%_+!;z={64(1=LOltrDGv zT|XVvQ#YFq>N)$G4(c+8HywmCS72TEECGfi$DP<-AX&XMq`ezj_sURz{*Z$SwRmG_ z&)$CdB#*5)da^SHZXPG`d>KU3%<=<%nv#9HQuyJWnX5VMnG*U$KU4NFL2w@Dpatyx zPcEjH>-_FKEyTs(-r4-GEYIn5REqa>5fS-Fnej6r6tn;|2og;N+kNOKNVr6(s=YH* zbyy4!yntiDa`dWFpaYnH{gOs1US*Jp2BHx!S-!1iZtKZkKi__mY;sHCu@0g1Bm!no zU~7}`rD&^oxnvPi@rAs(ov&x`4VK=7ZW$?1j=6OkF7m3NTTqhO&w7(8T|KR%wL5Zj zq?tsup_#k39+t;yTrV1Io{3FA*1Q#chW0C8VLf;^uVNmLqwBe&o z2k|ZEoQLWl=n@7rpDsTHEJkI@dZd}D21M6YOZZ~PG|sj1Nh@QQ(WbcaX6lciynIgk zB#CI?J+;8~buX)vODv5Kucy`>$kcf@P<0?ncgf}_>eHQnhNS1tq2Z&cmFDLe)!ye3 zcy|}5sf05{gV~CftK}3$lhFITM3X(>$%s~qjx&%-v_M}@F9eXOakCYVJODJs1)OXJ zfJZ>f88ip?ZVSvH;Y|6!zgCp}FX=ld=o)x^IGaj&=5%rd0Y=kB&;#3%+5CVjM6-Pv zL*sRz{aEjRNDoVi1u!B)?WZ;A zb~Her+|C>?KIKv$yApWu88cI3I%5jxkLJ)H2ZocC(YOWSj`r2*-&y zt$dtda}|*c?}xrS9)7NIk36K1m2loxVjwn}iO1P|4DeOD0J|2fM=m(KL(M|8rbjA& z;0L^=SXZ+N%tZxeHud>Ks)4#*++p8s6IB@)RXi__+iE#2+i!ePo8lwI=bJ`6v{-C; zCEBE`1iTHCSkl`SWGnLRuB4IuHg0MqFjIpEH~Ogsn{thQuu;+~3L8I1je#%1omFS} zrUaZMq|g*^?hkZjyX2TtE=J4^kN3fU*&~t9`P;f6y1!G-%4Ay#{*Ro~pmS9v72{zC z73=|?Vuon+QG3}(aH1S)s*{L){h{nD^?KEZa(ej0zGp$DRZyD=V$~kU2}nAw^w#(! z8f+^`j}Fjsu|In$MV%yA8S3N-m7orsrSj9d5c}4fi5L9NR|s1XvYV?s-q|vLC<33? zGN_Zis%7A2_?Q;;Km=7%-m(;G%ykjItg1$+n{H2H{Q91YageTD0K0DMP~rR)+3c|a zAB4J^9RoH?b#3S#YwlvT4 zvoHI5k(Xw5KG^@ix-@REh{R(R^bZo0mIFN*4$qh<_iO{#DQr-_i#w`pSM>DDxR5$n;^mc2~h zW|E9l7l#QOG^mKaSZ|R(#8#*_whDx<1J_kBC zktD*oiR7C&HxW2<=O%U`nRC;=djcF?m;2&7)PKP0^5J76#Y;1YgMnw|ZU;u>^#G%Z zL^YDq%~fmp6B&J1mbQHtQg)A;apIcLd3}An`zoQDxg#svt!8< z6?qzhBNBG3V!Rs@2aX6QvfW5jy6F18sXrk3uGu%^pd>_o+kGhZWqVI0*o^J!+tHb| zOIH2|6qft@1kDh+fbLo7Mhi*+r?fU3Qgy)Nwbc?V`E%1A0cx%>Tn-9GabDLtt5_k< z7q1KLPg}gLKM>G=M6}K9Mgf&uLqxyEEY?T&WG)qxBW;w_2g~DOa_1NtIw$Pt11Z)Y zeIWG~M<0lr^U(+9f8rNeVS9q4_fPP$*2|Y$W+Q>lbL6q!gUlQxU1M+{P1lX>Y;13w zjW)JzI~&{1#O7vW+qO2gZQHiK{hs&Vsjj)`?prf8UANE4-4J?%8O}S(w@bq39<_Yz z)jh(~JJ0icr^eCgNPE}IlsAI#+1?m|v5w@)A!`@~up(1;nSYgd?+>ewG0lKE*9Hs` zOXkzLW7+PGc~e0gv0&HGE5< ziyw~JiLsd4WF)4@+?G7h_cBaE+llKM{15g_nr8VkRv}i&o?iQTq9Yt*kN(Pb2lKGbA(HD;>b3;V0KdZ<~KZCj9|(%ysY zqsaQER7X4t%ZvX>UC2w<9GGPP)XwU-?fekqsTk=QhP=cKJ-=V{ru|5F44ujtNsCTJ zWRph7?WP)d){UyUssDjJxYU{i9ftC+{|-BwXPmgvJqNYmHzkX|$}}BfPA$&h;o+$t z=@XpsGZ806|59`WTQHX4e>faQa7c>THv>)!#A#Y(rhiwq@ zXkMe6h({s4-DkUM_49-OI97tf;*hJ;;TAeLM6Wfsid2NgD<;!$uxQu+y@OrxJ5yHG zk;13GRc|`g+yIZGUiF6acHyBlfa#p&HMIp?eD}_cri;D@$v`A-EZ1#3pZZ0W#a3pc zD)Pmz>a{|NWn@rw$9Ea(vfMq&@=PGQ9Psmp z_@RYyI6gdOIs@reu6xRaxPkQy&5t8VsL9-8?uFv_-Fkn>k)nc1(Fl$;0ZJL?don(o zJaAT%+kTH{<*1_s2?rbx`nAFpH12LEnabgIP!gt6c_?Poqv<<$eV4F5Nf?e|YF*Fn z$tEWXTXh98N190~oUe(RXDjbEmSwdxDbN;+N?x|>uDi9H*ixpKNP0-HYfsaKql!WuW+vRqabJ#uY%v|vDk8K}}?l~#nf8BVp1DdBQfq*$Ls z%FMWbmdQW51^&Fdv{r#W^cYAd!k#IXEP1h7ll?~PWTjtL+nhz1z+Afn=&=d+EEA30?7$oe9Mb0lfzh`=QmsH1$?FWTyG={%Qv#>>}til7C#Qn8MR zS80T3o_ilgqLO|zk#h2(r!F~Xs#o3`lk@x0am7fg;*e7IXs&DCAIJsKE3EQ9p%Y(C zwz+Kb9@V7cJD{$#Kz-uepS40EH@e@^X17L%`j$f~OGdj0}ky?NB%XC9+s zbn9i0&owPF0OWvwh}|6dW%!(P-jmp@bAs4nIN1uVjbq?iA(8)ZI28CR8^sB7M5zC1 zytMi7pv%c;u{F;MhrE-WR+&+>PJ?k?oc2B6TNQm&?6VA(-z$4zKB2+49M+X~EAhXj zOV~j-j3TlETNzAd>p8lddM&gNZ%AE9I+l!d_4y7E3jNiluL-VEpE+PVR8BaOn#*PX z{o+Zn0{>ac-Tm;>F4g3@fed3H?3=a3GbWpAfsv^B7-;0BNBsH$8z3nX{5W8q{Pp< zH#78K8>E5dTs3#acb(6T^VqlDG4*OVi6rrp+}9o@Onk(V`YzLQIhl?D?r7@?VP6vj zne>5&(Umy82k(gP@PVqEQ1$=h%?YzV2YsL<$E*!To!gXf!M~{Ai2!n8Jr50Co?2~Sfl2AD z2oh{Y4CMC{wOH1iorx0;l{Kjul%2~gS?Yls}j>w(C_VqQyULG)@D%;j&8c` zy|Fv`SM>f=v+_@-ED;%i?PnSYPg}MgA3cOH0Zdzo(n|OHVHQXI{JVh|Pb+%}`> zWI!jNjt%s&6z+WW_tfC}NC!PR1lF?WigoMl#9TeB%|CmH*2pqwSa@+S)72~ayUs>WF zr6D>k+}F&zJ}sh@V3rEy=AWQnMHnv{PhEUvhbb-M!JomG+NhYv~sA;5K-u6 z8s^1%`WYjfC|OGvvI$?If|NciX0E-0AD(;Nr}d)pD!v+LF}B3N7N8v?hp$ zL%5)Jh=K!pVhWZRG+d<@cKh}B`S}Y2oNI9*e>5pmg?(Z>!}h)9Ud4o}AbmxtjEEDx zixYWgAnQGKRzFq1e+9EJZVN;6^fn+lx6!yW+~!Y`E|bG`pbvY2!0GW zyW{{Pa$(}&WxQu&Ex@yc6@03>p8w{H8|$O}E;g32S{=Qk^=9*%Dm;Lcy|xa)rD@sI zNc`mo)8>w47>r8`E_=A+b93iE{R~{F-s;_KVux%r2?=RV6^Dqz0HA!@9V@b_^z>VU zLLOVbB(8E%|g$HfOA3&aZAc2dKMFMFMKXKdHv{&6-}jk8~>D7-kBcvd07- zz1umUA9koQ%yW6XxXScdW=R0q0^y_OE3~sU%DFRVf%Mr{IfiI8@N&HC(BJj6b8~Lz zo0)6KHc*E=(yi4M+@9#>G3=mFe;sQ3d&Nw(f5|B`cNjy^6qf&X;!&1Zh7IGX5Yg*K zfa~sBf`9fUJ1jhyc4U)%Xw7Eunl+cYTpsa6TwtTFK7TdE|W4?B8o(V z;VUxrC@HBIXJvlz-wB{AWQa6!xl}*9mbm(n1?{Aau2j%AudB6p7uu#7PpJk~fuvTS znhC*8Lrzz@Agi*z(u$~y@(vm~t9m=rOB|&QU@g8@|GmRFUN5`_cjoY~v22p`u)L2Y zZ5}kHYi(59dJw6Fmqq(`%TS8)-Ua(aos!A1TGP{zn$Ix!Yj~(pX$jI5L)}+fpcf-$8pb0A8a^TIH7}Ji6ai}WtvzmGqJjI0T z?D&fauG{Dgwa};$zkI)Of_?BxgsNe-tcrKw3CGXhGUTV1q(vra_qVzSM2VC`>Truy zsII5Tk-j--gx&{8gA6ijHue%sZBsJQB9M&b1qrSQPO-{Xts|NQpXigBF4c~Lg+ahD z0GquLPxcG{(NKW3Tiu`7;o#F~fv*_Am)R>h4diH`Da7!_-Ah)?o`=3;k&K6FhxE{| zX>H%WOjzwXbTY+YwuIOXva)eUQT5acC!pMEP0*}BUF8CY*CKA`P>QVaxdsuGMEoi< zQBn4VHP`@Tol2B$xl-=5=+ha5K5Mi;aa0i@eN=9%3?`VXmpbg>i`(X#I%uMU8NTEm z3A}FX_|b!!%K4T-tNH_mV*Q9)D2|RGq8iRvL!+_r;Udu)d<58%y;9x z_kl-UdA%xsF0)GH-IyL~tBocdSP48*`K1C&l)CGR+UsR!N3K*k_!ZaDUONuT?KLCt zUwRQvc|I0! zAx#|L2Qw!^K?sRE&l28DhPl0Va~Ci>fKd|wr@vGqDx-4{AIzgIN}fOrLXHX9B3>W? zUvLF!aENapARsUxTzclswAF}8D&YT*{J@c*p#DSQut?~H|DkLuBn0UHP!$7G3B-R$ zlLaXX@;`LUfg}!(^v_l`uTz$s843i1f-qTN4IDq&j|B-Y`N|#@q1jIaiT8hAyQPq* zkp8nf)j+!9_z$heBT*s$hoEwiposrN$UR7BVE>_yKBT|@i}ZH{=@R_EvFZt=X^8(~ zra8wRKp}&G2!u1eLs!_%F?b2P9Oq{{j?4BYPnIXOak!{;LQa1Y{L0xpoVgC0QRA8K&6+ z6S?t!nULTj|Nd`niknD~{}-;65?KT6KigHSlWNsB!BKjh1Roc2Gbc+AL<|C=7vnMWWLEC@&iQ}P!JG)c03I_mdkH+Ezc*#FXu z;75jn{9l^?&igCzKtNFMlTq>^@RKr7v6HJZP?4K=M39^DQ2&2>wEm8!D;t4;u=#?6 zh$QEVAaf_n^uoe7Ul|~O;sYj}j=1hev^uR2WkT-CJaA>bmrzPI=Rz>{;AR!%q=a5I zJh1+|TPJGG^xAbpx5lnRhDbFy+Ln#K9@-aH%@SPSD4PDrYC*0qJ^eV{@85*py#im6 z`b%rI;w0x@`CTJ+6nTfti}G6J-1+hJu@j5z9YutCGbU_vqzb{P%oen|s!tPbM3jDQ_8C1Qk=|vx(Z~tyLiVp0zX4<# zu!|S|hK~pzFEZXu>Hvr{C043L;x8&{BPTP#G0-Q=DJ6oDnrp$36Z&r@TZsfS^C9`p ze=%E6x(#LK6brtEaZnjIU)&tVA!4-w-eOMR4)lh(-XeL3E-lZwUmsn*m- zeT0@-nnY8Or`pQ%PcLdb9kLNOG=Eaz=B4Q3`i{dQ2nU1{22ACDp4B1Hbt447gOa&U zuurml5Z2Ia&jzZ^+!S4Xr@7>xgBe*mD+7o<1t(UL)vZ@-&Aqh$X?T!ew-mzs;LLN46uahv6_ zf#3UafCc{i+|(t_$Vk+b5+aUCO{&fG(*}OMV6pNGC^(mjLCqy=V85T@F5NGT@=rFP z?IunT@`vW|7P#BLE*yNi{?5S@j3rrsbjDz99uJIgryT7#2-x`hgoHB-lMp6b_zIKd z7AAe`BSu?|F;=#R4J6G{g;$_-tMMSU1xxush=D(f+Q*|oYaTSWWSb{lni-g3?Iy|_ zcpstJ0as>~7phJ=j`?#{9%5`n_ui}fsl>BK8v``8Jc7y4!x{g2mV>tUQpQd2xIXB> zGY7yUyv8yZ>BZB6@8qSwL&Cb?aF?>y>KVK3gFIFto&(q75&V(d|7@|+hzaQz+e6oR z74{>8PQjn_Q~*$Xc(PU|{E3bQ^lMA2lLmvi;Z&L5{D?jbdK<5x3yQck2=}c)-gFV5 zXRED!RT4cA`?Wj#%V@xnni>>6XB#?5)enFq;hF`xSu-x1Yu~3Gnd6BXVV19s!$V;% zQMLEN$NNb}cOe9FjJ)-6zefX=jLcaVXlFHIK#5TyFSXz{FfI2wF*|u{1jd9=Ayv%E zrqx9OUB)2l8(ZwPxg>qF`Ie16zId*T@a0+R|Eez_v4uJq(h5e3EQpQa28pZlPdE^b zJy$Gf!OU5@$IbuILJ5TWL4E=%jCAf?p;jzPLmhP|ex``e)Tdgrn1$9af|#b-sC5*y zvN~E@UNN1V4Tf~;K-aUQcKDw>j`^P2u1cm=N{OMbu+&d)m#l1@{*q_%@J@cHF%IYO z&2Mh{v)wHvk?G&q3sJQz7~}UzD`5agb^EZgMZ-+gx*6dL`&|BFUA+{dF2ud~{3>}< zinZJH$PAz6Uv}Q7Vw_6w21$lrm4%c^#fO_3D8nK7b*E1F@7?qhHZ9|@iA-cFak)Jy zPGbmmN#mkL>O2#q@u-c#H8DV0nHmPT&>IiqE_;Xw*6N?QTr&BM9o?C-gHlw}V85dF zLJg}oM88fqm6sb|dv9-@7sNe5XkP)N;mI=t!NHvI*r!+&On#=CYtV6vp6-~g>Q8c+ z>Tct(hEEpWU0KXqw2m)DRa3kHKl4UW3T`UmZ-4A3*&|`|DDQTdkl4cPWVN(C+ z!U(=5ZnC0TzQo-6kKgLbwy8<73XpM>LoFu-21Lfn1GYJBdIP5eiovjkX;l`S$? z_KEbG@E3}vOjO#KB9eKqO>~e01n-)moMogaxcNd(-=)Cdoc3e6)MyZ>OtM5EUth{k z;?&blWV?;B_FTz-OJ)K{h$ziz5X{26(p;IO4p^w!$H6>C9F0E@IxG{ymAu8VB-7>8 zO1k)v&75$K#zmt?aQ~{aR1KN7E=FU2$t)^mH|k@n-c9^dlyyV;K5`d zX-uzYrfBOXI`%!lV=vR7R2x~UaGsY+E^VI4ES+#nD5A>$u$bH+gk>~g@ zZHiAYO-Q`4xTgbAcFNo`wVDZRy8%K>(Tb4=k*!PecLeuZw(s$+aDp!PL!rEER4$%) zT;293wtKx+eRkw=r`@ql1cpjs!38EG7_#CK=z9~xLSod{{pA$WLe^W< z0>P9`znw)#h6pQWnV)>r)rO0jY@$D|glF48{K&dx2gznbloRwYC~d*Z(j5%mqfhpr z!`&N7PkJ2de!nPUO6ztu{KkOzJz6mzKJs(5<^>80Kr933LG^H3uzVVoR2j8ySH&41 zWzpU%1J`FbuEk`ln1i$Tch&ayzyliq#y^k5MWUkw2RuifQG1BlEYt22ud^|BvtEvp zht#(S_W=5hQ1K~q4wV$_b4`5RU36E7!r;K^J{%KIG3Etxdr4Fec}b?^vof~}=X*+V zkiQ-dl^w7&;n>5yR>NELos;3Q9;PQ00Tt7I!`|-@+S{5S$70RN_`(FSNj=lX%R{$) zSr-~!f>SsaqO}PJUA4LCw#ggH$-Pc*y7dxmRc@1L{d}^{tM7zSp?_NJGHThemdOCK|Av4#d929-=rRZISj|AAU-NH>-+lM8>WC^ z(7IOzPcDS7?~>k3ctVi)UC51jY^eri48;X!<|$G!t(_a>QKI*N()~GC#}8|L2K23&!d+Y>9BWs=fK~4=Qke z0O5*CDRpDHI;ME;{G`V1Ef8%gsTVjN$~}{tRon(PNKT@lYiAa1Q4R!{%D1{HmN6C! zt`t#^F1$_A zE?MoU`>eAd`4h`OqCb#oy)Df@M_IiUX`N}s(Y3E!iiTxg7yg1h##qRY(10vzy(OZG zCgVAd=hlx^J_of@9$eS8=#6}5#|>M7e9qb-l-NM-DvT> zirs&1s$OC4kUVB|nttQdt1Cd!d?#ET!gNNgMyxHb+l=*pDJ)W0+kvIgGk!2KU6WJG zRV0)j9hE;$aw!WcC0eu~*6UMf`fZchWzc&zie6Z>}VDHHghtg0>r$`=65D(ZxE&FXtt5My? zhiAQVZ3S9kN*D>;NP6Tqfu9sR!n1~_HSXHq)?w5&1T{nu;RW`Na{(gp81QF%@_ZU} zuAK<4UR|yWHWsUP81z4=4WAw{zLn%)SG2f#J1qn~~n?O?-?J z!eCAAp^X{{pGB@Pf21CF1Hi03?h?OWA3p`YTl7b96t$_Mgd;dz4MJq zZC8)LTceHa2Waki5#a2{w(&RH1XE#bVKt}d->senu-Bw(saEok6$eU`LXdTo6sTGw z$^opxgu>zzFBJ_tf0Q6qkP_iA#9yDii_GL4K{!_4x?eDm@|omi2$s4Q8FRUIazjvi zTkb;~Z7Q%-J9uIdp9GqI?p;rKUxyxuVs~l`HKd~Xh-Dz(xdSvt@y3~ZU%3vk*a78Y zD#pdRyWb|@Yfad^_^tB+67+2-mX&vo@q;K8%5srS40Gf z>PvSR)5TO2O*01ir+9L1YdI~cvuUj~W~TyUF>_G$(15Yo;-$B!<8VD{JAbe6N&41-&4bCIqTjr%S#U&Ed3iOA0#Z-3F<| ze(lyM+f9bj2eehzQ-(VT!!k8y(d(>DVt9&3olHtS#a!FrzarY8KMWg&Ao<3Ik>rf) z#-t8qYk|5j_JBqDq~kA`4x;D!7ACQW zdy-E-Nu8v5B_6^M2ec%k!;_2ZJH$Lqgju&cV(RVMTc9q-mb7$?S8s79opnB!>b;>{ zaTNK$+wBUyp}?{{UZTw0r6-Q*P{HQ-5%WyYH31Nh)%R&CWWk^3>A!NgWs?PSdM1AG zZfm0Hv77K_6yY2SzfU1ZZXIBcSAOth{M9(#*xp#r&Fvv`RZgaAxp6+?o<>qC_}kvV zc@kEHk$GhJSIs5h_QXNVt$3u%Vd&{(nBVikgC_Cwz^%Cyy8E_FIkxG;j_(09LVr1b z;{Iduw^p$STLE7fYo33QppJtmo7_wnx%qSq;;nD zy{{?+rlW`Sp{^18Ti@H6cuzxRp21%VTN+j49MuOcw|BRXiSQhDGlv-89amZ$zR1}x zIZPgL12fE4anX<*g95xMN2s!60rMstF&yvw!VtyGsYgR*#t z2hO2-@Y9;^G6K7`Wy^26`bl+{6oExczHVJz({8(E?+lHfV$_Q-mq3>~J-2?)GVH#|crl^Tr@o-v!dZ6&+{~ zIWM%gjBfqyDUuT7>YyMd1qLDqSbEYHaP9+x>G;xH;koy@^(S;!ns@z=Tbb=Ia1T#a zN7DXm2{p_WL{;^e+XceJg@<8tfvLLxq-V{Q9aQ%-Ha363l3WHSSObo>>rbceqefGB zC6{3B@yNzsCJice6r?pcFHt`qI#ywQ#|}JkS~6cI*Ky<65w5FlfUDU7`fhF7&&Qq} zQM5i5)ESq@t(h$f${g&ovG6TA`H3UyC!TJwztD+EL5?o>k9ul5`cFApmmY}#l?^p9 zs<&t2VoI{is7(Q;z{v9c1o-otfL*wRN|smvkvM6&O(oXzKCRP5iwiUdN?L0(x4<$? zn@>6<^kqnoo`gIbU}?Kffh$d1sUn|xKlQDq_g{}>n4AZE!Uykf4G%+-&(gd{(d(J6 zF05p~Y7AdS@WNxofo&S;6NAOZ4s_TnX>zO5XC;k}<+g2wh<_h!*}wxx<5gPm?VX>tI~>cut`TxAg*J*M z($?QgXELEn@C!q1m^G~?==u$l=nqO- zYgF$%@8!mIE&3u=U8MG`pE<#~TJ(fENajs{R9NYfjYz6c$anuPBJ27x0jTl4eQrx@ zn8ukkHMjO3;q|QN!SJ)pNZ;?psjZjaL{t^5JBoy?4l3cD)^BZ2~jiLBu(*;TKXhbuHPqTup3sm*p0vafOYaF>Tx6#oCJY zo^m;)987LXoY!F(&k#>T(C|`N+|Uqz<(=-(MC5new&chKu*5Lh(g?K^OmO-zy*`D9wn*(V9 z;&nYiR%2^t!vxX=LcU`>4s1f^Ww9CqD8m3uAB(HJO;oIh&B_ipTIk~HwcHNntUb!? z+UjQauxxiNSVhk*H^@&wcx5Z5Iwt=vo#d zP?Y73;gPM1&~2$y*#%O@+bsNeg=vcoF@61~^or9`;VkhsH_q8fv%7Xc9oK>u2)ftF zXRX~6;<54<f7 zlKrsC9d56T8tG5mYSX&T+cj+TZ!6U=9Ao3L=^rRb^I*w02Q0xnj&k;uWLKy<1wQLa;~n<4kwvoM7L;5D)6_ zD#+7bSCGdTDc(I@8?B_1yoZ4yc$c|UxrF6eOA0G_3pWB8ogY8ThS3|cb#`E133EHp z1$13(sJg#C$J+f6JkOLKccnhRf^`wl7&3#Coc)WGPg@0=O(I)Cx*OFTOBJ%KNnCYP za+Ue9bu;3UiVe<+E&8c7n_l#8ee64;Rf{zz|HypTy&pT0_bV@c7drta2S`}dg}#+V zf?%5`i*tlKzG9k~ zShO((r#QeWcCF&4^Ak!~f704VlJV|jX7scpu}<(Ktth9NUqMp?2XfdvG8FcCY5a^? zZQ1*8W*T}pp8ogL5W$?oJvJp~z64kAmJGvqyMwC@`elx1fjY3uE82=9-9#X+^^*Jp zxD5W-DHzxCG;BmQgMIO7Q}avUWGj#bP(yPpKQ1ccGk+THjUfbs+bVuko??5yj+rQZ zwq>)u@i(@U@jm_|D^>;841K0AMizx!*_W)>8qLTKv_KkbZ*&v*uETehlX z8bps5N`qReFNRS_-6KOL)m!yW=NqG2XZuGpmP-I}+u%R4N|LLw<2nqxS)cemJtaP; zFIfk$z)!_vThqYe3qSNz>esb*d@TTd=c{wA8D(j+>YvJ{@+q3@_jl*!gKj@5GXc_p zN)TV6mGrpctsX{1QOYTeaEoGsR|$ZrznHE2t|iPZ&ZzXP^VDp`&8q`ThA0}f_1kr> zySN8Y+)%3@;4AnIHgG*Vt{+w7TJzXhS`rhZK8XA~jpzxga##xlnCk5oLwKrLRm1wb z*Z2N0g2Ssf%DikF_DSof!tyGpRmVomlTN1BjJr|wo^`0daJ$h~tk8DHavq!Um;G2n z41-nc=hhs=6RW5tkbdA5v6^1Vmk6OQIVge7giSZBK(p*myOWfV9aN+OUrPtvJ3{0; z1ddM!U&3R|B^xUDK9?@h%x&CVDW9znHA88^dhQ&Vi;##p(T<%n$8^Yw!C!V-HEVPb zu$>q}+Fn7dE*&VhaQ;mYGmz1DnDM(h&{^UUp`;Yree5IfgsbW#*(R3LYYos+zL{9C zEBD&00A-HVHOkR?rx}7WzU?kH;P|A-$|V1DFVTr`sosWulihm}Kgi*GIt*G132^`n zS&$;#_pClBEsSz^^f|=E{&$%jJ6+*O69s)#B61MYX;Lf0s{_Ua3|G^phCp*Nrm%krWNo&b(Z%+LU3b* zmqQ@IPK&VNn>Sel@ehJQV5Kl7PPnzHwNT!-=eN&5m|MGAl&Gjn@Ya?aL7a@F5o7CE z0C}b5{T2`%4GMgyWGTJ+Bd_XKkTy{q+Ks#u=tQ{KEeD%F!yQ59xba6A0=qQsF>{YR z!`dAq0(N1B>gw+xBF2iDR{!p8m)Vdo4v5PA&U>utqvGFb+~;JGXZ}VofWs&tw-%f^ zQ4+E|oI%83n4u?h#2&H^MAegHh{L}R028sH8%sO`B7XgABM67zt1GBy*~O4nD=_?j z(tQ6%^WrnSJoH{bLO!Fxq^xAyao!NNSJdsW$^NTvZ!W%Pl+7$7d;2%+%T2-Yff}+o zG$IEI7rT<1K*QbO%dc1$#W??z6S10m`#;Wcb^SXt(gUK^k`Lt#i!U?N#FXdOOh8F< zPN}42n9cX_{)F2wFiW>rvvfy(Mw(R6&=nGpK^EbV{Fw5jJ)xL#J?Q~F^=ma8>xwzQ z%U$&vV+L|_jstL(({!l;7BX^8$pSL7dI?1xu$D1lY899DwF>=YQ6U@S4ky3tj#-J@ z0DZzb4{}(i9QkG%;&?`8R@7V0U4a#YNbZGfZw8HC^9>Rva{up1 zOyp-c0!Ev;6vpsQX`b5An?<-*+-F=mbTr+SZUl!?37wy!dZp{LMZDf*EWl;IOO>c} zqVxyf!97_m?mbN$`-IM-&IB0pM4~_xg=T<9T3B8WbnEn^VRp`j$RZ>5(4TMeF62G7 z->>-k3&ii*4jQrY1uLhuSH{zW=)ts9CZS=wwM#vt*S;t;-z599G7H;V|1qk;EWS6oJb3Eehxz9w`owRFr?T*DT< zvT=aE0Ylp)Qp+e^49=z0&-+*+d5ZRgQ>JJBZlpRD`-PY(1Q7M-lAd*uYs-Cdzm}Cx z+F^-d-ioHpIL)_EiiCh&j&u*571A>cOM+8)RNQFwvrTVP2MUv*7lN3UmAVmjtlYI4 zOtM6+V)3Pm<&LftRn&J!@F@}3*+LPUI|X|T40{8G`u@mYMhKsh>$$1>iQ;dW@G}Mk zte`0lGOLcitr)o!oet%1H=n{!dx$CAe4F>39*sRJJ=xUr!5?&5V>7k8Sckd{0&{HR zzH?4-XxZeJ1(tNRx^#=>&Vsb2m%PlMZnWQ_3h9(lbt7fIh3S%=>p5s*p}Sv+mpKd~ zAChWS8v9aV{Pm*f*OTAH=&pf&5>(wQ1yu)YtTT}wrs4}|8cIRH>+4MUAsE`=oZ3H( z0Yg$z9Y9RqE2A}}VO1dbW*viOLX7VC#LjXx9F;jL2887sw_+}%-Ncu;Ca73 zu+Ao#R$XVW?~ile<$eo&Z+t#BJ7VPDKsn#(K#L^-`ri&=NMf3tH)mcnj}1hxg5Q<+ zr95xtfp;`oh5T#z>9RivQlf%_rv&-N3x%!mrx!U6m9!=e1F}77Iz)$b$Jlz+8OEq1 zqrA$t>MGBgXc?=NB7=Oezx_8k?svrf2aq<1KX_x!_nMHOg={>Y^)AIEZah$hFM3u9 zg&nuZjP0{=99`1g6sN*KejQnK=6X6KZ`m-u12DTdQgHO%aY<<3?(cc53p_kW1A658 z0xPtYUnshK&0SGiYjCZ*)*2-5tZbGb9Nwxh_{wksjH9URyJ`9%{7scFkdNDfZa@uU ztUS6w>>^h{l{Hrnx9Mgjpo?q+}Xhbd1o=26uwYVchKH%CtjQ-5Hl{) z^Z=2_T9r;HyE@;5T$Q>RS$VAy-^}bnj#}+(64=Nz9vviiGIj+e^EtexsLz{cx$iHnGMXRxm^`J( z8$d0leIGT3hyRw(W<*~R*6h+ATQC|vxq^!2zDq2PwAN8k{p=j9IQ?+4Rke%^l-uFn zi+X6R7odDgk`G)sBB!+8@sWX38mvBEB-vtBzf`?@T%$A1up@OoxRtfMd#2kpbAT+PTW^`qmLN`IFbi#7N z!*dLrie*Vu=PMe}oe|%om>z;_vSuwncg=<^CWX_TFH^R$-G@=NKhnqMu-sLR;qf_l zQ2u~WwGwvc!*6&vY@KSKs$~O8}5ft}?e@|=!W=`<8wOdL( zDCX{UPov^*WbD+wE#qZz<+m=WW%K5namkeVmjB>n4cQ5;>81R0z+%C=Q_Yzw=0u77 zBYRNMNxg#OE=Vp8CxOt+&@=nS(#c8Odl~P6;#?=k`)w`y(K5unQQZATgT+z#_`sql zv&2dEo&SX*&3Z>qSw_VIAdksp%#;4dbm%ej3pMkMi;fpOBQ|ilcx-ZDJx=zTc9Ous zf9Kbhi3T+jDDGnw4t1v@;WFs^bFiietgD4B5}#+a%<=KeA(%$c^qEAr^z`*I$(Gzd z!UsVrbA?4*1wFUcwrYrm??D#Iq_da)`B~wi{PNMJH;9q-rRgqNfVP~lW|TKqlJjj{_zz4I`X5wnI>HMP^KIts`wH)|U_qCR-b< z`16UM^EMh2NJENOe;s^;o<(3Xax%XbBvK-8LTY9f`!MLvsq{y!evP-%6|@BK`a#m% z8y7JqG-OiCzBGus13WA~+`3!hxK5$(Mr-bl59g(AT-9@PqFhF)0l4d3SIZA?hj z?^bq?e*N>eDR??iAw8n3=&Bwv=CTn4WV=H5i(eGn%186t$RABkQuZiRCr^Wwe$UMO ztV87dD!vBDbC|KHe{!VNOu|8zG)du92Q`%#JN9wKKGVL^faJV6m&E}>@E0R=Oh>kU z(B5LJ^HK;`YkDe1qx8s7%(xzq$=odoD#7I|c;cx37Y<;+vd<2o14>n<&G*D+{}GCT z%! zc|Ev0esiaqYu7Ud8yXo=- zWge4n))OWcjz)j~Dq;W}DI-|vludH^0aK$b8B=LGp?XWZiM$g!=!#VpoA$PjSYhx} z^8Wv*dZ+Nrnyzg(wv&!++qP{x>DbmCbnK*Kc5K_WZQC~fJny%5*3LYRIcM>z+Nc^e z>KwR5fT(466FbhIA94nuhCt!X_r#XCmI!-l@!< z%e%&xwyJZh8iBqQS|>R1yy}o5@9Ot)>h{J~g&yC;^r~_`=bDvAWzvZGl0EgR398CB ziLm&&mtXj~!|{C)8R|s&BJTQx!L`xu&{OyF0TjrM;C<07W+B47^!Ilm;?nU8rex_mwr6lw42l3uR4-nkFWyODJmozBv_k zl6!fG4c5MT5xdV`18<}H=!c=;Z^7UIYppH5adquT4am$l5ue~cWBlQl(XEDL7U?k< z0q6kRThN^d=1pAQI?iH?HJu|4A2zxcQ+Q0r+tC@+1t}FPv85_WISH)w>aOR$trj(K zfAXm+`--F#ZKj_*a3D-d?kty+aJKAqI-jS**6rhh&m8DwL&r7f)G{E0)M`{hjN9&` z-ue{}j##&%w5!494KMlbJX<<^<&N;00YcW%5!^|MjZD1?9eK$3urYgl#M1i|^3zGQ z8?Z__5Jkp16`?G zCFrEmq+ILe^OM1A*bm%bX)?0Bm=hw;gA| zABs9{j4>_HJ&tT7HZ*@6>QsReRXC$XsjsR|GJyE_Di13`>c(sNKlS7`a#Nr)Q5C=x z*;RHQdp$ow_DgVDV+$%32|E%TqJIUC42%sme*Mp_Zoa@7q2&H1#JI3On@@O^DqgsI z$%vxT|MhPJg~Jn0&>%Zt$_DOlPpyZo*KmI}XJ*_>{9_5HmT%N%vBXIdfWBJF4a+z0 z)km`$NS3P=-Y=qVWS(1cfzot9Dh`t4FR3<3M?>7HfkGS>u$hg?JoNplp^9tEfHhbO zvE>D7)w&gbRaK90{#l9hM;JsrfzhXm>U|u#XXr)QD9Wfzz#Ism=wNp`@N!_$N|URQ zLBUHX{2gI3XCelVnf5}tCJ!eca}>6&Wz@6eoLuz{R_bj9s21Y*sb%!UJ7-6K@&Erp0n9pF;9^dgzGlz0|UdZV%6*Y#=|<)Rh|}ihXYw z9ZP8WSpA0aF?DH@ADBy6Na(AviA`K7zkR{E7-{;yoLOQTS$g>P_DNkIOJ?y1 z*(CgNndoLg?TN|$o4wp$WMvE??_J8=1XPA;M3Ax&8J@dkn&{T2=p*s>v1mN1In)@B~$$tQ6j4 z6+DG9s3py`A1pLH9oGB7&DcF#V)Zy~9_rvWQpj69!vUH{SuN)PlMl2a z^f3}x>+nVlfPAw`#NfKuBz294b5)^5ub*hhca1C+>SbT$|KhJe~{oKI}=t98~I&@69 zDp|*v*$3glY@su-o)yd*%J9;kat=zRcn(4`vwFtAl8nwv7^i>q;cwf0?L3EWr+PCD3N82Np zBDJ^fVxZ}P(^LLy(;Pn6-Q!5>2=8^7+>$-u ztGOq-WfNX68Ot@*t(Ui~-uh)7t==l`!&I&-!jq@A6;mnEmtX0$X`QTAMT9#_y21fBGcRTnlyJ=Ay&gl79obCDB)bPt<8 zpnWZ!NeB0iUc3ZIb9$)+Li2>72u_nRwglzDh+p=>=uD^wlV!wDO05^$=o3aHJE?X; z)UheDdixZ{zN5+zP{pAmcf-VXw{DMIg}c&ObPCS?r%(+9=gF%P*c)9!4XkNVGJfEn z4_|JPfvB0@+?M{pYasqVT(O4c{8gzE00~&zrfnW=vk)!)knN6rBp9Ur*G_QDxN6?A z@NgQC8S1{!#kvWz1AG=?Y>XOz-bH0RrbIiCmF9$SzGVVB_Y_7G&_U|mQ}EbzxXW9v-3iT0+|mqe}KA5A+1OWhXZdE1D_5BTXM&nE;U*|hIJjT%7Y+Kd*h z{>Y$|5{)K6fX1SU_Wrz`N8YyH=c;wquEASzMQJ)|;ofDq%Z$+FaO{p1ApnGa2yWN# ziW3vF3umk$uXo}yaj8%;o4*Sk0Qg^{o*YYn8WD;+KAbJ`Bx>L>v}LYVGlAC73YgBG zRl^w-8(|{Id^ZeK*TYEcdXEEz{E~Vifx0dZz0m-E@D5+nPIj;-=Fnd{aRT#bb z_;j>#G0341?$DfPB9Mv2chL^HsS2&g41nZ?38?=7)Zn*xB9R_>( zQiN@aUp^h9Q$6gO4bvYUwd9YoVv+?G?gutqq#;7de z>PwGMPuL+H$j&6{5W7@CO_lIPcY!J3eMN5EH<&ruI9V4tf{zC#18} zav<0(r>JkXdvlIGM;l@FsAOHjO1VMTwKiS{wKC}7*(Paq z(>R`)C?ByA(tTJOA|L9ODh&3qb9wK_scw+={6(XggV49VXHKM^q&50`R~}Yii=SP=>G zJ1YPw{NBxD8b_Yf=my$Il$?J4FKv<2;26O*8Q#2jxWq*6@tPFwC2Q#e~#;Bw|Y?^*Uksae#^!z zz3V<8Dls2JZe%YtY!Dl>GZ5`9LF8owulLM(VsF84kg@JjmteL>jb=Xe7qQW?2@rjr z4TusSU1z=N%O0Hxmo%=4q(l++-HzfAA+h*~sw6zPv)YSL^4QqW2b*1$sXuu6@LF|t^To(mp-~IB+Q+chW z^sHl}zq*!n;n|qe?|5hA*>4J|%?>j904?!@u!LD=jHYZnU}_8X==e4=jgEYzDw!+4 z!W}?2fy>2qUD}D4J;aM+=(hoEsw15ts|=`oA4UiIOsd)V;gmP6JLp@xL?Djx{9-Z5 zDrO$xR1hIu9vcp)dX{_jYGSZGT+8mVJF)yY58jEdVpo)Jd8EO~oRZNdlp-xE0YC2J z=D|v4oPB$DB$#1yg1GY#9UN4r9XlqL`zFAqLvzLz^+KAY3MWgGeev)P(iRpk+%l1{~>+sn{8i z!R&`sGsBOwbTp1+e$K6Xu@Q&tRrf3YjWIya{UGtvwS92wqMC^RNa7v5VmU7dEefCp zedcx?RY&zAXD;=np4Eir%TV8Mz^>@Nl-89lZUC&m>3k1u+543#PPgH)1hLYv_`xU; z%9%gz&-DEAomR67gJtM@_Z+#>%Q+L-1$FWrniG3}!$P}cU+X+_NxBA7eB2ET&siNX zu}3IxJrd=L`df)yuqSsXR@c1Y-V#uQ)!IpwtF8W(SB|ywHQ^y@FUL{F>V31tE}!I} z=4H_=>EFTq&t4U>2VeD_KFZ9X%I#nEBeFI5>S{Bev~FynnI_H3^iNO@0@Z2#oYRI+ z)-5^R0UlT6%jTZJIMVSF$8E~eFT}}Yo|As#CC_r z7v9boit3~V3<4Nrbc3va23wXa*aL2)+3A41yQrf>^=UzOqCx{N{Q$bC9I0AKGn+zQ zi!J`YR_=LQx`6qV)C2JzT1kLPt_p<=P!rngF55H=1OrP37_E|bZ7&y)Ta%<{fY0oH zjSy08w7SOj7|1X)D%z|cMn=iw3xBeuPeueI`=+XIvEFVjG&mKrG2?y)FR~z6t|_#r z@f$@j3#tV@7pni!rk(o;>C;w`kon2hprk|rLh79e@&jHRNM?{$$8SIg$Dji&%i6Al zw{S!`FMuTLGIqSm2O~o`cfp#=Z~mXt*&Eka9GUc#`X91^6UDQ8kuM)I9ZwYJXQZ)hEJQ1>E4=l1gaQC$z)OV7ka!8Zpcw{z z4igSi$=qdFLp8+3qzWoFip8zNmJqH4RY1UWiKXvQYzmeUn~P)#4pz`j?>Zf0I-B(}r6S)lHkyiIvrTp~>fGH%616@ar zpZw68BueCNIx_eMQxLs(N7|`Mcs$mWJyZ@Tg^Z4`i?n>d?D(Sv035b#3KP@S$2r}Q z{rIk5Uwc=I!nh(&_L-)9#=l{nvm_YI9nW=vzllu^SH=Ktaodp|R;X@Hkf(Fb)-BoP zMiP&FqRyF+J!zFvp-jBmm!2(Z8Nyal_pT)x71P_N>9dxA!t)FKHyUZGZ^IMAg z%{c*$w{A`Ureq(Hz>5uXV{^tpEPy(57-Sh59{`o6%Ek`*DL8xdbYbQ%N9z_`@?#1{ z>f+o1$e#DE`heA&M|Y|$FiG0c_1hE|M62lk_18ufGm!=J!T4Lax7)rWuy^u;(CU%2=muZ=aXlR; z&<}uIzgP@ADCK5@WclE>u&Xl>iMNTJ?S@X>z0QtB?L(`y4lHYf@uhtiX;|~bELkn% zgBneL;3-)dg5AH))^-nb-5RA(izSt?-<8NTLgUzuxLy2rw6n9SLdclA;BSdjPC{MM zMnZ@9?43>$C8>_-7tP4G+k{<>uL~t(1rES?qE70?zlL2PnvDFT$60IY(|p+01}V|~ zin4B$(*PM@W%UL+iiyO{jCbi>s2utMELY+DS8}y;?Zh$u=Tx@j^&zj!L+tVHg4l{K zET>XMpe@nZZ3jBm?EDzrcfNPha+em*mq_X^LZnYMliWl^IrC^dIET}J8Pm$x6&P?d zNNg9LA2oqR7@1HzS`nEyM;ilTGHb)!h|haFVQ2ZkgKOo<=XKOb24Dwwg!*M?im7s}g>$Mv{F-yjNOAu|^-It^ z7$V#sK=3kV+W=Z1S^U|SGjUbengsio2@f5fZK!2o_70}KI=08&j2O1oh_0b9IX93C zIX=QB+u}ibAlTDAEaSu}_Zje)U0deGV|yZ4k@}o7y75zMpu%!rGC73~?w?V(wV%IN zn7<#L4obd9DI(G3oI!|G2y}YIg*w?G%wbk&V%y$f zDQ_Ts(b*2EghOAQ>fKI)Efz?(MrDYMPKaFtb&89P2f|1a<-N4`R!#u6dKWPPriJ>G zV9I|rhUJyKBcA4oCP6@=F1P!NXfv)X7MZFt;b%C4G1J7HSgNxzqF538d+H#^5s=yc zB#A~Q=po$zcSKWAhSuTAN9JZ!_ssHK)~D!;F#l#pC0I}YK>Tieu_iI(75Kb~oHnvc zDv|Xo#D1XtUHZ7tDT@H$UY4VFPpFR#6J9u#c!Ebi5X>GX#~cAcGGe*1tN^Bzh0VP# z+~V=nfH)d@-YD#{RWA^R)g)F{f}zkz2R4d*PT8aH!VqM1VT*>fn6!eR>6*x~mMmsm zlyRFv3NWfUPG|+gA(SbOKK~V^_mQ%J=SG`Jo)*uaf9U+$&7n&X2sL*tk|Aw8?Dzc*AuV2fwU1eT3Qk$eozSTrYJtxi>k;kb7 zm*YAeyCAq|WbFt@(Dc$rXC)Plevwh8hqf_N>4{E*o5wvR0xB_xx&l|`ez-1Fa*-F% z6j_5gTqxRwKTnp{Ai~e5Px~hem+bqn8%mJT<@>^^$+jPK2gE#b*JH zS@`K!LIv9x)mav|+u9cQ@E4mSiGF?o*{|M)&3Qt>=oA#d>K6YwNc#IoMocM@>EnxV z+xk#RnL>_$4yHt^u=v8!S7ESyE!tBcflTQqfCe)tTC=0FS}JQ`3?89+D0ZOunSx7F z(u~b)OdF7YYOl;W8uVs`ZT z;aTeehny3TZ&1R}ay*1=biUt$oy}sq!*C^!8oQ9SL6UZ&$k7dUds!Gft#PteW|S9G zNm&B|?EaTT)-49*LvUHDL7JzP_b(SFvaW=Wzr~0|7~0{|{ez3H+H$sD#b2K+U_xeo z@?I3eoeSqCmhl{wf4+sdqH5H3`BO7{X%_5*ZW~1a!QbhZ7bA#{5D@s@wq{Y3=Eed#&- zj`bw3c}|fHc1)W1dony6(;7z_?LW2(HB)M9`9uMKd}DOmA?V!>RE#w99FM24*Dvkc(4fYCvN z^B6R$s;Q4a(By9RO0&VUfbVSw?*{!FD_==Kkdu|AB>;@LaEvHBLsgTttg^B3@$$k7 z0>th`Z=$(?lG;`3{ha@qLAhDvshiFRapu`setY{n2S*@F)hF_|-MqiCM9}hOK@cGH z`?mO^fT8yGMtEOm>XF=oMDKcwk315MWfqI4zWlTtlILWhWt$--ZT|~Z2_DcnspszF zBFr`@fq2(v;Ni`^pq7MS;T+s#CX=v@fvu>vvd zA%OTFbH<7ZY>+4y2xzAOJS89tn(+UKJ12q2$ju?VNIJww&KEsyUgv(Fl+wwj;Sq-e zDYyDaH~^8=FyTrHygugbLt`=yo&zOee?!WFYaV4G_oGTAPFPkPTShEa$ctIWo2&dzsu4eUBzZqiF|rF zfm>4^4UmWd=S_f5`-3f}B=YCg}S`@p4VTsaO70|`1026Rj>b$G-Y`WM6 zObJa2WEWk61e}Pzo6tj6ENCiikq* z;=f`;UO3o1>}b`K1%EfhRP0GdP3*YD%bi1*OXdJGacA4&h6|ei zO>!B3euo6xM=VH!^+f~QM>@#f;szYPE5Emy)k8SQGOYt|e#f2lB@Cjwu$RE%h6(*|R2|9zsE(tS@}g?*LG} z408u3(PjSP-W1js4s0LEplXXQzAS;lUi_|UiyL_OpNOwn#ZPqq)tqgVD|dDh1@SE$ z#9+Zlx3VvSEeq==YrS|{&6 zw(R&p7(~ubK_u80r-xkd{CR-hW!9Hu2nCCu)^!#1{`3dbHU;%3;rnM?m9JFLv<2hl z>uf57!Q77)7e8B=!ro!lmq3V|c|+~MZrzz3>;G!yv->20=P&vx)<^C?negC?)b4+J zvOT}^BbMxcpCGY$^L~_(Ek7Fk1<#+~Tg>_r0|Ced^j=%uaKUHK{3qp)$|66)`rO17 z^d~36wml)k^B4RlODaUHk^XK?;^XmH#wydv-?#+ebc#f;Dw1(ctuI19yIh2Jl}#zH;vL zYo^UtmbUw2eCNl3pzN7IaVL%apZ!I`9)xo=*mX{c?z>aDm`CwX?z7e_ zpaj|wo?oq|APmUCyo!ged=5s z3Alg7wrE=r@t}t zO$Zmez9eY;aFOGozQgi*Dv4y%D0Xc1dOZ5B?ekq8l;$7Tu71Mu)&$#KvhTY{jB{w# zPMJ@~1dXe z(QCT-(~qsm)x#WE5{w-QskLplEMo4CS6eK?*J_UVw3YS9&E4yTb21}hVO!bQ$?c1n zq?ZNZ^))s7jzE8WxBbewt4Pl4z8s6%G09Fq;qg9w?-*#Z^%#pPQDJyr0LCxBFUAls zL2p-z(lk7X9IbT=#`wq%Mvf?x5^jzJ2iV>g$Oy57_CA*!?=BB3fR?c}1794chJ!7M zg4hJ5%y-NIP7HA404*?w93xXSoJA)>4zA823>%0-xlM9YqOd_G-{r_&;xnBfzr9ku zy4WAA^V-snN0Q5V3xcw36fz8JG90Xu4vc=AhZk)gr>U6A^|L#Up#E;U_oVEY|-@qRp&54wC$6=l@6Z zyV1`F+kpG+vT+vLQISy2`s|shdbFJzobom^e0E7eLx6@9i!tY;SH%n(BGfU2Q8emt zAmdMBKO5p0q2-+|p|gXqPn7^21YqyB1K0woc1^2dHst)b8deQG%-w05*YD}7jHi=r zwz;f_I|cug>z18U$=zJ?Ti><*!0C68G+9=fEpN9ir{N^k*VO8{wAUEk#3*B&Ufa(R z=DWyg%4%j;bLSqNWO7L5v@TurQDXXR>%M4I58MI@hSiDja?4fPy0xRywnd z0HbwwMI99+LgcFzusE0emvIMqMlY=u634nA!y;|{7`0kfRZs;&UI%03>;19$>zXB| zwFl@8iTa=v%I z%TD-U*A(3ePySG&3QSEKhU#YB(eJb3g#A-i16rYYYaLA}JrIumcfH=w6gAp933S-Z z@L$FkYgi^Ssq2F>odEoFZ;1;(wrw0yZxX@!P<&%V3FGNci@t2lv%!Y3gZp}5cKZms z`eV%!45oO2wJ%DV{4^mt%Rb!lymbhLeen$ZBOB0ldAS*j=V%GprdUVUboW(a5aq{V znXgp)*1mE|3pt3x6CwE?br=smKr)HV`QleRyRbJxMR7iG6`*{PmW+anuUAROz95#@ z;b>2*Ymcb4Z0Nai2rk41Jv*Wa9oUJgl{l&uK~0-w9){wGmfWIsnK=(Pm6&RX|0MV^ zku|#?bLvJB)*;J~fKK*hPBrOR2^(Xh+??gl-}3haL@)Ki>Dh{r6q!k1<-RsZ>8E_? zZ-MDt7z7JwQUIL(0Y7O)kmzU0pD=_6g*fV#sQQ!j>uzrE^DEyIK1sU}Nc8zcUV&py z-fNtb>RaBHb>YWtwZ*#9ccH-J>Y7_yGR^PF#+Zz^!e802@kww{^7D&P0n4TMBuj!o zX3;~KHWK9tB!@B+VD~B+9X*uB(5SOuUqj!&%o$bfR#M=sk)Qx-jCUZ3eh5ns&5+0+ z)BuFINC_epix>ujbuXyg$zMv=IlXcj#NxN07BSPZ2i_Z(Yh&Pft_yznA0RVm(|4|r z9(}FGg$9*Xkv=f>?)qVspQSc~`(LVbaI}{Rcd3VP3~@A@!f=NPW*t1x?Bgt-i@<&O z3*bQ=b$HFwYli?Ud|!GDUn3%eA`sBV%UGx8H)xbqd6R;p$xAn>Os=a%jfJ+5FLoh$ zE(8$gshSa;HuI#puIVA67wQaf)o~55iJ$~!RU8VoCwVfqKUbjiL?#hR7;5-6#|I6k zEvp9&*S0C6y&c}`GIj(njtzeFMwbgjd^Ay{BCsDGq+oz1EnX@J>8u+a;cGLSIFA0H z7PRg}kOQRg&4xyyLswlOGbDLM59cvv^&164#|DaQ<A|Z7d<33{xItK^ z>%Bm|F0NpcU~GfDg^?YoexQyZ+ZtiI_s4?JKR4|h-yY9Y+H__wrcNyT=f0`0vtD<9 zOFO-1@hkvD@*4UBT5yYN6d&58=|fD%{qI=_3`ka=^(W)y!DOOA7fkY#bOOFj^_pfv z9I&U33p#X?IPS>HQ#0B>duhJggW_y7seRe|WSqT#>D5hj`D^$F9NKgrnEmK(U zl8`D!sF>cywmraLk&~iBXr>@DMXmSu-(D;PTqf;bxLTcOXq%~ZiNI3UjdryN_G_=w z^wEH#;q%r?FnvQHQvBA$-G1nb-1=2cgI_Aiyba_6d8Vv#qu2s z4a8Ek!dB|6)c2~b!y1(Go*h_Ea~x7&-OaaIzwm?2JoT^yJ}a4{s^>`GgC+;0DRLnL zxHz;6yJj`GV9rBg1)EvI+Rzne5pdhWiA?u=Py;Q_cZmE4VBrX~E57P=yfoIonlAvJ zCa_ntR?YPbjZ3Sm#Labm)25yb+iQ%Pp}v=-IFkdP5$D8!K&xOgR@1EYi&)z4zwk@T z3Cb3wWav$FNiB#xU`RA;)JLzpgNrsYVsNk8XCDydeqENcOVhVzGST(C85lPB8nz`? z;8vyVZP*08US4YWqs4D>cZ2l(IHkmrDuTr1kIaY!OL@a}bCWJIa|JL!O|F~h z5?(NbMleZ@St+v5($+kIm^aJ{y5SE;84WkS)-pjmWWB?PnByw6Z?w@TP$}SMO$I4uqD9F?kjjft z8w^i>w2ZOQ(&aiE(SQL2*c)YU)K_;@{t#fCl{L4-#-eo2UN!iY%-RWLYzy7c7p*Dp z|2?Ig5E-Vv7Zp9o6qGe@iiBY1Ez7_deuKiDggVHlEzM0{6+n=XCZ86} zCtQ&qds~5-3BbaCQhCY`=lsD{w3+jBhxN2QXH?m$BGk^lff4|WJ?0)Xl9Bhn-f zcBPG})OxbDKdqdQ!n>`xK-#@WpglR2(xiTW_LF;@u0?8YXVfH+R}@20E~}`4>AhrLD9I+Qu65CU@x`i3NMF)W594OHv_Qt2ap5VhmV()=h7`sjgQQyC`;S82y4V zt0~d$mrgk&a8_XwJq^sIEUnt$QZB=J!lYZIG;kX@NQ0-x6p+{9Cm*jo z2D#M0fT4PkUrzB;cGW64wSL4<={1>9kf@82F@y<)4BDtnm$czOC^(SCp@*yteL_j% z(c5>|4H?4r@W1cd`}IoM%VACkju0p$WoT6v>JE|M`S=$wFw3hCM6u^!O`4K@YZGs( z)FIo|gT|iB_}4;CoplX(X_6 zMj}>{iFzeoC+lw0(@ZLkG;dh+W^%Eck|<(p{`Au!)$mII25LcUaz;_pD{k#luQkY$ zs<4KW4;K^Qhj>PJ?5ZLpH4WTAI#ZsuqyAl8?soUprlrtjK(fI#ZGSA)-RqJs*4^$y z4!pG~JF-wv}R zCV$af93b8Pd`9DFRT8m>4bfz<^w?G7&<1_mfZN2#{oDrZbX}G0?{_{ZJ{hMD09~_E zDl@0JSE}@?`xR_|3L#@Lfz*{kfWy!t*0v(;o{5Ncy;$1wYI-Z)gB1uXhPXW zto$9wlJ0F_4pxNU+i5ZPAgJMJLX=oNuiQQ$@8J0v?oLykuX~94W6m%nl zr{Ouc-D;r~tp<@3Oo-;_i9SWx3tXpfj-Vytyuq4|a&uJ#YYM^a z{9i>ehssFZ-S6%A>I`SY2}7gm1B!~C0TRWvR-RbI+MA}E93`BzlXQact9`h=Rp4Zi zzQ?d~sB}KzT-8f%ujb(`;)wMMY5yPqyJK-_i;FAv4jJhwo=$NtlwhQpP&p)J2Ol&| zU|rLXGmrRzovcckw|5`QsWUynR2mmCMls#q2@OYJpb+XPsezR0@{b>Tg>w=BW5QJ2 zJW~1bpd9^QI$p3hm-}wsNS~&bI^FEzU`K)#|$Lx6FP4@OhlPUDNeVE{6me26oL- zrA6(2@i(c+QolU7K`DfvS=@aV+koAg@7>zmno7?y^Ss#X%s=lTaE(5I|0<>$sNh;z z`{d<3lsn?MqyS9lzFI^*J3NJneSGqhWaD)fo@h3;k#`tWg%|S%i(=8pCXe3Nt5;-`+)t$ zK4_DNIdkATGEEy(3ma>EF`d%g{_MswG{y1d8o+(cY1Q7lh1!Msa<&lEUc=sj9H|3n&iy zm}Y6v`mXTt7Cxwfo};92&uvqPZPMz;&0H_F7K!u%&P=s9;!Fwx%$G>S`3}?insI)46W8Hks#CwlVW9vg=Uj?)gM-yLVTod*+^ZhNS8TQ$(gNb@SGn5TTKFnW7OA_);iOMjP*j>@&ghco7w`GAe?0xY^ zX&LbV;Pe~xWyjqEq3*}(12Q3u^>k06vED??KJ5^TUhodgy~ic+8Kwk54fp1_}V^pM{Z z*RorZ{ykKT@b(X8rOiAA{Io);yM7DX)_Vb<2YN1lR_&vaWzez7KU71%zPmNAiZp|$ zbTTQ<`SPc?+2bDnHxk!{Yx(C*=w;=U4bsjFL8d)CfU=KM+s)Dt$h2XF5QJI#85;!4 z!<`j^+3O~4!xg0Du&KO5vm8~rg@1kLICrTf$2YyEusu1I+md;XwXhYKRqrsT@h8M;s zTiLzsCaQoRbo@(ptjt9@WryU?hwh>1SM2iWA(j+Vn!k@IqH>bq9paO2_mhP~o+QPJ zGXBcG^Ahef6npEF{o3YoB?qj-H&@rWgMbj2Xu4o||H>A^X_U zcQku=hPkfUJCEzesS=+GNadIgcwMK?K?+apKCnt>BBt0<<~=@ z5dr4L(iv=!&cY{ZP$Ve$NuWa0_ec#>rF;&Sl?#VQ6<|M$(vQBqVsB8nOOgUL_@DDY zroN@F`eT|qwaNnuF$3b z;QJ975X(yYkCQYRhBW>yS#~`HNW&;tf;95ZFEia>J#vo63jphKn6!#`Bb9!C-v6=( z>CeCjG&q;yW0SZ&ok*j<@ZM|^wrS`$k1BL-lzkqyTlB(P+Jj5l3{kerwj($=-&(0` zazB&vVVFySlxXLxTK(#+X_mskrrxlic-q4Mtf;8OgtQ0&)Vo)7Mz7ZZx{WW!ul)6w zZC4l{{6X}**CSjJA8N1d^2mo!cxp1Y>I?)Texf4h8NbH6U2Uf1)sjUdh(#2bqI zxEP~LDFxFbd)Ymqw9gRao}%uLuk%rlD7#!U3Iq1fvIrvPAdcBA-wXl%;qmp0C)G>8T>X@BZ%r&O% z2B0{@Ofe2k7#FNzR)lp0c|LniqM?>keC=h*Uf1?&cRhac)bex!nETm$?3pFA1K9Cg zeK+m>`>Ks_MbDRKzNgCol+DuW5zN=FZ{axPn7ts4o!M6ADg|$JpA0 zF3I4Tmmkm$>y1eS7(~Ph8}bAKlhS)CVX3ACt*MJT3#p`~q2RO4xf@5FO2Bey10~*R zbUxG=%XLv(>yRa>Z`I?9G^v>y;Ay0TRUH5> z$x)pcE{3@Punqx;%t7L%xv8^;pHdw$S!yjwgx4^^VZj4{t;sbR@TTMq)GM2vD;WYA z0Uj;VHOU$8j20heHz8xq!Bc&t{?-Hh9TnpQ(t3eE#+PdS%uZ=a9`)Ek`}%chUG9qx z2k;dzVI0k3<~HAZ2QXd>`U}6q^%I}JNjl@R8>cY|=8{qealY8?z_E>s+B%({UfH}g36Z~tJb*$wN#RO@4ep*RQI-Q(ZTW;1?_Bg-=5r0^>o14~u#>oF z3No^*+8;HR*uq3CF0fx37N4vWr;SYqKM@~)tWjfLDKwtwm9{iKU8d0k*flj|DE4t0 z+rR}7+jGM8qYt^cVUE(|U%tjwKXM%$?`sN|L*D|5D-M1MBkwhYk{-#=#T{oWsu!9) z{_bU|g>lRtqAg7~iXrcXVs${iQ6K(u;k`BZ07+0Gwrl^|YfrLnoecuj zsMfq3x2CcYjC#7_vrDpdKS>F;t0OHzc9;m@N#%j#%IWV2&`jKQmqb{r+{hmvt$KfS zD1A1JI@7uq$|(u*jn}AIW!RO~`?d3>SvADDNH_O(cy%>xI$37MBw?1JR$o|Q@k;;t z+Mjjv>*KKh^{}?ZWcYig6PaPj%!CkcRzOT3^*|Y1&P?~=Df}X(Z0&YN1Gs-62Kncm#|zNT5-^esiu0DtDvfUcf?ec>*5R#H!wqs z6kk+YOejM4(Uf))^>G56}JWfKlZJHz&a8bbz98~(uu z1G#ycm&oMYaXqJp_aGcXgW%nnPXxyfNBkaJkw`^jl@n9H$VMPj$66=e9pB5>5CdUP z;uoE0oy&Ztb9p$Ep4r(AEh8rSRZOLr;+lQ?+&$jKFF5-~AgMWtY zTeC8C!o+jn6ey`|`8;kAKN~lXU>`W1fE&-6?3CVSfc+<3FK@KQ2}PBXc8(abP4JAM z8i!dt-P$l}>b=Wu$u=~jq?_8jj%wkvD;ki^a>y1Ary$$7L{GJ8r&YR_O@(w5MOWm@ zFg;MMy*(`(#pbGaH#!QC``bk4uYY&?MG2>;`(X^1%lAQ_l3)({h0J?y>CI&o-uxw)Q|sE zW60NlU<8JElIcX%U2yY^YotN#N_MXY=#CmDsIK$W9t=MmMIm=+m#I5btA7b^Y}BM& zzo`YQqONH61j#?5B^A?psrYzSi2&?eZ%$P(4yIFESWCnk25S~O((~PxITi!bkqxSP z8ER)Mm`KBvYvSzFl`sg;Rht^Bg+SB4D_N&I_`G(8GFUgR;n*F4liAg>vb-6pp-Myi zmgeaK=JUmc#6WRg<$}k*0Dq41P;a6yZdoPP0G@I-6YtyW73|~Zx<-R}=4`Xt$t&PQ z$Au#penWJ~!8nPz5izmLqjAN1+riOJ3kaC<0KamYYfhlO!~1#FdBrt3tF%abRF_}} z62&7dlP*VM!yZFpBwLe^&SW*H`;ioV&sm+qM>X3QP3T-O5Jc$m4S#ie+X5St-2;Tb z8O-ic{t7d%<3t>W8PJ|=`Ow(VMP3uWxA55f4o0yNF-P*4evHAOKKl4^o4F?e-HPJJ zU7aRFuHFO<))~8pxLr1061&fBK|eMh(z9YmepnRjtR|gZIAym%{+klSft)ub@X32_ zs$DG#*nJk0Ka0t)M1M?H`_*?%qD5WU{OWj(^F#V9ZUVtQkCLVDd2ccLo{u6y-}3_t&-Z+iaBFWuT+I;ByW0$dlQO3Y;cHWQbv5Ws)PKvJ+xo)sHvl1L1~uWP7iVqli zB{+hy5Fj?u<^i8uRN30fB+Ny4`E~_kmW(r%lDU}8wk0Hk-opQxFGS4?#xZTP>;jA| z)o@(VN`GfQK1+Uw@nHR!qxrN*Y<{8+WG~%>wb6_qjaOzyAsOkUmyiUwM94^eY$f-6 z3^U0+Kdgo1o=@L60(!2P2G`b}L#N?7oR#4DRm|A6?5%!{ePZ;d8LVo~>4m8#6i1Z+IPi7SZ?HLGa+DGRY z2jwSyoABAJ{|e0duO_4TCwyNpR7@RkOVHsm;2C0kVvl@ZYVI7qGbnK9Kp{Jm57v2( z?CPJbWG`VQ8&R%5m~G4x`@3eKACh?fF!|=Eo@QQB7i@}$ENAH6t{B^&X_>A^$wUX| zu77bD*2T0kGO^lmbN)XQwRbYis}>##{?{tD9=79H*U*38AdUo00Z)EO1=mQ}<0E_? z<(HkaI$4)LctgsJ8C;8Xag&qqBa&Fb5GX;)3f@t$@#6OqTDN`~ovKWwT1&*1YfUc& zLkQjYT=o%N;s=tNBF-gtoNhDG<>6w%Uw_pd;>Qq-05z^o^SFUte?X^h^9dAwi%5hB z!xA+^gChH_r=TG$z(Nbd@VW@cy%ng;}3~WqrGM;^do|pmTO)y4M=;iuBp6_&0J@0&` z8hPjF{zfgi2k-SJ4r8HByOW9xMo3U((I4zw|^U;OsScq zIWQ<`l_f!^3h+@<`Ibr30gD7>U@!$CRMcFs$b1{HP`ZoUOG4axaiLs!d)Os4SZjN^ zPd!4V`p0k2Q@7V}Vr;^j68X_=1P!QvraQ60#vn;0m|MBFQ&;Xo4`o zhS$`umzZ(Hl2}%UQsqc7g%a;?-(z%p%^1VMODu%UKT+v#gid4F4^0Z9|6OH~cNo>8i*VFg2B} zH>N-+WgCt{q!bl-a(^5wTQj^=mj6}hdV|#G;tDJ=_$3?^ZkS+>3%s>eIEEWU*u<8R|p(*qfhPkwOGp-rkh(;d)J%XZpl5*7E4bkw3J}y4+3A?(eQ}2^ACcgw(e|BJ> zyaT&OIEORQ_eqEn!Lc2@k+b-(yBOzHm%es+)qQ-EyaGHyYrH#!q2g3`zK3kSWUTpblhsIvJ!V4a(btw%vfM@=9fG#!;=>~>@$lSCt zhdY^Z0;egW=r@^2Cs}Ow2p;gP@V9#1BsZ+lC3sLiqw#^>SIyS9}Q z=gcQU9e>4!RfC?31&C6kRKT&o^6QhMlamuvMbz#7iCn2o$%IiAry+J)n(wS-&+CvQ zqYmNHG!|hkmIeCa^lelWyWcmvtup=tsy_-ax7oieYHq*lAZpIw8_!Y8`NBOoW>qcKZ3@n_hZTc1HGdo?NEBvh;i75Pt|;{F$w~6&yJQVr zD#qU)H@?8p58~~&C;D~Fy4=di-4)k>d|ZHU#`VJcjwSMit%g&~aCns%hhKHj^W2^8 zzPERZ^RBsCfkQmflIO1l9zs-$$ht31uO7u;90;RUfN@|?u?&oyLZguR7;YjGU>%Y4 zC4WztDDm!*)(7!4d?UTBmawX-mbotc=1@JBXum>&u695LPcZcol{;)5g035&k zE|R+8J(ra{Vy7(N3fDCc;JtcbK#|{}*HtI3sPj9b=DgKtzG=_vXrZlWlYAAC z(a~xiP33;q5y;yIIz_rJB<+kr(id5U`hRF6!fL^aMVW4v0C}ax@(xh!=|^mXVE0b@ zP${872vsw{M4!qUs_uPJH@pz-Hjj{*iq9_4nVu`&x=*<<1_C>4${ePho6eUQGFhI8zl^kzgz_(;)8eDk1B43O;Ai#4*baz@WrX@Cr^MB0! zveau_aN?y}81K2pKZd2L`AEuipGGh;)iR2*Pu*Ulu`dO0dYnsp$&A6e46v(9k2{GY zy|o{Cj{A=0(z~T{y~2s?&&G2xP-6~` zxI=<%+E2N5*zNR1!x-xXq@hprJe200QKG8!%~Co~X6bs9W{aHH_esl?Cw~u2nEooD zvxjYk_q5)H()s*C^*mSY0Qgx#J`UG+U#AO}+}~V#GHLphR%z*L66g5*z6{$8eoS*X z9+egP{_Y|X*`qL9-iDRy6g7;8G?&T+TK!}qnQu;#9ZO3X`mwIHS(Mo#1EAP`4q(EW zsnoFdV$^mAd!g%qJ|b-*@P8HNCF7j=w+&`V{Fo960=0b^H)B6JS0IBcFZWbZqT_rr zE14KHJi80oz|4#Wr>ah%K+vn`$aTtvQ5{x2hzqt6CZC8v2KdG>yG>eFyV@+nla(~n zR0VEa$aGv$wC`Xgkd>66%qn59s2lFdurd?t~=YTX|m-oKXdK1 z5)rdit+hZ?tqp}ET7TNt8@Hm3K&4{(>nj{%!=Uryq>Gl|u&c|a-%+~RtTIM^OYE@k zJ0^U)Zem+h=?cDOIfJv7VR+U3?IloeS#S|G=>*)6H(YlD2Fe?Eg@^K?)-B zu+w2lA>LGvk3(}gcE{ZkOog?7TR7n(KdMf8@TQ#9FEE;xUVofcMh0V7eRj* zVhCf~RIv1CYWEfx;=tJIkI|f<^VUc9%}G}u3gfv*Ht66DX*%`vhcp02_lPv0r|c7{ zrZ7q=s|mR#zDyL9zwU#}UPT4b#L%yc5bimmL1bO4W`Cz1m8_ZoMy*}d1U*Nx9@Q8;PoBlzQKb! zv3mwTh3ltxmg%C_cvNYklfLv147%2MMdoB|EPw%M!fS)p(k8h@MFUXaMX_rKRPD3P z8LTea>VHf}6)3z+pO|qsu!Zv!v=eDKp4W%Bg^lJ*Z(A}X`=oM~P*2UgsSWx(hyETe z=yoIL5E%jGO$sTTYSBq@(7k$#4jRG%WCsmHvPMml8313?bOun9X%To44Im^dJI(nr^ zmaDe}z2BlaG7J^62}Kxz9FiJh25Njm-?iIaEw{Vb3vta_;SIG)(MuEXGLNuKIXybs zrkviRS*IMhufjg1CNZwkrHD+V_s$nAS$}36Qz6qd7j_@>tr}4l4b^C%I;6q%vp}d` ztvZlu*Gm;reFtkq3eEu)BQ?U5^`rmDyRzQ+X(0YpB3@{vQVzijl`28GDo)WBcth#N zZ6kJ*CC;{#PtSOK#>d8SybCE3LjSJqnX%)U`FT9H0c`)Tmqb5`f1!t_Ti}DQEq~T) zU@cN6So)jqfEQMW;r{RJctS@HxCT>Qp0^7Mq}{ccE}OLcg8IoTE@*pzMHWz9;=0O| zKZDc!H`IXT4wX&Y)T?sM?ac|lwg?&++FdpkD}9&ZZ>NFiWn_l%VBBVU=3t-_NXL0; zC4*P7rubs0p6Y&~X?~9jM3?Ji*?&jBs7FxsXlRX! z8nk5Jrb)#plwSnX+eB53P`C(Au?pxTmEFzxm@L@q`MQ(A2@Y!XxRMy=kJIGi@tI!-D#Tcb)4$zHMoJdDC&S$3DWOZXc9&gI4;k!;fyJMYR zSI6^kf^UJ0bNV}jyY2cuNp^OFL5g#HgC_Z$;DBtRLmbeEcaDQ*^Bm=XR6eIUAbSi4 zI$-#=oavxzhj*+4doat*ntzg~y4*qM|26kJkRsX@4_eJ~%L7W;T=anI5#05F-&=6q zUz3J(_38-g(MQgyprm`QS0sa*zEaoQuj@_S^PS$(lwl)o3kE4Z{D3*^vS5eM*DBbv z-*t<@x#1FD!?RxE7jwZHGpNa~T2Pw0TouhCR;!|B;$l^_&ahS$lz$GoR24kl$Vyf8 z=70-TOJkE9sgQD_?-Z?$zgiWH#}})jV%l0&G@idy6@(7CQWY%T#zOUny6H(%wZfu{ zI}nbrRF#a2o0pnBc_27vaDp*wRTie5x?GhK3rWqDYQn%KJ3vc}sms(+xp2-UG@PXG zKg3BfUH?Z3=eGyrEPt0{AN+k8_^RZ@QuDZk-v$V-9$SE>pu}xRcjwbDbmTjb*0!vd z9#bsiVeompL5auf5g%zBzWa$BKltUBV}CsSzaYtR^r7Ubc--jrzlg>SDJEcXqt#3#ZcxgI z!wsrOLE#3!w}HWby7@t@DYEQF4_}k0#IXaUbJL5bY5L8l#Si=y;i9H=N4kPE&vn-} zc*7{%tcpJIOwKRV*KOBUyA={JD_e(!#nsf;NR_#~*nc%aK)|ed+?iJe=9klJfyhss zyaJFzYyYm9Ox-ruEhBc$b>+m(b4?(_{<$W0&@FV$W|_O_Ab-Xv|8c|YA;XX>zHTiV zqOH;1rHUSKlNWx7Z1HT73 zInbvQ{7JpE1LBIT*!Ze8(e;`tJ#oH;6Ou$S&)#+W+p{Mj9xMv@$l#DctW1~AA8 z9e)%Jau&;kgSQ7wRmh76xvY5rA*U6K2zl)x7`)Atbf74N)N`M9-iFf)Zl|Rc+@_}! z+#Vv0;P#EB5AgmR5Dsz%NqF!!B{6_EIzA%ge8(Xnua|}idE5D*kkdIND&!pA1}yyT zzWwXF`k7<_hW4eR;`TtsqhL%5S~eB@;eT2F^Md$YcTKa*e>5*M!jxkix92WvX8@aG zRIQ(tJc+yRvUvm?l~oe~scfDBl1fqs1*MY7GGVEZ{?Nzj^5Roz2c~DTdW6&DqEmaV zK{Gk15zTkd3vtm4x@B(q2-G7Cw&Y>)-dWC~ z>+i^Xc#H3F3(n>^%Wk%qZq3csIW4$Jcac{6XIRp<8!q~7dA}wZ!WO}dr<*NVF)%~< zt79-`>-JGSDunMR)2DW~u8MnnAE6RYHFq_6CfJ6HTL_io0^>1-T|))&>VJ$irKSjC zO1;1B>J8|Xo0Ei;he|2VTF7-py3Qsgln zz6gmWG}2!uGGO7fONdlBG_r;$9P0n+*aT^Io5B$G2UrH*zHW)7vz{8)J=t7WXZxz~ z`BIq-Z5yM&%PjOJRb&yEmrEd1?#v4>sbZIJaV}ht)XfB^@$*j{;8$~ zm_{(Sb%TtMPEk`PLk;bi040W>z&tA618&|?)|}a&L+;FRx`eo6z zYxWf8d&Ro!9!V!&*aBIqs@Sw0DPBnZ_@qPB{ISSi@kh#hNzt{l)*Q>9t<`*M>o z&D9gWJO>g`4#nyQmVY8;530fb`lD{pMpRw96%0{{QGjyQ@5(hOUG0Xc>@Rs)u>TLA zqr213a$|HDiE2(xKaiLi8x9Y8l7{YwNhrS;J9*;7F(Tp&442#L8rAKXS^a6aeFg;% zP+pQI``}*QV6X~ud3-J{R_ccD^0}s-wBfSpsWrlcfNCz$W`0r6*7nTs*~UU80Yv z32bEhvTjTP5Eg* zx^aw_qsGJjsDG{;JSkyD5GNJ=OOd-Hsl$_XIUzS#J=v@-8NUIfq7BZLjj!08QXT+b$>i?xvpuC;ZaDV+YpQ!%Do z!8}*;@HrL8lyofCy-IZ0@aBES5)p$jVw4-=(m4A;Le1xuOoAs-0PlZw2cJ(umKDABi z9p$MOKap-zQwow?7W&^oQCSoCz%6`9Wp9+h6g*LGuy*cn;LOsr19Kv2)nJVD$p>zk z{t9+O-D$f7rF9I^sPw2ffkN8=jgLi)8h#pRJm2tm$u7z03@vB&95Y5x=z)3&l2qvG z&wm5qW&fC}MS+*icLFwPdt|Oj1plD{s43URGdQlGB@3s`C}b6Ih`CbT2EPfeqaik* z7=C9TodsvKNy>vW+Goy$Gbk@J7w(3+hwsbo55jg$&{`+EdGpj>`M9ndzN^W7kjLSE zLFlThu}#>A)s(I5`5tNeAc++vE$W^_eSe4ukPS}u4p-l3Q#;`a=x+hkVlE|-~VF__Yd5avSjG{EEkDjLURnbHA zKdFV7mv+*I-xf`KQZ^f#o|svf!?q%^g35@=N?R^GdyN0$ zs|@m2O?%30QFG)g#>c(bFdZn^5&BChQD-mAzhRIw_PxgfPK=UOxmj^vNRloYT& zgby+tKm1Ei2F#pT)g*LMLJr=~q+DO|%CA2m*^4CZFksJh$I_q--bL9|#eX|LfB#N# z!ba!5qy!lj-?t5ci2yqFR8m3ljM2Ee`J&j8rh&$%Ba;7u?1I8;T}yJldSY88_H?s~ z#W%Em^$fFB!{41zCyxC?LuC9g>aba*DChO5(IAs^W~Ba;E;+myRdVOu!n)-up{)#> z7j2m_qfuJy^GV5!<~6%jRe$q;o1hld(So(+nE7DTWugAwYwjThSyOj{dc_GM8q9rW zUF|CD;Hwkr(hm1h_~H;pl_`UUi1JJr5rR`DM%ZLMxXz+l&rV>7j&bxN5>3thI!MBa z)hiw|_XqbTXbwNr3A_Ga+jmwSKBiVnl-mE}cy!`syXMc@zln)r z2?JbH;0RQ79CNabO2JmH`%FOP8DDH=w zUJAi;M^>bMCKX>D-(Gn(#o7NnA9)_aWE4(5h?$B&!=8yzFppK74DeW^jL?peTO_Ev zWl8=A$p3QkuP7;D1%)2IZuI#AzLq>$lk%A$d=p0vRQAX%DDd2#@5gIFGFD3Zvu~1s=V9sVO-#WWj10L&3+Bps6T# zeampy3J?ADtu-!tFIG@-wC~D$vUYR=XynM^^5kj_8IO7yOAxK#SQMY1h1JtCv#@FI zoGc`|&}=Lze)g1z!(F?B^5)7zh@G-P$CB1!RVDDACYdkXodolZb8WNA0 z#>mWPd9f(+$eFC3aJ)=5&3cqf5?$i4F(rGh&09tbLu4R+<;lAI9DWVOy!;!Pjil%h zLuPgqhkq>}aDQ&F_Rv&t^|5WKKNDA{@&<*(A(K0-Vc~c^O~n}N1#b@FHSYevmd9(EpSgx%AR*iPHiQvTfp}9-=xwr*F7*c z9KcJQVi#T$JafB;QHXaNK*#4b;x=Do?df|jvVUdHtrtminL95mU0>dy4WarR7|1$b zTv7@vTvFkNq;cAzZNQ?7^HS}Wbht;L4n)BZY~z4bafgyUU6~7nM77Z%x|gk(l)ega zz{qMe9UfT(a)Km_^a7!h+ljm;n$v|(+n4nk(~$JMhe=O|`(l7%e3|rSe=TV*3-$y1 z*MI(LGtZ<;9&&qrq8>29VKs=d^j4e6_TFlr(dt{27i;@JFPkh2-+$BSLmy@@d#6}? zoxz&AiI-`EY&H;iAmElLW zBSbpPzsG;0`86+7sN~^8C=}M4@3qwrR>rtakm4=rD`jCBJR?X-_ykNQJV0$-$>qW>6J3mZ6(g>5vbaHTRE6|$Xa?1B>PRNN>!g^SGboT50}ds!$MFXApXJ&N-AJ8YjbeTBfmn)Tv@o{n~YU~v2gNiW9u z1N`b2~!rmxuF zi_tsN-EIYKT{IL?Et2qvYJZ&>lqk9jL?&I?^jAQxT!AdN?H$c?%It@>c~3y`%DVmq z7ci2e0N;-w1|Bi}@V$>e(4|zruYT&<9VNDVD-0Yy9piOTfYSHurGXWd>lF&UWqHPU z>a=a_tLFUN8L!12ar?KRnKSJ&92PUDgQrk`t=zya+!?O0zAABN#(zdBkDES+M9x!V z4)J9k8}oD{E8ugJ{=f!2%BSmVs%_LBI}@WpbFhOVmNMJ5H}=mkp3#4F}>klD)Ta=xZ;t`7k|Re0=<+SaMZWhs)Ow+dsbaO5#AU1eAiTKa@96Hh#GY)Dtv|X zw(Q_HYdv@dL&!9x26t@TYIKGz#c2;bv@Lp8Rr0=!vbaY9i?%bx5wFFNZtqDa(Yc?P zSfHhm_XmjH*xkT!wm*LfgN}P)Rr2*HVdR36lzK{P2-vFr;+&#=~@$4gfsD~Xj;GyRlDs25O70lg0dK@HF8xP@6 z%q+&aadTl&;=Vtwo$_>xuFZzZnQC8g%W zeI#E0&b{}4A%De-_{{%IY{#FW0kYoLXOxCG6V#vYZ#s@~u18%`Or1r}O!d#BpF|z@ zOPE^=Uq`IehEXQyCuKJRt0!Gc^#8k!dWAA@mg#3n0)U1!r35loR&D3`={BS3@DI z#KI!+JD=+?t~d#gIN;@7Yp8^(N))=dfc+(Q(w~zZzsD%7xjKJiqC|nx2@2XJn>Y+ zaB=G@lIYpL$_C)9zADg6p@$BxNXI6zVf#lFtEU{o1IeJC&JQ>>`5zsFz zNE^B`@fsfr<)giS&rmQB=JUT20v@W${1~vD#D9~o64SFJJ~+&Waz@NJ)O$2b-a7G7 z<6*nBuxu!+vCr99tKp3bU#nN^tbt=RmpA|HIy~_Qq|){))FROM$H2 zdqV~k$huedESlcBug+OXjNaJ?%a<W0Z`LZ=vcX|B3P<9rje>_B`BgUQc zXnkXLrDDYo=o4WV(AZ`C<)32V#Y78shuPg-JJ7bU0 zch1;*hWloOyVSepW=~_>Fuy-F;0}Efy?>XCzdDzSsCD2b*R0Sduzd$;>ha(UKvY!# z^>)j!vMOjXHRC%_5svZGMx0Ukhmt5dwC988?@z^b6?Od;sw@VH8YP*v%F%W zbP>Ib_3QE#j{W_sUyV$NeBEI&6ybo3%0Il4oHQ$~YY z)WPB&jZyM+JQ{uk!_Sy~ctU6)fqy@1DKWf8N<ucC=TRBrbuz-5I0fEott12GpS6m!T4b#jFMi(=@Ob`#pxa|)rtdn zfeBZB%Zs;vU{gSUf;Q9K$d-Vkd5s4Sy^ca;k0J z=@m@QVG5uMq;d(5lYJrD~g-+#V_VbgE<=d(NpnP9wD(Wf_FD8lN50%)?JCZJfT$VMLgo{1TqWsf3zKxD&bPgcvt0|66PT0ip;?fXK!5e)?D zXE+jHW_54&eUqE5!Mz8$**%cy0}WC7ahJVk)E0L>#nTbC=c5FCH3gtVbreGR^J+EbhlX`oS{K4vXW%brO0}$GaGFx&!gE0!j zEXG`WD0uO9Xft4Rd=JQ2ag$eNA)Wy|g&E*Y(s7cRT1aAhv;7(Yn8tlYk5{y?N>;DV624a@`RcNFQ2>8EYgJHAizEdaMLKt}HsDuPZtylt7s=jJEE14JqEDYu zdlT?n#hRdZehf|+g<114%nF1K<1IhvJcqRhV3%#-nF+*DN({8PiiiWZhmL3phiM96`(;_c^vEU4hl(s z{F1fJ*DyO%^cZhwir#ZrngZ^!O-(U_h_SqZUQ=ZwdA)Au{$JiTf%4w|y92$*Ll>tZQ9uk5(i)9=kW@%b9R>`ZJB27uXrQJuB?ZZn*b_p0 z-+;GaR^R{W9-zW1i5!QwDphZi`iA-?sAWuNt~EtAZR>wM=b*`TyAWO=T%`{`jG%)b zH}DZ%9rDfCE@x}TWwoEn5>`ZoZ?{4NyQ`anBSNet;{L?s z(cd#T2`=Gm4TAveDY{zrI$E4n`Q>c_RMxB_*A5V#9Q{xL>|K>}mi$?4Zhb$80)LLs z5ANngx(0vmLZ)syVqI})#)y2+Vbdtx>(aR~x@5f5)?T*>S0jh#kAlc*6@E!Vflm|30`>cc{SHH?Rv)%%6@;BZmhaWUIA>CwqaXljaS<6 z3O;|~(GYqiA=Fjr1+QzvrCg!tx*m7tY!J~_XY3s!&daZa;tt1Str7t?O`?C)WZ3B4D2`@5ro4P zvYgAJ+6o^v_(r5oa7u5LNt)?sPgQd4g)D!{U9hXP2A#wt;lwVkm=rYex;)J+JPyfB zj_)xW6RG@EGv=dD2Bn-k31lzlBPC9#)gd%QsMR@MbWjWI5(9%;6NnoVL}YuEO~^{J zz+forJN#%$7?wqY#9_I}DcD2vVzkVDwR|Z?wRp7Sw+Q z#vIAKlygQP5ye3T&ST6?+9W( z`t11AFTOth;+xNpzxv|qCr=><@+}NXxL!E3Mu3Yg-71)Lx`~R-a=yl5*Iv3de}14T z76(G9#O7FrMatc2lF$A-HC|Tyj_iLHdllg;RR;(*cUGKa>8$u@BWJ~<*f%RavuU&9 z55lUsVM10eMXg^V_9oZXC8T(@gpo_HHEPh>%Ib64DrSy>9xpU{87MG${P zL=Q;}PSOL3@aa0i6fy=l0aQGEW>X-Lc8o;Bu}*Lrp2bsetfGi_ScvH1p5TN{8hwn$ zI6#A?%8FCZMPkLj;oc<9IUzxsONuPCBw){MB2)()20i1+x8lS@k5;g6urq06PAGup zrO)Laa4SBak@|SRMLOVCJhFeCcvlD9ic<~06`x}Bt#~YRZ^h@g^j7>K8F?!{n|-(9 zcVODBIMJ$G@d*aqibt~LR(y6dZp9aG!QtEB+uzfAeZ5WJvPuS8{>CoI6Nkr(JV1YF=*pY0RiSX& z2?fw(c|$;P59JL5eob`Pc2O`)-Y)W;Ge=BxwpkULJB|-G)PELN0}Uatxz5-5E)8nS zGJ8_4^fYVT3FZe_0^Eeoued_6%Ew8^9(~(|t`iJySm&3aUBqv&iFkWH3q~cFG>Y*j z(Ih>oeGcJ3Rm@MN1$ciW=GD{lM%ug2H9DvLT&)xSL6tIL`k5n04Z5+S6o8W?DYP3c zNJI3tK{&ID(WPl^URD>#Es3p9*0yTY*3EayAuDzuT)-7d*t4#`pe z=Xp|!JQ!Xy4fHzjZV6PSEociue@SJ1N1?-{wNUy>T!yD2Wv74ONvQ;8?1pWG^7FBL za+PV7QOrECr=ILK`>VX*z8?fTV72|;3MFDvm-)t?uu(#{Dp}JJpu@@?Wd#F4#|*5) z6Bi*uYoh`=QL{p4Vln_zP~`wuEf#@42~Y4;?u)D$cQfc990UP^x*l_(0S%!@KI`|PyG4WTBR63gNIh?DUJEMaoU@4cU0aY|V(iUc|7 z?LJ+2_5faz%zVW%#m{3bpIagDB&|EKy_S8c@??a&*3UG6uTio9Ws z>(&%gYMw5nS=MBjM$r-CLH>yqtU_rlrw0Gax&bfTH4|D(f2!2kR1+RsOI1vBq^JI>RNt zP6){k){JGCF;PAyNfVKOLx_!L7n8CQzMQHSqxW&jJvJzNsNn9M;1cby2wbsL_Ao3s4B^tg0+8WCrOEDXbX4@{+6Fay0@;g`- zmKI4~WN7O_t9RE7z*Y`y4Ogd9F&Z*wRa5faEVZ2b8UIUkJNV+tWYsCqO$6WCX=1vj zWbc{)qLQGT0f^@aRs4&>2vf8KTu|d7{fg%Y>Ji%EM9Hchi3$ z0CO1;k6;?09AqdBaGCM4;7I(%p_etvOk|1lA{Z@Dc?PT9_lH@ZE{=gb)9k5rE_`pbat2WAN@fDFaP>NT&q=#bH$ao zf(dUEU|(4e(f?F-KZN6}2FFo;DW?BqB(kqMk-aRdTCprr;TiJL5LNnRO|+{R?b#S@VfxiJ9iXHkaud(Yi7~7imY?!{o zNB4Dq%>?IF1h2 zpd6Y4doNzXSW7m!Y(;B!BVW4s<1xpb`9vu!VKon}Dq(evS5m?Py2N@Ca`+hRmaosg zkHKCFn7$gb+05o6lRMF`1*kxrO9*F~hUxH@p*@?GOd{bRW@*-7D!(W|lQ_j23~s#l zmCP?qk5Mes^p4Cm4cvdlGLC#$0m^<1##xX@>iryR25p^Un2wIB+f}7_BH%-TVLNuS zyKz&wofI9~`k)6jECtLUZLamclBGb?W0VwVdPkN54cvzy1*TrHwZO%^PxArykrU;n ztkog(TCCMM-W^yA>^;8lI!HTpZ?B-2#-<-sn8J-HHd_a(WtF!q@+xNf5byBWXx#ll6=<@$!EIA*ZfFeiFlL+d{DfQeTD zVi3VY;L{kg--8=mUSSM5LVp4^(vAhMXJ7$^9w^aDDfGZ!U{QrvOuSIl#pSD;ICWP%gh7E)Bv%(3&!U~2IGDInAM4M?fr+)lw6;9LL^6Ti8j7n$$Poy6ocZ>sWh zp^FunIz@^*xbn$w(_5j2g3*sJ>@xA^Ee1?@Y~)sZfk%J;+nnv`q;b4L;{EuUhSk0W}=S5o#U zG)_kG@jdl(6v;OWUdS#P>_3BXf+VaiBv}>fjWJ;MG%(5v{n|^l5f>4>TH$W;YL@kp z57$^b9be?}f{PlF4Bw3QX9&*@)xf!8_PxYq3>_+A7hT1!i5zPX^rINe&RAQ{GF^@K zlVu%xevCHg4yQ>xkBCS6`?WLm?PsW-g-^i6c*dOOmhS^UWQ)%d3I!nveI3HO9 z`;<2OVa$H%?+*^FxZffz^+u+I>41(y>CpbP-!~q*?sGh1(-#sVuccR<@tsV-`_IiD zj-1E-AKZw!uloKR{G<5n)y+>rDOyvryHao4YqRwZ$%T{}Di;;?luM+9^)8%h{+(ue zMBTp8V5&%p;ylYs*4Ym4(wnyWxAPBK86^ZS3(Q>kjS*6M>F$!Y%I&^yQCt)AbN0Ys ztHRYf)X%*Oi&ekQiEvscGW%%0a;+;LvcKs+vAde}?0~Wj_0Qm&a&o7h!AyEDHQthQ z>79KA9f)Y9in`Y<;kF_u>VBml&WO0tWZ_gtu+g#*|FkDx!b|%Ub8q35*>Qoxd#)(Q zy!V;&B!2z{QzqoCwotckf|fQgZr#OVzk^msYH+Qq&s15n=lu%@v#*voxYI80e!9}h zT3_j)&^uQ2p#Xi?(vSuKXnrgKNC&7IO&6FWE3S!X9BHAP-E zQcGtqb}EKuHpGkjFq-%1n|2FcTUtK-D0%vi``njPg5{VvjPShf`Tc5|g>;q`fw2-z zhwf50TnU+2dFGL2H7m9IapA&1I=A`<)#L|nmnHaL4h>A))^J`)^St%cz*5KPLSn~- z>ugpp&vr1(yg3_&!O%i$R%(t~YBk)O{L(OjS#rI{)ZAM{oXycR;rSlh+#2LxD zCt93)Pi24KBZHa3l&Z$6DaiSHI1PW*?@7rYdpvR>T2}t6DD68*qZenXp+l7F&+`p5 z!^o z>Q*(Y7547qGu_wJ`)X)nUy<6x?S>yjrzl=`3lx?<;h=ZCkD<)aD#&%YYvdGvQNiYT zni3W}9C`DNn}5EDlU%N6&lyx46W{RROX*r& z0jpU=yBZS=%^b&!)um|13wP(rqCduc`IMfPdpAVR;fFkr1LGi*(u+HjFQNvSOk|_X zb>+iFPz(8m+Q70xq$AP@U}I9@E|@@L51T>)Nb%TYcWRW_ACI zm5U#v-e$hu%{Ch6{v9F{7r$}(98Go3x`oG#!u9S0Z_7D4Ywoy|ms}tFddu!WqWFkA z(F3afNuK%I>FSZ$?{`#>Cl-XCqfQo*Ui7h|-S9*On_*sPHC=d!`S#fE2E~K(Njlnn zmE+$(aWPsP*D~5$U1LDfT~ia&!`>*K!}nZGyM8d}r_HMe`t*^PgSrm<FG|ma1G3R$4$5W!Y8tC-)H}+iyW1hqgXH8uZHd#I{wXR8$!b2XXUzSkJj&GM z+J&Ce87(y2`#Z@`+UH{oPK^Hw6|+30ET=yBv6IzCB|#pHQ6cXi%BAEF{`akT*U_K% zkKCy{M!{Nn<5n^%+)4(0jI&zB@@)F+S>E_^vt+4iboDxqvY=s#`TXxp`v5`9?h{FN zse{&MLI&4^$M|0|1PEMb36ANny4J?1*B}4-pkMx4ZM~SgUm8Wd8>U3+d~=LyWzYQ4 z*~DL-AEloyD7F4~flHVEu!D)?yv{?WDXHOwht!eD-&?IsN*%{qjsFuNFQ3^{$CrPD zxGwu1y@CxY`1>In^uQ-+wu3H49`r6>9$D!AAopFOdfXj+-`&91Dz}Ee*12k~w$%3qB^LOQ*;?o=p4~g7M5{yW$$dU+Tivbz!>Ce%imYlp!K)Y_)R!9TV-ng_`Vh z4r&a#+~W7v^8TBNYcjXoxHIIbsWtTCVtdQu&$KN4{YSsub0?k?t{J0fzNH~v#!5tz z$H9mCVVwBEI+W6IJ|su0bRJ0fBPq1xpy7v&zGHNt0qH;*+5X(ck)#^sNRS zera`XvzBMPGP5dG5#m?5^lVk``iYONE^qYCDT${EPth)unA@UUr2@o8MQC^_^^-D+ zJinQqnHW}mlaeLRy?+1Acf%mHg**B-cBEIss^0xd_vo)o3;se$>D#HKy%)2V+qJ9d zYv)Mcp9|wNb0R(`r``DRo)P#1$u4AI}VP$H&b$LjYlhg-i@A!GhLIQ zbLN<7Os#LFukoIFAQYumc24`m0nAgM+W&sHdvIoa-WA^)7@B!Dt}z^`Z_fJfT{X}TGYLnR=t$3RkSN>t`zO>73mJ=JN>Zs8 z-}R-le!IrBa=QsUnYkSBK$zRnM|SVSzHwQ%9z~I|nlXR-k9(D)o*e>T+9F8fVeqqd zdG}|t7S~ALW94toR@`N)-wE0|ImA^MIh}#wNm0Srk{ts zJuef3-(K8oOC2}*Eb4h2ugDN4SGGZ`0`uLny-`O?Q_fCeLzDkl+VKl~-!&4nS}p2M z#6Eh~bDW)Y@1Dn_LX}*WrZ092l)JpAIAOGSwvG~I4=eZ_?i+=8`89VvB}nG+Q787k%`%HCQxleuLP|K4k`?mUCEmL<`<-DwoN? zM(wtjH&;Ggo3DZvuTD6UsIp6|6isl8`oYIHF5HjwRxzdyfAryeC{=R4fKUVSzJ7RbL}x;A-D~53ZN9vbFSNl?JfPrzzMhWYMBQ-oZ$TS#8i;$YsoMD zk-9IJ-xo;7N)IGRzc8ItWUG0#_LTcN-DG=Y+rF9Obb&7w?mf3}cBstD`|Ln5@O^(c zRoP<}i?I(m-;bspe^F@WL;n3kdhVh9-mRF%G?ub~`=u;@#!oOG35t+}(iW47KexP+ zY!v+D-C)7R*`GxOeu{rki~Xw1#Fu?Hch!2 z`?xK)ZA~CKE4QIO=XGK4J=xZPFHWkD1w=^F=3Gu&&iOk}7 za~Qq^Qnr2*`}Bpdck_-;F{v4X{cFFD@U{Q(4_PxI>W8IPeu&MPO(AH{y?c=K?{dtlg%W59pBn>uJswOM*K-89i+YDk1xr!tJbl zYrujbwW_l8&5*MgL!?!ofPTWQQG)+yMEfvg~diCBYSh>17 zCPKNH*CDl~QcL9OkRf?R&+6X(ho_}a(0G4|;S$^h$qWbjm&>ZN55~c=yB@IxpRE)a zKVQHjNOGaz!&89^+z+W~j4vu=26&VTMbKxsr1QwePUzRgH3xFP5o$b<_f-08+t+Wg zroUD&KimsLTWbt{E5~)efFuEw_Z}cOPmyqR@wL~Qx*Ru`okBK zJ$$QrJl%BonN~D7ZuZ{bjxaG~=H=}f`m{EnmxB4C@HtyxmG|={0X~`E`2wFZmx~1; zo~hFDxRqp|kGA_la)WHp!x_PL=vX+)q2g`8oTWhs8`SF^UX%g+Ct zS!HX;Hk8wUS8rdxX=2X17gT$^EEiif`K0a# zj3rDVnAz$7&YbILAYJ}mmb*Xd*m;+)p$|KnD&_P1TWkVvc%B_6_92z2$b7flD0pYg zKVhi2pXN!cUYV_Fv65#}P}yDn8XDq{;-NJRa>6_cT_F>0^Wr%zzZQN{MUr;R_JukY z?%_a#->cQ=E^t^qb?<*95ni@tPG{^ogx;pc^Ij#wL>8AGsCr9}Nml#*J{L;bOXPT+ zV&=7u$%q@b`P>+; zYH2qZxP7l*Qs#T}A%yhKshH_TVb#tdcNv?y3tb{4pY2^H@{hE1F$oGB}{rg_4 zLi*D^%R?uIdH8+`j2?!Fn0ebMAJ%)FxXGu4FC0NoDiWxP=_MX?bm_9G?T&Mdy2-CE zMb4m+sdT6TlTcf*vemE)6|#x0rmu{d)3AfR3~rM@;Ja``I78Ec(JX zY$^_qX$il`#Vq=rFB5jiuq0x6$sump|87YoIz%@b)<*~L&LQS2G7^-Zdf;bR)*G-U z+?_L`>);X`m0Vxvc`(Q9mzv5;FN{*Sh}L=Am-p5DvR8Ge#!A7jw(+qDdM&NCwBmB- zxy8EWE859LO3AB#l6k9ig`j&cf=SE&s0mj=KfkS4hI$87zl};*5-*^O;B`z;KmvZ3g8BQHv zRh()Sy>@%LYQQ_-##+zr@id>p561;__DGdvWz)Bw>&vIo9k-n19!Tvu@*#KMg~ZA9 zhK3tdb-j=1c$$Y!eJh*Nca6I|cCa^g$%t&ddXA$Vlhc(`ipk+8f+Am{+OO}OaSsbA zC&B)<>S%$B3ry#$SD9mt_a%ETxGSACpeU6Ojh1Q`nXPOp?kC4M1BK%cLj96$lQIYDQwR{Dmex<@ftf=HXjJiV{W@2xRxs(GnB%zOh% zZM@9bo@r++V-!JFec+k#DDT&lyB4zwSLY5Y$_cJBiv+no&XX&WbsqoaNjgvtZ<3*kt;D+#t z@wwQ{T@T)>Y0AVsk!*b+6iXu!^U~`=KO47aRTR<3v#U|D@Zo8huLp4|*n1@x@*!u7mIc4HiCdTNK4e19~kgg#$m z{d31HS=X7TIcnFKPH=e=sh4JYnz!w34k9VZ&}^HFEcW5--6G^_;~5pFr_Zk}*;gNY z6yL49;`SVL+0}U-<10rSv!FcaandyQAg75(80o$FTe|E;Z(h1v8@ifv^-?50J)&_c zP+?8~#$s((q*0D%@+F~DGH=@Qq{q0dTu~PxWBxLa8`F1BJ?|@GExjsk?vs|}eYkzH zJ~FHY*8)3(CNCdME-jH6K3J3B&wHB>zBso zr40HLLF*+{rCyAQPlc-G1X$vZ(gls(7uK#LUH%&OYxUfQYxOVU2$AQNT#D`XdtHTWSqq0)?!-LjDms4CcUFjaD6Rp0v8g|{;IOBTaew*K) z$Bng5br?`3^H%SJ>3-Y_9Cnc{O}PX4*eu8m z1O&)GF?~Kr*^x}KOUL<0uISW)eo2i*r_tdM%vf2asf4mdf$*DbL7S`MVWdGK^(9un zT&qR#zvupR(0-nLEeLX3A%e8Q_uQNLx<(kdJ{TQh7}cV~enY)-@kf6yA_)3H3|G4o zbHUmrX#NM(TxgNaud-L1};TiPbaB#~<7PGYX>jZvPWj2rm#~1k5Zx_ zNROLPEDXzu0QjetgbcN zZ5ZOa%`0vtec-zjuuBV1u2%UDmlD1siQe@Ocd=8=Mg^3GuNh(fMk{c*db`ogxLm}% znBBlU|5_|e4E}Kr6djIb2;vVGG52T_(JO_fgbzyn4_LAkfSqmFfwBK1h*laPNZL0M zbFYZVVOwc58b$2nupJ3R-+3%-<<$<1WwW|01YGf8JTd?_^>znF0|&@}+7@hf+J+%T znDL&3XHWnXAqNp8g%{UexJBk~=Rv9oTZE<#b7$N@)j}+UMYsrS%YtgcF$Bq+b>pht z2s+0?|;TBJ4&a zhc~&MO6Y&xL@NX7ah971FLNLrRRoN{k&YOVi-qm7+k|0kiD}?zWne^I%$03F5g4}$ zfW3F#gt@7JW=4o8#v($GB8ZD>Xc{&hGh=Bl-2I5qe{og7czS%Bfrc@vAfXh-UU-`8 zu_zMXZ4@6a0Ey4@l7Kgnpp2KXF~X~shyI)Pa{CiA!9~C(T%(bO$|4;1a|5iIU`_~9 z!sDg{ZgRCliK*a?%b-A#t9S1hhTWoU_W;9&LU&;7o6DULHid;5MC`!mVGVVV2OJpU zMb*tOmZWSDbVQB_QpU67Nz4{^FPa*Dm=7!=4AGi8P{DI?2PTY?Pz>3&6_NhF&$|`;_=$=g-=zHjGH~;Y z=vUJMf@MB#B4V__7KB^2*epKABCbqsB1pACVRxcswtYZUpY%`;-UrrRbqryf6lI5l zbU+iaXCq6SrXcR4!~}h^9c9jIK8(Zd zF+g){=M6;Xik!wE`Pxcn<>K?Hu4naD2yk9|odDQU9KvITH z3vn`pNO*hYjqP=ipjEJN@QWq$B(4OS5K=0bcR%ovP{Ox&*90Gd>6gxlaG{9af;GopmMnuqybj~1TF<8n3loH`s>t_Pwcb9HKG_I1eZU&NYxLe2KN~-?isA1kp zQnJl_<4m_m)SVYB>FPmKos=W2?YtX^1S$B%K@cuNB~*uilJW-#MB^Vj$g!n#_M!kX8Hxky6iJG8kXY@TX3MTw^)yW)4=|nPtMbsP`gdQMlL~?6d8m zAUK2rmAyHzaCq!5PT(KN6c!@%=`VyDF8&Cjqj?xahfrS7VF2d*ObYWalFGnMhk;5$ zXJ1Oh%g}-K$HPk4-`*}EJgxs7B;S0_`KusE%V5>vuXmjv2u~4y{2kaeVgc+TRBFwC zgXJ-3ijKPphweQ;w>+y_A*Ex)9X@gPeI(G(vhBzTQV8+`GZ+3;a{waSY;D7q_>C1= zZQNEMCiG-mkXRBjCOFa**oZTeA@av2*rt<#bNj$_sf*W`BIy5;Y2Xp8EUn|jTl)u& z7)0IPBS4)Snt(yIxu|f#*jc6vfQgSX!hzOkd3c0@j2z~(2BzWkWMpp`t{|p#2E~az zv1{X*R=|Vh9{PtdN!RnL9AxV!a0vgTXvdFbsK9DApqOzLVOL_cu0brV6!4#lgdoYb z0$7?j+|5UZhV5g3k$P3$+tUx?_?ivyrNMLuMg<4v5tG4YwqPnC93Rtd0anEUA4?8< z1%g$KGtDA$Iqd*e$r0AJ2P1@=9Vls>%0LkLSi~78EJ7BZ!Xj|=A)ETfTxuf>0$2gA z_3$@!LtiY-rX}t zXE=c1Deh6;4jw}O_1vaL3GAjW{}JxnEgf6rcWq=_eH>@*LHsv!1SMzo<}VJk2uF}z zocR<{@-m2KY=Repzzsctg@*lGWS2f*p@b8#P)PD6*20~;R!1kGByt78alqM5XhxLx z`+U5c*B&h7!8U}{8BDG?QuqlkTe){C8GG4!ZIuj0uaWWK^#B|VhzEaGvbn#3k|qOd z6u$?IZqj+-C1-GDi=!5~Jyv%Cmht{ZG>E_$7vLYxu#AY7rTwp>6ZAzUFoxn^A-Zky zMB#!zWK=MbE1G><{?4SW?F!^45}~jjAUFm*H@3{d!Vz8P?IY4zfE#n5B=O6!n`}!4 zts7bhR}I3ua56Ts7sP5DaPc>)z2w`v-O$3@yq(-lxq$`ZNdYq)MT@|@-GTRYnnif2 zb9M)a3IqYZW7i!mxGe*jPqD2*nO{5R1+X^_+?e8rew+p?SO=GZ+=mr>KXyR|FtovO z2!Bo^f%!eqig4#qG%GF(S*qXv`&qFY_?G~f`1?#MBUXxKJ#P2To*0F~Sts!ojI6ej*SU zkdK`|0(d3O!;XT3f++-HV^6@7m8`xJe;8DCG{h9J?_fBS?@W)}q6 zJs~F8^b$B>x#MUvT%ib~?PkGqZ?Fv$gTWO4s*h0_%aDVsGicE8?tP$@8#P96YeNju z@CNxA-m?k&qe{*R7oP-?agxizgAHO~EBkg}w6L%~IXzqx0kAkC5pyJ4Cm7BOLeTVc z5`rR2Ie--)3!C|Z>Fe)_iON25TNxr?zKgg*XcU5ep=byq;1jSTfDhH-o4!p$auTE> zD)<9DEZW0LN)U!QQwo^h7p(*bRMXPHHzPnCaC9PZ*zE@rV|bDRTOB&^A0vFf5J(di zq7;ch_Q1K}6kBJ6psXA`I|jq6=l=uU@P{=78SPXbAE?NKRa@k0e{j!&6E{Tu0{D>R z)NKSJ3u^@c2u_zmAaUSB64HAJ1e8wz*vAQ_&;$aA|D!Dk_;wZ^6!S8?Z6G405DU4{ zu?3;aKr?K{giw@R5WqEdQNRl)LDDcmV3LdGjl~o77z_FOW()FXKOG8|%>-9$Ji#Ew zIC_!13P`D*%fntNpoj=A18Vs}+|h^s5kDOa%C1HV`;T(4^93-%AqN^9D-gkP@g4ha zgNSp1ofLmg6p-8DGQbXDz^E1L%Xl78hX54{DmyST*a>{{k0r%en3?(}Y|erb=Zr&W z4P%|$nmKrWkV#7f9l*=~kTwqg`71hVxBz=d!Z8VPXV;XT$$Q|=Nl-v0cmi^c>#mZS!r7iF=Vv_H|5^styYSZX+4AY8r7CRa}ISmcR4 z;kD7%#2qdLd?+5|0Xe7Rgb)dXNd)lEI~@nheF?p_^a+&-k%aEI1zX!oF!SIWYL~Ss zK=u@RGq`wYNdlMecsAzoI0-`Wu%{7-vbj|M8Pg9nY+vb>p( zriX1}fOH(I5$Qgs&)JyyK~TyW6oK?F;K|_@ml`%{1$mc^28E+tm%p79WDoFgzjyc! zc$9ScKO%zg7RXb`U;7Vsg-J$)+pr52SYJZ}f&6GF^l0Yuao zfvCX03qhD_Vu2$#FE=1|#3);7H-a#U$b-`>UYPRjw#b=9+XYFeBsvZ#X>g_j9#hD` zT*csqbs!EX!KpyRUb=XId*rc&^ZiXv1*bUx98MocjH#ubgXNz<&?5sXg7$beVT=4F z9?kd9rZ1BKlD2C6^s zvHvIpPq|Z5Z{B@xxrWSxV1k36V_`i0SQs~~El!Vu>61V@Z13LP9@zN6yB2tZp2$v^ zv1b>@zg+77Z<0fTSeFDeUHOY!Oi(;pblqxL)@)ilkW8^gP_mhWCVwVpqo3U zf|0nK8Vwg?1*}gbZkHz_;InH@b}V>VK@5~9{%K*4B^-AKR43mVH1|Jx@9_>86oW8x zfr`QpGg~&6_HUTy&j7FJFK)^N(;p*jdKTD2n7@dF41O)3wM&39#b3>Id7IqlXTjlx za2n)H2GSL;ZX&?YNDH4#2EzfNbfzlqPZNj1`2^g};-4FKS75m^aCZp}HB6K8KSF(~ zMxk3;a^uL!%oDZunRxH7>BC_+Pd zw(PnDcIYIqL*rL%Y$ukcgq=Z2;ScBkhe}09d(2T#Rx#i~1pfN=@80Bgod8=#zy-i1 zoQ_=zD(+>0dC829@J3PQC6;^W9|yI#_^d-fOJD;d>jhH*mS*yX16o6!$ydi7zw3QhvIU{%s)J_=0yXy!~5eCC5JFZ0tk7eH9hzA5u z#*r|9?DX{5HLVEGkkiw`()mCs;htN05!jW@O%KcMqF07DE`oJLXjjBsX0$SBmXAQQ z#1HoceuSqB7hqc%PNWc*pTa=2sQ8v>Fo*tojB>mLAQIAumC|qp7J^fjh?FTTBuRD) z(jZO$KVA+YbSfejaCj7OIM~6G8kWum^+#wX!({-TQ`!PMTn2p~M;;R4xID6tw?K*N zgDB%)$fc=m@t$3w+y7DaCz-tgOBm_rM8n3@RWYPo^3U-qr zoHR9l3MdwGK@j^YVTW(&!j%9f%`G!=qKTNvT?ou<{k#RHiv>6@4WNk-SAoT`fBTE0 zzz&}5xHBgrZ*LL6LF>3UFk^E3Bku(k=SIS?wLKQ&pKTCPPT)h5{bXAZFj-QAFDU_~ zjT334AiU*BJNSzsXtb1!px;^OZ;`=dxwTDGKhMP5rX#KZB`-g2;i3}IjQ=~G)Fq(j zcMHL{OVEO_%Wrxx`nyq+!!9KtRyeB!=}Oj~CtkUMme>boKnc9Av{wWxKovFp^$pev aFljO~lYu=Bg1&+OWaGd)3KHPp0R10VHYDi#}65r>du_ zduD37r)otaZCCchM|1P}G#2@l8+&lA%SL3=Cs1Hod`I zzchru;oAHzsNYK=BP6@VEV0~}rB&E}KmcqKhO{$*kqPru##)7hZm6@s?(?H>WhO;d z?9{h%NKLN2fyCFy0zJ1|ZTi1(s`i^==r$>-E@EpoaAS=Qoh8l+yYsIP60! z6xrc8_U6E0;48qnSOg(Wn;tETM(3a@e6gq1VTX2j9DM1hF3Y->+y#%xG4;$tZ><)$ zpNzr)0hAgBFSU~(a>--3H~FXj0yV{&Xui9BtJk=Xu?yUNZYZ1B{)mcU%yzB0{0eCL zI7||2!&&a)yA@Jx3;d}Uo2-N&f*~Du^a;CNj?c4n^B31eiFS3@Gc>-GBYmV zRiD_GyoaXt66mD|C^nD zD!e8I2Z7q*(h`xO2-A$1QU6nls8DIs3aGG+8Y>Lo|K~YujRN}r1~of6|IY%yZzA+R zOY2WkFg*n1|E+3-4GGcN5d;$1fJjRyL&8r|(nLwiV?~8dLtp~K0pv>WAJcymSA$HWzoveut6|mvA5x`wBKa|4wNV)H}C4zDdX_dnHZrXpFhc zxoC7WPoS+XSxx8$9=1kA-3i2F9Bfm+G0gd(B6%P!zpbvWdfDdQb*8hWK$=)i8t1+R z{~wMV5G|+}bj_4tt`JdK}TtGS9pmy*(XRbeSr*;dL8RC1OY~vG?;ij*&;) zDb;PFr$jlLlbRACT6PxW8_E(!U))4fW8bS$u6pG{W~hyE0nWefT$TM+?)K@&OuO%< znvMG+qfAq(eE0C7vb(T&1ui$PY5k!n5&6v>x^~R&y2qkW&x{w7livqAo2zcHir!Y zBQg`lLfYExCA(Z&*Dz7e%$lx#&tz}_drFrvmfMKc6qz*&#a$5j2RQePOx=-CgcfZd z`bj&iFo4R85LmZta%Ao;OQML-#75AI%h3b&ut-1%6R(wE8zDiz@6m@`txhtw&Od6W z5lQJ|;>l%}q$ly6T7e(+G$3-DHF1wbdz|hlf7bvD;kmQul}hXcaZbC;Ka?ucQ|p&o zKl^ z?!uoI=CT+FtxsTs#GujML&a4FtpbF=p`DA{s1$xM*3D!Dlt)S%g6H;G>D0shlIIM8 z8|y|$Brb>VK7B)(s)9F`~3uJ#SeS(Ctc#<0sn#vJd}!S>UvtOywWPIp#Pxtw#!9qeT`0Rp!A zV#N8KcQ7|3&{ca6?pc2_G<+ABXPv(|FZ>zl#Kju@ClJ$dNB^|*w zeK*66=SIreC}u&}s8q$YV1m);=jEyd!icfh097KjiG3IoBC|TmZT5liMyMCYZ`c9d zDxCBZ-5p}$7jRiG?Oe(@`G8%X4*-epJJP@gX`Ck$%*8s@ct3oLuEg2rZpAB?4CN50 zw10|qhAerJP*K#kF&$L^uM^%J!ej>*9h*!|5*u9rHUu6WZR$nrQ0ou5tQ*SHPA{Y= zMUb^uTHgd~JtuKFXx@_)06<`TSnL=d8K!~-tC-XUGG!OMtem|dG!*g<;FkTUXwyft z5VcFOf(J~g{x56gDM_FY5j{v33E~Gy$+%+v9uIU~3B- zra-~OEXFqem0a?ZPX}WIpnBL2`&(`FdvFu2(OtU;&mwD7@!|&aV7FEzFQDV;=&jPi zks{1aZxG_2L839(Jtf+~f*$9*Vsl#Q+A-<|iJMQl^o^1W4R|0?@WQP35dS0IDvv&W z`2?n7e|UhEhO*8}Ve!RO+X+RuagK7>xo*0}N^=IvMuQLRFbfkO@T4RM25cpQ=ajai zsn)`IAT~jer@yryv`E?7<2>4WV4mvs%xouzeR9IECG8|cgHiV_v6+N)XJd4lwByJB zTViLcrKc>|{h?;&llW1r@lI4%o+A^?a5ab{4w+<;>5Z%?+7OZC8FPrN0#T@r#!wYZ z!?%6+Zjs}0g)xx`n5odFt42Q-$}FC9VCwztG}{ezjaX}ObxA?RUNF2BFY;`&>yw@5 zsIh+`&e5R96a7LE;PdiH)Mx~23kbq8);;)2vc@{CDgT$SA{QHKXT@`WD12Y2eGPIr zO1IAJVo^MnNpfuMM?TJc^{tshXl|2A94qufuN$hCL|Z-tsuoK--0%tp+oqe%k|b9;D}F(Z9?vNbZwNh)9i zN;31!nfquc6Ww7)D}F@%_JGeA2r!zVW#-VuGk8?D zuYSwjf^tdcR_x%z!kt6XY=*t@ujI(bthk&J0$b<@(7=kew)FnSZ3>Hs^vX~6M;oSa z$)RddV8S@%4>_u|>Kf}) zOnuvLrI2=oDSadOJ6Fxo4`f9$jaZLklgPCG-2!9*J5-5_by> zyX$(W4qKgQw~Te3UA-|tPNDZ|;Yw@$;n4X@_>ulaxz8_wu*EmfPGyPr@V!BGE47s7 zi`!B9Swb<*uhd|b;iSdaBiLg}So2)^{%|uh zXyJ8Hw=ONlc&1$VsmY?Z)I?Ui#NA9I{hC#gxYhVx?ODE6?C%8rRr!gnIC)&&0|#1)|FuqZQug*lpJ-Y6&&-BUR5F4oR!Y60$?jPbx#_UcX!u_e9#I~G&^=M;j5EfMY z=c8o(we3f(mnz#&Z{27hy==P&NPM1D&oVx46)+0S#~CoeQ+VkE*7mBArJ!R+8V|rt z{}GpW^Ee6pBI|tLWC+uRG|b1i3i%SsP6HqY1QZ6;#%7W!Gi@AsTLjGIEO+l{=wZ9R z2RU@xtA-+Pskco)k2OT)>z;69{xqu+qIy9-hLluYh8!kTd5+bCZ-r?Es_kG<7;kv> zX$=}T>yU3Wbejf`u3)2=#6t7oc(hSNFX5 z%=Io#6*M+5%RgD>M&us@1n5Idi9ncn2A!)!SJ*j;76x#Nd6KSp90m)j_o|xD2Mw3x zK0uevZm{R$H0Z8lUgS!mO=m0#*$Fc&cG3Nznaus6a7=#b=b3RJ;k|Jt;c!eTY2ISD z!xD?fl>(7DJDGewD`ungW;JBCOQlyWNgC{%r)1wh-)}!sJ9|n8xH{@G*IpihN=9OY zAf+zvk<3Ikkjnz|7ue3m&9Z3UB<0CgOy?uQx<*i55~7@4FxQD@HimNtxmWYRpR>;y z28X*)Gf}3D7nGoQSeIH7GR#-?dU^OCkWY3Ode|WekawN@PHG60V7b{5^^mA7PDJa1 zm4mtk8iqiA!$>*6>#=YyjweFmSpfsaN7f}sLZ z;}GCRtT9S~B=XZaf1d6^bAO#%o)kvnkww*gtIUJt&M9($h81fH-`~z>_4-N(HxoGh z_$A_lXps=m&bv1QkYtv$a*cCpmP$Qd9ld%6aBZzwfgFW=4-+Py=D&~SE1!p~ndFI=D040N=L-=btQLQae*hC|Xl1o!RAKf+e|LtL zQO;8d=Rc6t!Q5HO6#v8d;&WHoTKqS4>Ef^$)ln-VC?!+*utZCWGm8B<6FLDGiff(3 zJJ=?yzd+HLQ{_}JbQOy#uZ@?RvQ{G=3oHh(Kur9wE`MiEFMG#>aOh#XF7(UoxKtjLxH>G92^Te*E`_=&whj zal?`!4cwpB*lAprj#2(Opc)BM8_WTsWT7*pEf|!?@<-O)k>cROLRD9Ci_#{EZSc-w z1~-Rm`s!^6yRXn^fgR9C$DLvL2w6X7&n%W+;rQb3#J}ZIs#!bM!6^YFZ1Af;iWw6; z?=Yud@#bhrwZdnSO$LDDyXy8qSk6Yry3&aBRV&t+@aZp?7xw8zRS`DjGR|{qN(6#7 zFl$nWUn2@`P4;tIpCB5E(x1qj=f|4EW7qvwDQq9?A;G}I`s~Qn&Zk&_I$Vp-!|jzn z6{~l_q~{6Z9(wGYQiu-x_j#sfK`NoM zG)c2&=r~!u*k1yI!u1AZ$F|^}Cc@d@L$(g9N*xqEcxI_GMtaRwe0Y$xpBFHHhcDq#6Y7i@vxxYd2-j$B~0t1#u zBD)u2FQP(41!9b4Ldw(!fwni*5}NXqd6I=%L7g~(JtM23s%3>ue)(d>TGBzB_?)*S z0qH4p;@ZJM|2Mj`;p{!EC|aibMEt>3jvk!gbtJW;r|f=QCvR$vOxKYRz{fzG(&5FV zum*6+#u9u?Is1bq{l$<;#ocdD>o!qhA^6ke`Mx;<=4a{G=osD1wuBIuvDE5ICHnOJ zB-K?TG**YpJVym2^eB!@$^EXq}i}u8E zMf{t`r>uz@m6qn?g8bf1dv2uBM~0EsQei-`wenJ?5?^P*!`F`iZ^6uVGWO@0u4<2t z+nL?DkZ^vk$sA}9Ql=wn?+@8q;PEKdM0ebc^108w$IyOIVuvsGthCu4SVuEfKqW-jlT zW~$Y%{%4MVdeN3c$3per>tDnAi!IZ*dUUZfvGLcBmP=V|Jr0D2(AjT;8?_Q1c>KHX zzA-1{)3*ZCp59rUu1#P)+vlx4=;Q#UslVm;ICyIqQr|=e#Mn!^P@-Ml2wUOiidwFjNl9_5799*!hZ!dVmak`A7KJ5ige*6UZfm$+BI%YU$+>0r$)03) zT%0+xWnOyO2KuqNGE`+~tVKEpRvPq!f=}2m&eyi2^U#nViq!>JZ;rveBz!DuprGlbSVsh#m=&1Dct4)y7-B<4oeUx zCJ*d86Ad1iq0t@BU0OBhD-lt!b(db*$ldkRos6oJUATo2@<>uw*LUbzr|6(ib47D> zWZE2-7NLWCxY6fs*8+S9P5*dg{ePjZqwi>O8=|${Rl7EAisQhB%d}T+Xvn>79khZZ2=IdDR3Y;{=4;NyzeBzGwz z9_Xd=!Gy4tQUZ)T$qwAvd*&ajjBWH`>@vo)+N6y;b+3r-Um804hnWNSK64=uEj8D? zek8J$dX6?j(HHh)pC!e_*o(J`>kVx~gfZ~n+wNeP-?+8-;5%8*ZAt!~gnD}+G6&Yr zMU-g=*$Xf|pl_tUFa8`O!Fk@>7|p(i{ayiPH9@&>BL=rZ6ImJZJctA5?A6 zlKS4PTflc+CNp9E4M$amt$q*sR!N6J_?vybj1<5^h4m~KF_6rBN@ZcO3)ONd99+qq zuy^U-jL?nWoLT(Sm0uchpg0=g)71g11G@$O))(WbnA8x+a{JPO2wqTG-+-`)IAm`{ zFH}k#ztsc^1jtxPN^^M0?=%-VL(8*L{WdDO$TP@^pig76Vy|%TO0^M)r*TCSN?M$S zf`EA<8vStrS%^m!#p4es<_Ytyw*l1`$`BSs{)`q?QtisVGxSUX$$|N)ngjp6_h#88 zKG(QK!3d^~QgZPIVObXCD@udpa+a2jD7yYXn^#g1a{Rv+&feuu6%G>?5L+JLf_8~!}yEM(`$ajNzv>U`YN90 z8BJ3GVT)io<-!)>UJ<D$EA)dk*Lo> zA_>u$q1Mi>JyyrQw+?5FU`dOtIax?)L_$}yn!rj8yB2`yD{bF9t{!^X~wYXoRFC_gNn9Q?$K13X? z5W+%z_kGPhjqA$KJfNTF4ls9n_AdmHjIO87c3c{NqDrq~T#q{0w!@8{8`-y!*&yT1 z*-_j%G{wvG!qh|zu(}xbH>f2nh%X;OInC85r znxEQ)U=J<^gc)k2T^^N@ zTuxoF`8M!d$UEE$u%%#_v<|VO^2PO>1ts%tL=QG)kQ$ zI8eVKKHzw8q&bZ%@1YQJ_;WbXISre(1=B%8E;iGEoSPtD!nnqp+QCI@U^}6mSh6yljEZ>VfBQN%9PmPXU6+39~mb8;ivi zVqj>6cw!s-Jj7lvWfk_xkKuEI5URB*#9#vh5OGO+God0uUt96ARYEn=i(9iPB|A;& zKQ)s0H#{QHNO$chsQe`lMd@+S{Y`}(uYDe}HtZ-|%IhJ;(8tG%4rMgY!!E+l-r^&6 zbh)7<4|t47?ADStn*bvRQe! zZKv5+-mI+Ur^1A8Y3^UmpPMO@N|xd~^;jj7|5BP)*X&_1PbeF^?75`*ktulpf*07j zV`yHrECdD|D$WX_uyT6PJNwt)-OAXw*l&)9OPBn*1FzTQDgt)!d!I21O6|ZL4L}ra zUO2*YNKNS4gsS_W`F^NF9WC+`V05~@>~SZoT&Frgg5-ysN}d>{i4K84D0dD_GAC2e zh_ZE$Ml-~tG9TfE`#}fEEdRA7HrTLJ`)688%SMM{Cz*UjNYszr^98-E?YueOf_T@#5>P*3kFJZ6WSpg_79Fhe|T& zvJF;qGV;z{6pgVI@r?fn^r_{Ys*jp|1zvIsr_ESV*z29aec=yhset(KEDP3RIZO#l5Yy~w*p+3=3K!v45r0Bpovz+Zp!sq$#5= zSC;a}<9X8Ns zt=ZsAEXw!-i!7+CZnk__W_;Qpij(-^}gnnF>(Ei4?k zA;rkkOt}J~(qbNsV9**r4%8%beH6KLGXs6MZ^@h~C$=}SLFG8Le#Tg5cv~RPctwV8 zBCh8&mdvq+QD`h_P+lV*6=OWu$NsND;nCoMToXUtu9LR;kDMdmEVDP$PvqFNH$yrG zA;my?!ZpDRYi3Kf3UnP}T~;3b|9b{5<2V4)1}9p+S&*h&^O1eDu}~4Um_E z)RwpEdX-&DWR^chKq#e5@MjpJQw)2-T)_x>!4G-+sIaQMemCYmg>H%zJZx~Yi!4ig z&snoCT?{slVb6}!J=u(ypD=fP3tH$8B8LM@0Np*bj%0M1tYOXBUw*FruaIggE-><_ zqbHl(nhE9%Y4CdU1)2VDU=5_mHvq-LM!R;ptNi7_*D&%!W!zK1H);**0sC)O0C=d2<6XdfeoJfH#j)p_k5KP_0CV^y7{w1)lynW|s1_9;s1Q1-a~@2*N*+E`5JRAuHg z%}!Fu??XF>Gb@~_sknFe3hjDscG5w@$59<{O4&XLZpgxt^B=BB4$twUQa|4aaiIh7 zZ%JXx$y~@ZQm4^RKEO(todE72@>%)F^V?;=EaGSZim5!*eO)_}bs8&!NknbzA+Z{9 z*=|b@y_}Gh#`$XHX;@5o!|Q`a|4-;X4ZQqIZt)mpc7FC zzC}7|jr_#Am;h3g4B&_1cdpO$d(oed1!6rqm;0|J$hdhQmOE`QYvVLKr@I>h0~mQC zLixNTaMF7Th+AM*BmzED59FT(+=!13-EuhEsPJ>uGXcpc|DBgt&}y? z;<6PB6q3uo^)gqet4tdqKUgXpy)G-F}ZycY{K=$*-;o#+WFp$Zb!`C zG=*%-5^cN?;t#wuCUa-!j4(~BUJCdMHEEmt`#m1^943nQI8D&wK2P&;5N-ZCUN^^| zH{C)fX`4&Uz{K_#I?*mN8M0GHj+7hPP4c<9kguA9-=5GggY!g9VDD)92a@c-d4J`- zXSm0?Xa*qp-d-xt5UI#t!{kxId&C}gnf!1ehjmp)0!^5Jve4d0(ui$=+ z@o8h~2YZY*vJZ))r(q&R*oKcS*4xdZyl?xl*%>3GPT)S9&nR))P%)p{#F!rLFH;-sdy!3EbG@2ufFe*2E$sLA9iSYE`CL(4qw zk~S0L5GC$rt3EDn^)v{sBqaGD#piwC1gUplctOACWFEy*O`hE1f^wcT7M3oDxriKak&eja3IkE-GMWh!s6|_cE~}; zg`VrL{L_F}`ol~)(OpuF-5tJfKX6EwXylj3n<6;bMJuxlaBi+M&s?;bDN-F7oCn#f-OJwKciw$J zyQBSgOzpGtjR!bPBj~>>Ru$9I*usJvE$6vDi~)Xa_RF77djH*1>oqJ>Xyqc~{=X znQ~l!otZmEHU1vWj9u8e{H4t0n(w*if9fBL{K2~OwIj<5AK$BE6L@LX)%e$+2_T2& z-CNHQT(5$MxwKb<>fsn;8S|c)Wb6F_I^;li8@%Wp-ZF3E{U8l z;uW5VB9$c8jD8JSt}X(Q4k}`g%0e|23`G_Br+H|Ao&(~8kA9DLCOJi)d|WDD!WNc@`@nT@vYkoOeA_)BPZuED7;J_0H|i(c zX)^RN3h-&0oEBJzK)<*o3|eQX*k0~bQ#>1uWlnVLgawaW6&-;+6p6a4C)sM%qfVlMQ4^R$;I zEGS*AB5pqqQpG)cFYh&d>o{UaWc-New@Yf>t&1XC?zq@Zw0qv<4;Fy)#8A(wO zLqcb==HS<`>>>dqkEmwLIL|DxYCOX3CTu}xww%@O{=&Hh8%k>XJI-(`;+j?7>g00G zwnk{UQJn!??boaf7%wroFs+dX@&h8+^IoSwvXTf4gqd5g5;zVg^u@*kQ(t1YaM4@9 zl^{gbM!&hAw2D`TH^oQ{2u1KPKx1Q3s(|}T-tz1BRVi@OSWLOPF)>s-z@iIx{b>`h zdxAwui|fs(hrY<6?RiDydORV(V|cY_W9-bwP|cvvwxlFK(gjs7wuhTs!e7Ppht3n{ zxo!7Py(}I7xm+JnMIjql;tC;?*N!^&l^6HcW#VQrRE~bzAY)%c_LOLH%{lJEYUq1) z{}dxXn?67r#&8mg0^zffrs6Q`y4kYJcn?zkuuIPFq-UFNafhd!*PEih+uuJ+bX^uh zrNyS*8Avp)NQ!IyF@4EuV2Frm`bONT#h}*h^T=XJu@gJ(ie2DNdCQaW$45U}v-?3| z=>=)|;8WXfBLREY0SP811T2;De#B9qS*D|VWgcK{xy^n|^F&+HKT+wP5ob;c7Dr1iVn2Q%0)?1@c{G};x6_@|n(R<>MIeB>)6XAl zJ|=R=$&Ir4X5{a>v55be{bV;jwgi*IIUhheP9@06xkZ+o5a4-^>3{odFE9W}emB0~ z?I{r21bin1PvvD|)p{e!EBK`(XXc>Bk0zkWpHwiy~5=3Qcc`kq_ z{Ds^qQX@UxhKJGd6upx?Nw|PUlJK1RL*4F5Ll(5bUbbKlZcXi@uSV4$oPD{uDE`tF zZTKZz>VJ8Qu!pTqIB`@gHN?QOrc zEkph?8w8PKt4FW%p)rI~Q@jGyvRU9xPqI*cylG^zsID<^Aq(b)idp9}&KNIfxA*0E z=-Aiq0x}*h#`}5b_&S&9lRWlB#L}@fs8v=5f+l+NO7l2uY8R6_d@+PzpjYF>5PNx$ z*@n2tj$3-utZjx_W{ciMm)x<&wNUvi#|x}3!nLt!()_?J#gWrGqxfo=%Ldrki|u`+ z`gI%mx5{?)lVcouJE7utXykJYXZCQR?jk`Ho$Na*HR&U?(=T#yAf?^ zefe7Kgwkl;_vEnM1h0Dj+^79{UW0n2H#}v2p*Q@MHsKk7KEF+MMf@1t&H0R244M%r zpuyj{GIa$zaBzSAXIT)mOa`1(z6+bi6*ZZT^98Tq{+S|ihrVTzH=88kMcBZCwaG#eKGVkv{PO;=)o0 z<>#Kgq3kWl)ba84vEd;o9URM7VwrU9u7w|uD?N=a((AJpvYoMa5P+|*ymQO+)2g7* zLP{pyH`pD;+RJ261P0i41LT2TJmN4TIIK{6&G7P7vyDDvyvujVMaSHxsCo0T>KK*% zgu`Fd_S0=f#spnHFH`TzbGr&CX~T|0Gie~pP%>xLx?{CWESy6X^YQ}b_{7vSzK~BS z;WkIj=c?&W%Y^=SUtrqyYk@XJYQ0H%3zrb*By8P%)nWzWFBiKwAwqFfWHIN=Y^mv)1FU(`7m!};iowoyApy*DX-WZYFE z+)?vAWm-xLxj=~Fzx26tU_nH+Z-TSEz+)H#Ml|Ynk6>aogPoCY$3V?qFO|@?YrLYt zcc1ycEtvVhg5evY31e+a;NLc7N`7Pqc5naR*{L%O0kC%IT|${vM)t<3KzpnOQkgMu zc2XL6&Trj%aUT3!DP*n0k&&_%i!=ZE5!amwWO~Nw>txPcxG2vQg<*|L zjj8Hj^YbXeu&VOG=Lcj6u$D0we%a>NlnjEWcD%g3D{dLIeC5B<81s=P8{RwHT& zrB1V4KOg<0E<--29Z?9wGq;laP3l;G|JihhIyFRwKqr)8hnZG_PyaPvf<>G>cE<`L zeu=oDKEz(L8l%S2X(eGT5CZIFf`0&>!R1T@+mX~$9wrl?um}p*S+6=ivd8&aAw}TU zB=B_dT3Wdd1c#YS@NP2Eiw>=3XOvA$ruHpfFD>d{B-LUg>z zJbyR~c)=H!fb6s8%t2CE^@fxt+OTCQAR>TNcHl46_Y;xN+^R7Q>Xy73lbi98D9hRx zTo7#vB6R(8VwHCwq52SaPOPs9cn56`x9NES?UdGpX-T;$(OtGz4_+8QCYY{gNyqx> zpV$h~u3Rc9MaB*Qtqx8yCwkLy*1(;dHy)$x@4>wufP0sMfa8i&izcf!2y^rTAe_z! zCTD$*=p7%gzu6#n7J|glRHAGO^xRCD!K@7re`K}diz0y_*2k``%@-^k(s&tu7 zt|^spYDq{QReP@u_~sbtI-Qjecac+wd?M z%Js+KEYbUUS?br792Etf*B1dH5On|*4lmp=uV-Rh=@1xHJmuq`N#uv3LD@n=d0d{p*^nG^=L>nhAC1nLMY-$SZ{gB+IP_Z^YW~8Y!mz{co1C7%m+F zUswB}>&b4U49oWR=by@)%Xf5U_LRpMoj)T@hOk>?AH3Muor_t383lHYe=3zJ`VWLv zVZZih`CA;YhyHa>?h+tWGuLG%k+#_}G{Du&D>TQSPsJOGTp>M3IcwvZ@S4Y+wK+ZO zA9V5$d!J6Hu0Z5TUN;w66X3tbF=p3P(eh@te}9TZVLO@T=Qb<4Z(u#3GsonI3(&#o zc3Wdgf09zH$8Ku`eClQc<#GP|{Ju-<*pv=21L{eWtFX9Pmk3Md9=IqT%rQz87l3`E zNHs%6Tj(rphd0AuFHCA6t#%zjs&)oA*)$A5Hd)Q z808xbzk;Rgi~eNYt9qeRX7zG?jL|^Ym-qpnV$KqGiPVJ&tQEjBe29V>);?UDDnWbD z>_y?(E4HS$48X0oQW1$}n-hxv)qv!{K1e5hw|^<>P^MJX%#cV%F$>XG`w{<-+9qHR z&J|u!kt?K_wPc3PsA1DE#4M}TXk=7EL&{MU9hFVzjvzGn^mtmoWB&4Q2_;?>S;Y_;OiiQppe|RqTmDMJQhz`lMc=ZhI(mis z&XLe9*1pyUbqg`;z;1Z@0x$11C{3=8B-Owun(tZwV3yV|GODY)S02T&{&Mq*o?UM} z2^u+)55`p3L4R-3ED7dlI!!bxNU%~2<%+<}oZbcdOJ_9Glxvms3 z#{5;`&YZhGh#y`8d#|J}k9_ln)RyLCPhj{FPVdpx=Ttl%ZhRbD_-u69Hv`S{4qewM zNN*AiBnRAZC}Qf(v4t|BwOMb^C=3i`4Ft;E1QpVDu@o%bA0@HtD%dM@c@+QPY|8ee zu$)~suVE0{8&A!d4(aZt`6oG6A#3}mK!OE|^^mlcb<3{MHVGL;%clw>ztI0{!2 znJaU3tPr~PWW^fmUk|??QV;9nF+R{})qFe$a0c=>^W>Q_Vg;t$?$Fb16UDLTX$B3C zZrZCZ@-XwL;qRG%3Gd*9|xl3gUvit81+@D~b!f|B8#kd%5dzIGT8S zs5Z19;igeRzT)p69UfFWH$8SP0J58A?Mi7CPtb0rGw57}j44_|%-ftqYBUN2L!S)* zp86tB7zEr~{uOQY(=ZFsVV8n6%ano4kDQQ_tsQK61ALo42*jN~B^Rd&B+-@r_KqA& zzn#uI6TCz8-BHm+ab@HDV`=G}vvx2!2x%i#$q3JQzh#-5ZAnFD;Y=*XGEM$SW}gs5 zXBaM8eU2GsJ!{I%7{!fCRvwj5y;oKMlu&dA)?&pZ^6i;FENid=4(5U*!M&&M68_?V zb>aM`IPk*V?H^oeQCHok-lbz_;3R;2lEhy;Aqv{EzwCGqN%d>;_lrfN=}U)^?TiT| z|4zw_Vln$ue<84tsdrV@e|Q@SbikEVPHP;iAXCo8$$0h6@|vN>C;X}V#LYJtaK3J$ zR9XPpPAE3ze-pzV$Sfs!(b~UPO>`@a>FMd>-%oYLxmh;lKpKkI{zO{ z-xwrW({Da zLo7uGPmGsJ%n_p%k*`JTS0XZpheJn)u1uhLwT-Jv#dOJAp$q0l5}ANdzz4NA%pdf& zZA{TRJXps#=ZNgtag(ak?&6T5j914^2O_ckHmVmdTk}m1?eE?TsLjuL#co=IR@PqL ze#ShTI#o8m%p$Pg;-~HmdsT{)eF_VPiI$Q8nZiR>c!guA;gLiNma0Usr@{sO&coeT zFYN&~YJ(i=JZUXt-6i@YfK~74aUk2j6^r%OmBULeLtJdIMm`yhP?v-x@uMIjZkF2> zu2$8BLXgi(x<3I+WVQ>Ee4XD^m+G!HR^nL>*-hFlS49=q#8q%YQVe}PAyw%hA&oq% zw3RUWzLk3?gvz^9$s)Q1fkfV0W~XL@wiawPhJqYdS25YLwMRjkbAN23TxWVd=F;f3AB-uhV~ z+pm$cdykojSItzbe@zs5UgbXWsIB(hWTztcmrJh6htu_8!36HhLqB+*wUo+eww{-N zr}DmN7ndS;v&dU+0(A9>Kco7>lj7;;K^8=_-x*>~zOQyZ_@AR(A54rRYLjn1>A?;D z@%cGx#f%**imRo#Pm}gY)kLvIR;{yE9S1#qbZcOUWr?=d>en~AAbFLXp{Ce5*w-&A zlS~dv$Fhc2lD{SyvYnb}t$B>)bOibp*h_F0j6+3iCf3mT1LT=;>7|EwU5lG8!J^<4 zU+gU$3_X2pf2sX;$Pv>>_PouloYC;1e1vEqHWqOvbz&|W%%ZEtre zQs+(&=%CfiJPU*ynH1!v&eBS~a0TplsitKwAYMDGq}Mohj=GmDejX7vSpR$dNDovD z&URvvYseiP2B0*OTN?2%|9Vm~{;f6@tVa4$!}z&zQ9ZdQoO6I|*Ol1cc+)rko=s#s zZV8l<3$&x^k+Wp6X8B>Ok-<;kG}IE`#6ot4We_MB4$9Hb&K^&F`1)l}@8Sw8TSk=n zCY|J+jeG!<9hIxUf>s3XkU-(Eor0u)2W#a6Q1K{LUaQ+^O5JjE3avqpf`b3j=!KjI|E;@wqlE~~jd&kyf6af>+P`_Av<-a^ zi-;|>0=U=->~>sE8JvKHL6Qzd8V2}!6lTitHD3Vbpt1e@-om#Ur_D*X$S0Wf@OaxU zY_G%Q#yJDY82eYZ$sZvtqpMPa-{?&tE`oh1v`BL;s4BxWM3!Kba$J-+ez_=;B*i)4 zBnh9H*RLW-N?^VYv~{>VbELA9(xjp(s$t1h4G0N#MF15c8lASqfzERp@kixuHjxoo zgDp~*#>;XiD)e_3P^e1B5lfHBqu^K72XWFqjw2H{T3-#5U2`LTB~}Hm>~#{Q0N+8{ z7I)ac!>hT_bvh28UvfG$b>)bXwjsP|x2X9PL#x4^l|cz&39G6)3QEc{bhHF)v(H{P z0j}is(ks*Qc{d0{Ol+WFA8WtPhn{r~%vT5dkDCE%0{czbIO~+|`qSai`nB|9WAl64 zqT@M&QEn#SZgZ>(Ar~ibVd#gZ4D~WRt)AMjvx2Whq4%iIRnd?tJySKFf?0H)=pFW8 z8OFIx@;YYHL$OnBTFTQ?RdVV^G|z>90KlvX_)&TwGpJ+Q{J>1~*#^N@PIoUi=VSJ6 z1Sy%$)!Ir^t%c7B=VzYhBX-MJV3SR*)`i;o3bZNo6GCYmXg1ba;)fEBDU@Vj%5ZLB zjq2;!A9a?S0fm4-RfBLoI8J4g{f=7(NX) z0|AeM9={r(iv@Ht%`7(UOk}I7ai@q>^F&SjmXUa`4Wi!zRKQs*+N^=R=6cClT^%>^ z6QIJa$oBk2vNwz%VU0mF68J!4fFX2W+5$N{T|)g4rhwy%39>H%SLw1>g~o$L`f(p{%!_T9GaXB6UYytZ znn35N8dNH>X?JMi&u8B7?#)14$wn{K1!ct^Vbd#_(;$5z)QQ8lA{W&a06cT-Fe7s+ z|AS2I{-6X6i@Ou5s?k|+`pmUmI0hKYMZLiF8_B?kgT#Ci&zkDHh8ptAASW*DdG(l~ z{?Yj9jC1|e#0iYl7A5)F8gz%zY*5Y}eRCFfyf*)|_!A1LFX#R~ozn(SVf`s71JUGG zAdC*#T&_Qp2)Y0x#ttiSKp~`zEYK+lTxZO};;h8GW287YLFoESK2?vy-(eu!Pd3mk z2aD+D4iSN;2ChX3D-mX~ndt`llj+TY%n!T#ar$6TLYV+Vm;#AF4T?Zl@%{+)h#@>A zEJWgfgISFUv}owC>OV4{4weR00*siQ@JhxqoQYh z{l+A^_s%N230;H`EAe#8F}OOJ#`|$8EA)mKsCEKtWiO%!V!1+xfuu z7Len$FQ}fZVsz_mHX8&^$)8Z?Gc6$)iFT~N*A)^B4s}%UfzuMkZZ7@vHsqoqHW+q? z5K*;1n|Pd|(d-4o0F$7@+vOk=G&!Xdy>q4M#*S9JpLB~i#S@aRu9W=AdR7wg8&pyb z*L@*f6iCFZub`Y#hg(e9Y=34_eR-quc650j+ljBk>lR98aqMY z2Kd`O0M$R+KJ2QGnyQY@5|$;?`@ePSJ1_L=KLb5EH(nH~0Jw$bMKM4nRfLcv2f0IW zR$g)6+ySc4I~+e?2# zsL9J1plrAy+mBefus> z|A1ms3CAn>NjZDO`tg0Hyq62fQg#9x{)1(iqN4S^ zIC{O=X{;xpr`JCxs}8PVhpb*)Pyj*#c-byLSf+3^PdY@CR#}t1e6s>gKbFi~VI!m& zw+!}Io}Ekq3m}GyjWr&Sf|kpF5S(~&xcjfiNKSV|0e)rm#Nueu54EPzBWG>@?K>Lj z7`N40fIE%aXg}MvEBj&>++1e??K6y9V%VE*%sGMoT!skG7;U&nZpe*9TY5_hO`)K6 z7$o6Z#w^Z(L3uXTIM2Sj)l+I}&*w#a)|*i=yy+KpA*t>DyYXO@u+I4oL2jI7%;jwg zh8uKo0uaS-yAD1eA)5GVstH=}OYU18MI*8nG83Y&YgSJZDo^OsM#{!2?#ie90N;|# z{4)f1YKq!p66|q%nU?Zxj@{+Px#!a(@2j@e{4FLupI(5+L-=d|#-Ac*1$Zxm3+`A+jZ@V* zTsmCHk+J24$n!d@SwJS_gV$2G(+i895CnQdI9oQuds?Lj5oAqjlKu8KsN*-N z58v_rzF`>oynGmpe zq|X{sL9fR6q50n=xs=BIX@R`Vzf9j+F8H$-7et0Zd4Zh_Mysc?T6YuhE{COJ-G9xIai=D26{yRF}T>F9Te!B{vO zCHC}w9%-CL2u)ZSqSh{8@PL?ZL2c7v54I@djUgBcNiEOcVNeq|tL>0qH2`I}?Lr7) z4>j5lj_bNVhO6woT}vs970q2t8^L594pMG&Z6@{z)$F0xp-6N2RW<1lS4m$9D?vj7 zT)H6EH_)_VRU1dOi@YPIC8DuvdbYG2Q6}u*>2aB!;eFithX%WtnE+9!4#wUwL}PV( z3zhyhL^E}JGnM`^_w~hRR0F8xYtWu^>C>%_&5Y)6oO?IGal2i^g3grF<iva!Z@0i%};2nh-Jo#NK*4&w|2E^=h zK6x(>Xtk|L$?Izke85M+&o%^s%j?17jI1ZR3?!#eVcK6}>m1l5OLviUaENI+uXr$;+CzO%t3IIzO2ubRwrm!0dnwD47 zNECxTpT%1yiE>K(eB?maG8IAm8l?-LCz@> zonxzX#xp1PLA0;DC7xo;-}%;fvb~3$uRUO#K3vl^(8jGQk4hT8AaXSn+9MVcbOL90 z`={4-23KzX{srz{96fn-Jw=kk5c7(=!n^4N)kFU|IOENBlc%t~-{m@qpP~3c|0$-T z_2oKMzthnq&VhVnmMj?{Ty3-VLt5JfY7+L6+`}m)Xb(hIXGp``?yw$GO0`xZRM$*Fq@VoPLOF zy_kSFmxiEE_mC$yVEjw~Vt#bc{q@er`ha*xfz)e2*%86R_vBkQOrJ!KbPN|)9Wr%N z1veQVy{A#pG6e}pyQ0tyU8OtAACx%MN=HdCqrjvH<2e=AT*~3h8VZT<#9y+7c&A|M zbsf1ECN_h&2(RlRqC0184T?IpP!5=9yMF;ViH92Rp<#xHbVu1`Q*!F=QNNYNOi{IF zo1x3D#j2}o`nQ-`>B5;MHoavoqI!f&(wDDJo_6GpH=D(TaK_6T@CTkrVlH;~cs$rC zA6F;Sc{zv)Gen%X(PgzIZGUy4?;^a84Q`Mx*AV6!=Qy;Z=)*=By+;;L`5>?5VNL^r znZIk!=W#%BhLoTRL&tg+93)k*lR|@eUy{<5(m<}nAuTtBW@y$nB07vUOFB8}pkWYR zavA!k3@VW=0=pN-6Uk``$dWxaZrITm|8VpxH#VZaghn!k_@#2*cQl0PdWT#R2dZE! z*!mhT`>kiALdV=xsC#wtoW=)RpDzRW|K8t4B?S}iC!zC5`}GL!uTMatPR;lep_q~* zBUJxNFE8}xBXoPfkk|Symx2s6NP6NZ8n<^?L`A6ACo;2XTqIxwn_tWT!VVbP(T>q1%fH7p;MLKRJAby8&sVQZasF2 z)%q-KJloWi=}EjCXw3`=Ckf`O19Cf>3onrqm><%@{yuK;z7sfM$&YL4Fh%k={Pfsk zp(i&z+oUw^DmVi%I{GV?Rl}^-vaSs86q7cl4jj-d_z8qWFZ&fsM(=nzW);XZS{!J< z1}0M#3Nd|DV@G*^VAzVbM6^|eE#BrJpB#JZ=}^a?Rp8Z<{6!3K6SCXmM_UMZ7yDyJ zabH)x9v1E>@vY;cAE%O43FFl)E(XS5IA%hub%=X##(t;@0j6Fhd=155mc>Y!*kHx1 z2)iE{cpS)JczQH!#VMzdg=$_0b=1P(_!0v~3oYrlfs)tL1}=0F7B>tX9uan8b&H1; z1?w(6x4Jd9d}|7rZ39wy16*soG^M-v6(6+L4iTH97@Kr&!;4^eXG-@F_!5VH> zJ^RfQ2aK^X^su)MmjT6RQqdXwp{53@COTDHVgMFKc~j1&tBVL9GzaX*ibgOA)bU&E z+|!iK*{ zizkECCZgRmM=b3m68nzduAPo0_`-j*1!j%+&2wv=z#Wsz2C-3Hu;{<5&sBg4-aVeI zM1R7iUQzs(h0GB!63lphQvnCDN{iGcoVL!v2BuJc14+Ej zZ$5mIgwQ5O$xD-2BC`h9ZBP*$Ij@>u5G_l2Yi)vz+#kl3B|#p;)&5xXd@Ld z@HY%VZa2s0UeBOv7S|vsyIEaDJ-7b4N=?1GjE0h)c{kn)g+bZ~tM%|QIf`T7&Efg} z*-U=j^@)Fj3N-Ox{?meD!jz~t>{f|gZFy8&^oI`K7m^hH7)c3r-V5H-I0~ducdlZRFT| zsfA#6W#>pxA*h#G^wEI$8fZ|*k<*>Nvc3A(AH~~G9oW~ZhLPdIJx!! zN{E^Gf>a`sSu^O63D*S<(DW0N9aIN}V6vUfM1DodppC<=_{xJ#Fj*H zeN1TL20T0$r_j!~q+?|wdzz9@u@RnscV{=RKv@u1J5saV6=o7`65wOKfwymuM1npM za5;{?)^!ToKXH$aafp;{Ely%05!Y&SQP|fw_%Z6`)L|o~5u9Heh)1HHS8>VC2aj

    4#)-mEC#yE}Pw5~?#(8T-$M1#8%!IuCg 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

    Q# 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

    HlH#W=A1lwARS?1<(@I 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

    NtIKLSWi(HOPhsQD(RCR4wN>#Q@#jjzd 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 z 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 /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -3475,6 +3508,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; @@ -3533,6 +3569,9 @@ struct PLAYFAB_API FClientGetFriendLeaderboardAroundPlayerRequest : public FPlay /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Client | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h index af91b34c..d8963b39 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabEnums.h @@ -1289,6 +1289,30 @@ enum class ECloudScriptRevisionOption : uint8 pfenum_Specific = 2 UMETA(DisplayName = "Specific"), }; +/** ExternalFriendSources */ + +UENUM(BlueprintType) +enum class EExternalFriendSources : uint8 +{ + pfenum_None = 0 UMETA(DisplayName = "None"), + pfenum_Steam = 1 UMETA(DisplayName = "Steam"), + pfenum_Facebook = 2 UMETA(DisplayName = "Facebook"), + pfenum_SteamOrFacebook = 3 UMETA(DisplayName = "SteamOrFacebook"), + pfenum_Xbox = 4 UMETA(DisplayName = "Xbox"), + pfenum_SteamOrXbox = 5 UMETA(DisplayName = "SteamOrXbox"), + pfenum_FacebookOrXbox = 6 UMETA(DisplayName = "FacebookOrXbox"), + pfenum_SteamOrFacebookOrXbox = 7 UMETA(DisplayName = "SteamOrFacebookOrXbox"), + pfenum_Psn = 8 UMETA(DisplayName = "Psn"), + pfenum_SteamOrPsn = 9 UMETA(DisplayName = "SteamOrPsn"), + pfenum_FacebookOrPsn = 10 UMETA(DisplayName = "FacebookOrPsn"), + pfenum_SteamOrFacebookOrPsn = 11 UMETA(DisplayName = "SteamOrFacebookOrPsn"), + pfenum_XboxOrPsn = 12 UMETA(DisplayName = "XboxOrPsn"), + pfenum_SteamOrXboxOrPsn = 13 UMETA(DisplayName = "SteamOrXboxOrPsn"), + pfenum_FacebookOrXboxOrPsn = 14 UMETA(DisplayName = "FacebookOrXboxOrPsn"), + pfenum_SteamOrFacebookOrXboxOrPsn = 15 UMETA(DisplayName = "SteamOrFacebookOrXboxOrPsn"), + pfenum_All = 16 UMETA(DisplayName = "All"), +}; + /** GameInstanceState */ UENUM(BlueprintType) diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h index 013515dc..ee9614cd 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabMultiplayerModels.h @@ -146,6 +146,9 @@ struct PLAYFAB_API FMultiplayerFindFriendLobbiesRequest : public FPlayFabRequest /** Controls whether this query should link to friends made on the Steam network. Defaults to false */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") bool ExcludeSteamFriends = false; + /** Indicates which other platforms' friends this query should link to. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Multiplayer | Lobby Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** * OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), * "eq" (equal), "ne" (not equals), "ge" (greater than or equal), "gt" (greater than), "le" (less than or equal), and "lt" diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h index 28e36349..66f48e20 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Classes/PlayFabServerModels.h @@ -166,7 +166,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookIDsRequest : public FPlayFabR { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookIDs; }; @@ -187,7 +190,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromFacebookInstantGamesIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString FacebookInstantGamesIds; }; @@ -232,7 +238,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoServiceAccountIdsRequest : pu { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoAccountIds; }; @@ -253,7 +262,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : publ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString NintendoSwitchDeviceIds; }; @@ -277,7 +289,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromPSNAccountIDsRequest : public FPlayFa /** Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") int32 IssuerId = 0; - /** Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString PSNAccountIDs; }; @@ -298,7 +313,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromSteamIDsRequest : public FPlayFabRequ { GENERATED_USTRUCT_BODY() public: - /** Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString SteamStringIDs; }; @@ -319,7 +337,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromTwitchIDsRequest : public FPlayFabReq { GENERATED_USTRUCT_BODY() public: - /** Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString TwitchIds; }; @@ -343,7 +364,10 @@ struct PLAYFAB_API FServerGetPlayFabIDsFromXboxLiveIDsRequest : public FPlayFabR /** The ID of Xbox Live sandbox. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString Sandbox; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Account Management Models") FString XboxLiveAccountIDs; }; @@ -1640,6 +1664,9 @@ struct PLAYFAB_API FServerGetFriendsListRequest : public FPlayFabRequestCommon /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Friend List Management Models") bool IncludeFacebookFriends = false; @@ -1977,6 +2004,9 @@ struct PLAYFAB_API FServerGetFriendLeaderboardRequest : public FPlayFabRequestCo /** The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") UPlayFabJsonObject* CustomTags = nullptr; + /** Indicates which other platforms' friends should be included in the response. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") + EExternalFriendSources ExternalPlatformFriends = StaticCast(0); /** Indicates whether Facebook friends should be included in the response. Default is true. */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PlayFab | Server | Player Data Management Models") bool IncludeFacebookFriends = false; diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp index 85affe9f..310d1561 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabClientAPI.cpp @@ -5629,11 +5629,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetCharacterLeaderboard(FClientGetCharacte // Serialize all the request properties to json - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); OutRestJsonObj->SetNumberField(TEXT("StartPosition"), request.StartPosition); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { @@ -5745,11 +5740,6 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetLeaderboardAroundCharacter(FClientGetLe } else { OutRestJsonObj->SetStringField(TEXT("CharacterId"), request.CharacterId); } - if (request.CharacterType.IsEmpty() || request.CharacterType == "") { - OutRestJsonObj->SetFieldNull(TEXT("CharacterType")); - } else { - OutRestJsonObj->SetStringField(TEXT("CharacterType"), request.CharacterType); - } OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); if (request.StatisticName.IsEmpty() || request.StatisticName == "") { OutRestJsonObj->SetFieldNull(TEXT("StatisticName")); @@ -6106,6 +6096,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendsList(FClientGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.ProfileConstraints != nullptr) OutRestJsonObj->SetObjectField(TEXT("ProfileConstraints"), request.ProfileConstraints); @@ -7202,6 +7195,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboard(FClientGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); @@ -7267,6 +7263,9 @@ UPlayFabClientAPI* UPlayFabClientAPI::GetFriendLeaderboardAroundPlayer(FClientGe // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp index 2d1ac105..9950f857 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabMultiplayerAPI.cpp @@ -219,6 +219,9 @@ UPlayFabMultiplayerAPI* UPlayFabMultiplayerAPI::FindFriendLobbies(FMultiplayerFi if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); OutRestJsonObj->SetBoolField(TEXT("ExcludeFacebookFriends"), request.ExcludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("ExcludeSteamFriends"), request.ExcludeSteamFriends); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); if (request.Filter.IsEmpty() || request.Filter == "") { OutRestJsonObj->SetFieldNull(TEXT("Filter")); } else { diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp index b7dfa880..b7791689 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFab/Private/PlayFabServerAPI.cpp @@ -3771,6 +3771,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendsList(FServerGetFriendsListReques // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); if (request.PlayFabId.IsEmpty() || request.PlayFabId == "") { @@ -4493,6 +4496,9 @@ UPlayFabServerAPI* UPlayFabServerAPI::GetFriendLeaderboard(FServerGetFriendLeade // Serialize all the request properties to json if (request.CustomTags != nullptr) OutRestJsonObj->SetObjectField(TEXT("CustomTags"), request.CustomTags); + FString temp_ExternalPlatformFriends; + if (GetEnumValueToString(TEXT("EExternalFriendSources"), request.ExternalPlatformFriends, temp_ExternalPlatformFriends)) + OutRestJsonObj->SetStringField(TEXT("ExternalPlatformFriends"), temp_ExternalPlatformFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeFacebookFriends"), request.IncludeFacebookFriends); OutRestJsonObj->SetBoolField(TEXT("IncludeSteamFriends"), request.IncludeSteamFriends); OutRestJsonObj->SetNumberField(TEXT("MaxResultsCount"), request.MaxResultsCount); diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp index e1386bd9..3ef8b00b 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCommon/Private/PlayFabCommonSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFabCommon { - const FString PlayFabCommonSettings::sdkVersion = "1.103.221024"; + const FString PlayFabCommonSettings::sdkVersion = "1.104.221107"; const FString PlayFabCommonSettings::buildIdentifier = "adobuild_unrealmarketplaceplugin_142"; - const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.103.221024"; + const FString PlayFabCommonSettings::versionString = "UE4MKPL-1.104.221107"; FString PlayFabCommonSettings::clientSessionTicket; FString PlayFabCommonSettings::entityToken; diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp index 8a757ffc..980e9460 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabClientDataModels.cpp @@ -5385,6 +5385,72 @@ bool PlayFab::ClientModels::FExecuteCloudScriptResult::readFromValue(const TShar return HasSucceeded; } +void PlayFab::ClientModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ClientModels::ExternalFriendSources PlayFab::ClientModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ClientModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8881,12 +8947,6 @@ void PlayFab::ClientModels::FGetCharacterLeaderboardRequest::writeJSON(JsonWrite { writer->WriteObjectStart(); - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -8913,13 +8973,6 @@ bool PlayFab::ClientModels::FGetCharacterLeaderboardRequest::readFromValue(const { bool HasSucceeded = true; - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { @@ -9360,6 +9413,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::writeJSON( writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9434,6 +9493,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardAroundPlayerRequest::readFromVa } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9655,6 +9716,12 @@ void PlayFab::ClientModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9726,6 +9793,8 @@ bool PlayFab::ClientModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9812,6 +9881,12 @@ void PlayFab::ClientModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -9852,6 +9927,8 @@ bool PlayFab::ClientModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -9937,12 +10014,6 @@ void PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::writeJSON(Jso writer->WriteValue(CharacterId); } - if (CharacterType.IsEmpty() == false) - { - writer->WriteIdentifierPrefix(TEXT("CharacterType")); - writer->WriteValue(CharacterType); - } - if (MaxResultsCount.notNull()) { writer->WriteIdentifierPrefix(TEXT("MaxResultsCount")); @@ -9973,13 +10044,6 @@ bool PlayFab::ClientModels::FGetLeaderboardAroundCharacterRequest::readFromValue if (CharacterIdValue->TryGetString(TmpValue)) { CharacterId = TmpValue; } } - const TSharedPtr CharacterTypeValue = obj->TryGetField(TEXT("CharacterType")); - if (CharacterTypeValue.IsValid() && !CharacterTypeValue->IsNull()) - { - FString TmpValue; - if (CharacterTypeValue->TryGetString(TmpValue)) { CharacterType = TmpValue; } - } - const TSharedPtr MaxResultsCountValue = obj->TryGetField(TEXT("MaxResultsCount")); if (MaxResultsCountValue.IsValid() && !MaxResultsCountValue->IsNull()) { diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp index 74397dde..f1f8337f 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabMultiplayerDataModels.cpp @@ -6051,6 +6051,72 @@ bool PlayFab::MultiplayerModels::FEnableMultiplayerServersForTitleResponse::read return HasSucceeded; } +void PlayFab::MultiplayerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +MultiplayerModels::ExternalFriendSources PlayFab::MultiplayerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::MultiplayerModels::FPaginationRequest::~FPaginationRequest() { @@ -6117,11 +6183,23 @@ void PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::writeJSON(JsonWriter writer->WriteObjectEnd(); } - writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); - writer->WriteValue(ExcludeFacebookFriends); + if (ExcludeFacebookFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeFacebookFriends")); + writer->WriteValue(ExcludeFacebookFriends); + } + + if (ExcludeSteamFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); + writer->WriteValue(ExcludeSteamFriends); + } - writer->WriteIdentifierPrefix(TEXT("ExcludeSteamFriends")); - writer->WriteValue(ExcludeSteamFriends); + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } if (Filter.IsEmpty() == false) { @@ -6177,6 +6255,8 @@ bool PlayFab::MultiplayerModels::FFindFriendLobbiesRequest::readFromValue(const if (ExcludeSteamFriendsValue->TryGetBool(TmpValue)) { ExcludeSteamFriends = TmpValue; } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr FilterValue = obj->TryGetField(TEXT("Filter")); if (FilterValue.IsValid() && !FilterValue->IsNull()) { diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp index 05847cd7..d926b0f0 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Private/Core/PlayFabServerDataModels.cpp @@ -5664,6 +5664,72 @@ bool PlayFab::ServerModels::FExecuteCloudScriptServerRequest::readFromValue(cons return HasSucceeded; } +void PlayFab::ServerModels::writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer) +{ + switch (enumVal) + { + + case ExternalFriendSourcesNone: writer->WriteValue(TEXT("None")); break; + case ExternalFriendSourcesSteam: writer->WriteValue(TEXT("Steam")); break; + case ExternalFriendSourcesFacebook: writer->WriteValue(TEXT("Facebook")); break; + case ExternalFriendSourcesSteamOrFacebook: writer->WriteValue(TEXT("SteamOrFacebook")); break; + case ExternalFriendSourcesXbox: writer->WriteValue(TEXT("Xbox")); break; + case ExternalFriendSourcesSteamOrXbox: writer->WriteValue(TEXT("SteamOrXbox")); break; + case ExternalFriendSourcesFacebookOrXbox: writer->WriteValue(TEXT("FacebookOrXbox")); break; + case ExternalFriendSourcesSteamOrFacebookOrXbox: writer->WriteValue(TEXT("SteamOrFacebookOrXbox")); break; + case ExternalFriendSourcesPsn: writer->WriteValue(TEXT("Psn")); break; + case ExternalFriendSourcesSteamOrPsn: writer->WriteValue(TEXT("SteamOrPsn")); break; + case ExternalFriendSourcesFacebookOrPsn: writer->WriteValue(TEXT("FacebookOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrPsn")); break; + case ExternalFriendSourcesXboxOrPsn: writer->WriteValue(TEXT("XboxOrPsn")); break; + case ExternalFriendSourcesSteamOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrXboxOrPsn")); break; + case ExternalFriendSourcesFacebookOrXboxOrPsn: writer->WriteValue(TEXT("FacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn: writer->WriteValue(TEXT("SteamOrFacebookOrXboxOrPsn")); break; + case ExternalFriendSourcesAll: writer->WriteValue(TEXT("All")); break; + } +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const TSharedPtr& value) +{ + return readExternalFriendSourcesFromValue(value.IsValid() ? value->AsString() : ""); +} + +ServerModels::ExternalFriendSources PlayFab::ServerModels::readExternalFriendSourcesFromValue(const FString& value) +{ + static TMap _ExternalFriendSourcesMap; + if (_ExternalFriendSourcesMap.Num() == 0) + { + // Auto-generate the map on the first use + _ExternalFriendSourcesMap.Add(TEXT("None"), ExternalFriendSourcesNone); + _ExternalFriendSourcesMap.Add(TEXT("Steam"), ExternalFriendSourcesSteam); + _ExternalFriendSourcesMap.Add(TEXT("Facebook"), ExternalFriendSourcesFacebook); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebook"), ExternalFriendSourcesSteamOrFacebook); + _ExternalFriendSourcesMap.Add(TEXT("Xbox"), ExternalFriendSourcesXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXbox"), ExternalFriendSourcesSteamOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXbox"), ExternalFriendSourcesFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXbox"), ExternalFriendSourcesSteamOrFacebookOrXbox); + _ExternalFriendSourcesMap.Add(TEXT("Psn"), ExternalFriendSourcesPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrPsn"), ExternalFriendSourcesSteamOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrPsn"), ExternalFriendSourcesFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrPsn"), ExternalFriendSourcesSteamOrFacebookOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("XboxOrPsn"), ExternalFriendSourcesXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrXboxOrPsn"), ExternalFriendSourcesSteamOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("FacebookOrXboxOrPsn"), ExternalFriendSourcesFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("SteamOrFacebookOrXboxOrPsn"), ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn); + _ExternalFriendSourcesMap.Add(TEXT("All"), ExternalFriendSourcesAll); + + } + + if (!value.IsEmpty()) + { + auto output = _ExternalFriendSourcesMap.Find(value); + if (output != nullptr) + return *output; + } + + return ExternalFriendSourcesNone; // Basically critical fail +} + PlayFab::ServerModels::FFacebookInstantGamesPlayFabIdPair::~FFacebookInstantGamesPlayFabIdPair() { @@ -8095,6 +8161,12 @@ void PlayFab::ServerModels::FGetFriendLeaderboardRequest::writeJSON(JsonWriter& writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8173,6 +8245,8 @@ bool PlayFab::ServerModels::FGetFriendLeaderboardRequest::readFromValue(const TS } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { @@ -8266,6 +8340,12 @@ void PlayFab::ServerModels::FGetFriendsListRequest::writeJSON(JsonWriter& writer writer->WriteObjectEnd(); } + if (ExternalPlatformFriends.notNull()) + { + writer->WriteIdentifierPrefix(TEXT("ExternalPlatformFriends")); + writeExternalFriendSourcesEnumJSON(ExternalPlatformFriends, writer); + } + if (IncludeFacebookFriends.notNull()) { writer->WriteIdentifierPrefix(TEXT("IncludeFacebookFriends")); @@ -8316,6 +8396,8 @@ bool PlayFab::ServerModels::FGetFriendsListRequest::readFromValue(const TSharedP } } + ExternalPlatformFriends = readExternalFriendSourcesFromValue(obj->TryGetField(TEXT("ExternalPlatformFriends"))); + const TSharedPtr IncludeFacebookFriendsValue = obj->TryGetField(TEXT("IncludeFacebookFriends")); if (IncludeFacebookFriendsValue.IsValid() && !IncludeFacebookFriendsValue->IsNull()) { diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h index 0253718a..1bbe37f1 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabClientDataModels.h @@ -2664,6 +2664,31 @@ namespace ClientModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4444,9 +4469,6 @@ namespace ClientModels struct PLAYFABCPP_API FGetCharacterLeaderboardRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4458,7 +4480,6 @@ namespace ClientModels FGetCharacterLeaderboardRequest() : FPlayFabCppRequestCommon(), - CharacterType(), MaxResultsCount(), StartPosition(0), StatisticName() @@ -4692,6 +4713,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4726,6 +4750,7 @@ namespace ClientModels FGetFriendLeaderboardAroundPlayerRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4823,6 +4848,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4857,6 +4885,7 @@ namespace ClientModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(), @@ -4885,6 +4914,9 @@ namespace ClientModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4904,6 +4936,7 @@ namespace ClientModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), ProfileConstraints(nullptr), @@ -4950,9 +4983,6 @@ namespace ClientModels // Unique PlayFab assigned ID for a specific character on which to center the leaderboard. FString CharacterId; - // [optional] Optional character type on which to filter the leaderboard entries. - FString CharacterType; - // [optional] Maximum number of entries to retrieve. Default 10, maximum 100. Boxed MaxResultsCount; @@ -4962,7 +4992,6 @@ namespace ClientModels FGetLeaderboardAroundCharacterRequest() : FPlayFabCppRequestCommon(), CharacterId(), - CharacterType(), MaxResultsCount(), StatisticName() {} @@ -5943,7 +5972,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5987,7 +6019,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -6031,7 +6066,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGameCenterIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GameCenterIDs; FGetPlayFabIDsFromGameCenterIDsRequest() : FPlayFabCppRequestCommon(), @@ -6122,7 +6160,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGoogleIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray GoogleIDs; FGetPlayFabIDsFromGoogleIDsRequest() : FPlayFabCppRequestCommon(), @@ -6193,7 +6234,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Google Play Games identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + * The array cannot exceed 2,000 in length. + */ TArray GooglePlayGamesPlayerIDs; FGetPlayFabIDsFromGooglePlayGamesPlayerIDsRequest() : FPlayFabCppRequestCommon(), @@ -6264,7 +6308,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromKongregateIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. The + * array cannot exceed 2,000 in length. + */ TArray KongregateIDs; FGetPlayFabIDsFromKongregateIDsRequest() : FPlayFabCppRequestCommon(), @@ -6335,7 +6382,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -6409,7 +6459,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -6483,7 +6536,10 @@ namespace ClientModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -6558,7 +6614,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -6629,7 +6688,10 @@ namespace ClientModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -6703,7 +6765,10 @@ namespace ClientModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(), diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h index 3f5eab3f..85fc3e36 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabMultiplayerDataModels.h @@ -2833,6 +2833,31 @@ namespace MultiplayerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FPaginationRequest : public PlayFab::FPlayFabCppBaseModel { // [optional] Continuation token returned as a result in a previous FindLobbies call. Cannot be specified by clients. @@ -2864,11 +2889,14 @@ namespace MultiplayerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; - // Controls whether this query should link to friends made on the Facebook network. Defaults to false - bool ExcludeFacebookFriends; + // [optional] Controls whether this query should link to friends made on the Facebook network. Defaults to false + Boxed ExcludeFacebookFriends; + + // [optional] Controls whether this query should link to friends made on the Steam network. Defaults to false + Boxed ExcludeSteamFriends; - // Controls whether this query should link to friends made on the Steam network. Defaults to false - bool ExcludeSteamFriends; + // [optional] Indicates which other platforms' friends this query should link to. + Boxed ExternalPlatformFriends; /** * [optional] OData style string that contains one or more filters. Only the following operators are supported: "and" (logical and), @@ -2898,8 +2926,9 @@ namespace MultiplayerModels FFindFriendLobbiesRequest() : FPlayFabCppRequestCommon(), CustomTags(), - ExcludeFacebookFriends(false), - ExcludeSteamFriends(false), + ExcludeFacebookFriends(), + ExcludeSteamFriends(), + ExternalPlatformFriends(), Filter(), OrderBy(), Pagination(nullptr), diff --git a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h index 26397637..477c55ec 100644 --- a/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h +++ b/5.0/PlayFabPlugin/PlayFab/Source/PlayFabCpp/Public/Core/PlayFabServerDataModels.h @@ -2917,6 +2917,31 @@ namespace ServerModels bool readFromValue(const TSharedPtr& obj) override; }; + enum ExternalFriendSources + { + ExternalFriendSourcesNone, + ExternalFriendSourcesSteam, + ExternalFriendSourcesFacebook, + ExternalFriendSourcesSteamOrFacebook, + ExternalFriendSourcesXbox, + ExternalFriendSourcesSteamOrXbox, + ExternalFriendSourcesFacebookOrXbox, + ExternalFriendSourcesSteamOrFacebookOrXbox, + ExternalFriendSourcesPsn, + ExternalFriendSourcesSteamOrPsn, + ExternalFriendSourcesFacebookOrPsn, + ExternalFriendSourcesSteamOrFacebookOrPsn, + ExternalFriendSourcesXboxOrPsn, + ExternalFriendSourcesSteamOrXboxOrPsn, + ExternalFriendSourcesFacebookOrXboxOrPsn, + ExternalFriendSourcesSteamOrFacebookOrXboxOrPsn, + ExternalFriendSourcesAll + }; + + PLAYFABCPP_API void writeExternalFriendSourcesEnumJSON(ExternalFriendSources enumVal, JsonWriter& writer); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const TSharedPtr& value); + PLAYFABCPP_API ExternalFriendSources readExternalFriendSourcesFromValue(const FString& value); + struct PLAYFABCPP_API FFacebookInstantGamesPlayFabIdPair : public PlayFab::FPlayFabCppBaseModel { // [optional] Unique Facebook Instant Games identifier for a user. @@ -4097,6 +4122,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4134,6 +4162,7 @@ namespace ServerModels FGetFriendLeaderboardRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), MaxResultsCount(0), @@ -4163,6 +4192,9 @@ namespace ServerModels { // [optional] The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). TMap CustomTags; + // [optional] Indicates which other platforms' friends should be included in the response. + Boxed ExternalPlatformFriends; + // [optional] Indicates whether Facebook friends should be included in the response. Default is true. Boxed IncludeFacebookFriends; @@ -4185,6 +4217,7 @@ namespace ServerModels FGetFriendsListRequest() : FPlayFabCppRequestCommon(), CustomTags(), + ExternalPlatformFriends(), IncludeFacebookFriends(), IncludeSteamFriends(), PlayFabId(), @@ -5422,7 +5455,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. The array cannot exceed 2,000 + * in length. + */ TArray FacebookIDs; FGetPlayFabIDsFromFacebookIDsRequest() : FPlayFabCppRequestCommon(), @@ -5466,7 +5502,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromFacebookInstantGamesIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 25 in length. + */ TArray FacebookInstantGamesIds; FGetPlayFabIDsFromFacebookInstantGamesIdsRequest() : FPlayFabCppRequestCommon(), @@ -5557,7 +5596,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoServiceAccountIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Account identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoAccountIds; FGetPlayFabIDsFromNintendoServiceAccountIdsRequest() : FPlayFabCppRequestCommon(), @@ -5631,7 +5673,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray NintendoSwitchDeviceIds; FGetPlayFabIDsFromNintendoSwitchDeviceIdsRequest() : FPlayFabCppRequestCommon(), @@ -5705,7 +5750,10 @@ namespace ServerModels // [optional] Id of the PlayStation :tm: Network issuer environment. If null, defaults to production environment. Boxed IssuerId; - // Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique PlayStation :tm: Network identifiers for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray PSNAccountIDs; FGetPlayFabIDsFromPSNAccountIDsRequest() : FPlayFabCppRequestCommon(), @@ -5780,7 +5828,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromSteamIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + /** + * [optional] Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. The array + * cannot exceed 2,000 in length. + */ TArray SteamStringIDs; FGetPlayFabIDsFromSteamIDsRequest() : FPlayFabCppRequestCommon(), @@ -5851,7 +5902,10 @@ namespace ServerModels struct PLAYFABCPP_API FGetPlayFabIDsFromTwitchIDsRequest : public PlayFab::FPlayFabCppRequestCommon { - // Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + /** + * Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray TwitchIds; FGetPlayFabIDsFromTwitchIDsRequest() : FPlayFabCppRequestCommon(), @@ -5925,7 +5979,10 @@ namespace ServerModels // [optional] The ID of Xbox Live sandbox. FString Sandbox; - // Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. + /** + * Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. The array cannot + * exceed 2,000 in length. + */ TArray XboxLiveAccountIDs; FGetPlayFabIDsFromXboxLiveIDsRequest() : FPlayFabCppRequestCommon(),

    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

NJh+`y2`GmJK%bZ-r~fW!5Uo_9;w~`0;Lb0G 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