diff --git a/code/include/playfab/PlayFabAdminDataModels.h b/code/include/playfab/PlayFabAdminDataModels.h index f2aaabab..f01ddcc4 100644 --- a/code/include/playfab/PlayFabAdminDataModels.h +++ b/code/include/playfab/PlayFabAdminDataModels.h @@ -5454,6 +5454,7 @@ namespace PlayFab GenericErrorCodesInvalidNamespaceMismatch, GenericErrorCodesLeaderboardColumnLengthMismatch, GenericErrorCodesInvalidStatisticScore, + GenericErrorCodesLeaderboardColumnsNotSpecified, GenericErrorCodesMatchmakingEntityInvalid, GenericErrorCodesMatchmakingPlayerAttributesInvalid, GenericErrorCodesMatchmakingQueueNotFound, @@ -8409,6 +8410,11 @@ namespace PlayFab output = Json::Value("InvalidStatisticScore"); return; } + if (input == GenericErrorCodes::GenericErrorCodesLeaderboardColumnsNotSpecified) + { + output = Json::Value("LeaderboardColumnsNotSpecified"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid) { output = Json::Value("MatchmakingEntityInvalid"); @@ -12152,6 +12158,11 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesInvalidStatisticScore; return; } + if (inputStr == "LeaderboardColumnsNotSpecified") + { + output = GenericErrorCodes::GenericErrorCodesLeaderboardColumnsNotSpecified; + return; + } if (inputStr == "MatchmakingEntityInvalid") { output = GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid; @@ -19566,6 +19577,55 @@ namespace PlayFab } }; + struct AddInventoryItemV2Content : public PlayFabBaseModel + { + Boxed Amount; + std::string CollectionId; + Boxed DurationInSeconds; + std::string ItemId; + std::string StackId; + + AddInventoryItemV2Content() : + PlayFabBaseModel(), + Amount(), + CollectionId(), + DurationInSeconds(), + ItemId(), + StackId() + {} + + AddInventoryItemV2Content(const AddInventoryItemV2Content& src) : + PlayFabBaseModel(), + Amount(src.Amount), + CollectionId(src.CollectionId), + DurationInSeconds(src.DurationInSeconds), + ItemId(src.ItemId), + StackId(src.StackId) + {} + + ~AddInventoryItemV2Content() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilP(input["Amount"], Amount); + FromJsonUtilS(input["CollectionId"], CollectionId); + FromJsonUtilP(input["DurationInSeconds"], DurationInSeconds); + FromJsonUtilS(input["ItemId"], ItemId); + FromJsonUtilS(input["StackId"], StackId); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_Amount; ToJsonUtilP(Amount, each_Amount); output["Amount"] = each_Amount; + Json::Value each_CollectionId; ToJsonUtilS(CollectionId, each_CollectionId); output["CollectionId"] = each_CollectionId; + Json::Value each_DurationInSeconds; ToJsonUtilP(DurationInSeconds, each_DurationInSeconds); output["DurationInSeconds"] = each_DurationInSeconds; + Json::Value each_ItemId; ToJsonUtilS(ItemId, each_ItemId); output["ItemId"] = each_ItemId; + Json::Value each_StackId; ToJsonUtilS(StackId, each_StackId); output["StackId"] = each_StackId; + return output; + } + }; + struct BanPlayerContent : public PlayFabBaseModel { Boxed BanDurationHours; @@ -19600,6 +19660,45 @@ namespace PlayFab } }; + struct DeleteInventoryItemV2Content : public PlayFabBaseModel + { + std::string CollectionId; + std::string ItemId; + std::string StackId; + + DeleteInventoryItemV2Content() : + PlayFabBaseModel(), + CollectionId(), + ItemId(), + StackId() + {} + + DeleteInventoryItemV2Content(const DeleteInventoryItemV2Content& src) : + PlayFabBaseModel(), + CollectionId(src.CollectionId), + ItemId(src.ItemId), + StackId(src.StackId) + {} + + ~DeleteInventoryItemV2Content() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilS(input["CollectionId"], CollectionId); + FromJsonUtilS(input["ItemId"], ItemId); + FromJsonUtilS(input["StackId"], StackId); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_CollectionId; ToJsonUtilS(CollectionId, each_CollectionId); output["CollectionId"] = each_CollectionId; + Json::Value each_ItemId; ToJsonUtilS(ItemId, each_ItemId); output["ItemId"] = each_ItemId; + Json::Value each_StackId; ToJsonUtilS(StackId, each_StackId); output["StackId"] = each_StackId; + return output; + } + }; + struct DeletePlayerContent : public PlayFabBaseModel { @@ -19877,9 +19976,60 @@ namespace PlayFab } }; + struct SubtractInventoryItemV2Content : public PlayFabBaseModel + { + Boxed Amount; + std::string CollectionId; + Boxed DurationInSeconds; + std::string ItemId; + std::string StackId; + + SubtractInventoryItemV2Content() : + PlayFabBaseModel(), + Amount(), + CollectionId(), + DurationInSeconds(), + ItemId(), + StackId() + {} + + SubtractInventoryItemV2Content(const SubtractInventoryItemV2Content& src) : + PlayFabBaseModel(), + Amount(src.Amount), + CollectionId(src.CollectionId), + DurationInSeconds(src.DurationInSeconds), + ItemId(src.ItemId), + StackId(src.StackId) + {} + + ~SubtractInventoryItemV2Content() = default; + + void FromJson(const Json::Value& input) override + { + FromJsonUtilP(input["Amount"], Amount); + FromJsonUtilS(input["CollectionId"], CollectionId); + FromJsonUtilP(input["DurationInSeconds"], DurationInSeconds); + FromJsonUtilS(input["ItemId"], ItemId); + FromJsonUtilS(input["StackId"], StackId); + } + + Json::Value ToJson() const override + { + Json::Value output; + Json::Value each_Amount; ToJsonUtilP(Amount, each_Amount); output["Amount"] = each_Amount; + Json::Value each_CollectionId; ToJsonUtilS(CollectionId, each_CollectionId); output["CollectionId"] = each_CollectionId; + Json::Value each_DurationInSeconds; ToJsonUtilP(DurationInSeconds, each_DurationInSeconds); output["DurationInSeconds"] = each_DurationInSeconds; + Json::Value each_ItemId; ToJsonUtilS(ItemId, each_ItemId); output["ItemId"] = each_ItemId; + Json::Value each_StackId; ToJsonUtilS(StackId, each_StackId); output["StackId"] = each_StackId; + return output; + } + }; + struct Action : public PlayFabBaseModel { + Boxed pfAddInventoryItemV2Content; Boxed pfBanPlayerContent; + Boxed pfDeleteInventoryItemV2Content; Boxed pfDeletePlayerContent; Boxed pfExecuteCloudScriptContent; Boxed pfExecuteFunctionContent; @@ -19888,10 +20038,13 @@ namespace PlayFab Boxed pfIncrementPlayerStatisticContent; Boxed pfPushNotificationContent; Boxed pfSendEmailContent; + Boxed pfSubtractInventoryItemV2Content; Action() : PlayFabBaseModel(), + pfAddInventoryItemV2Content(), pfBanPlayerContent(), + pfDeleteInventoryItemV2Content(), pfDeletePlayerContent(), pfExecuteCloudScriptContent(), pfExecuteFunctionContent(), @@ -19899,12 +20052,15 @@ namespace PlayFab pfGrantVirtualCurrencyContent(), pfIncrementPlayerStatisticContent(), pfPushNotificationContent(), - pfSendEmailContent() + pfSendEmailContent(), + pfSubtractInventoryItemV2Content() {} Action(const Action& src) : PlayFabBaseModel(), + pfAddInventoryItemV2Content(src.pfAddInventoryItemV2Content), pfBanPlayerContent(src.pfBanPlayerContent), + pfDeleteInventoryItemV2Content(src.pfDeleteInventoryItemV2Content), pfDeletePlayerContent(src.pfDeletePlayerContent), pfExecuteCloudScriptContent(src.pfExecuteCloudScriptContent), pfExecuteFunctionContent(src.pfExecuteFunctionContent), @@ -19912,14 +20068,17 @@ namespace PlayFab pfGrantVirtualCurrencyContent(src.pfGrantVirtualCurrencyContent), pfIncrementPlayerStatisticContent(src.pfIncrementPlayerStatisticContent), pfPushNotificationContent(src.pfPushNotificationContent), - pfSendEmailContent(src.pfSendEmailContent) + pfSendEmailContent(src.pfSendEmailContent), + pfSubtractInventoryItemV2Content(src.pfSubtractInventoryItemV2Content) {} ~Action() = default; void FromJson(const Json::Value& input) override { + FromJsonUtilO(input["AddInventoryItemV2Content"], pfAddInventoryItemV2Content); FromJsonUtilO(input["BanPlayerContent"], pfBanPlayerContent); + FromJsonUtilO(input["DeleteInventoryItemV2Content"], pfDeleteInventoryItemV2Content); FromJsonUtilO(input["DeletePlayerContent"], pfDeletePlayerContent); FromJsonUtilO(input["ExecuteCloudScriptContent"], pfExecuteCloudScriptContent); FromJsonUtilO(input["ExecuteFunctionContent"], pfExecuteFunctionContent); @@ -19928,12 +20087,15 @@ namespace PlayFab FromJsonUtilO(input["IncrementPlayerStatisticContent"], pfIncrementPlayerStatisticContent); FromJsonUtilO(input["PushNotificationContent"], pfPushNotificationContent); FromJsonUtilO(input["SendEmailContent"], pfSendEmailContent); + FromJsonUtilO(input["SubtractInventoryItemV2Content"], pfSubtractInventoryItemV2Content); } Json::Value ToJson() const override { Json::Value output; + Json::Value each_pfAddInventoryItemV2Content; ToJsonUtilO(pfAddInventoryItemV2Content, each_pfAddInventoryItemV2Content); output["AddInventoryItemV2Content"] = each_pfAddInventoryItemV2Content; Json::Value each_pfBanPlayerContent; ToJsonUtilO(pfBanPlayerContent, each_pfBanPlayerContent); output["BanPlayerContent"] = each_pfBanPlayerContent; + Json::Value each_pfDeleteInventoryItemV2Content; ToJsonUtilO(pfDeleteInventoryItemV2Content, each_pfDeleteInventoryItemV2Content); output["DeleteInventoryItemV2Content"] = each_pfDeleteInventoryItemV2Content; Json::Value each_pfDeletePlayerContent; ToJsonUtilO(pfDeletePlayerContent, each_pfDeletePlayerContent); output["DeletePlayerContent"] = each_pfDeletePlayerContent; Json::Value each_pfExecuteCloudScriptContent; ToJsonUtilO(pfExecuteCloudScriptContent, each_pfExecuteCloudScriptContent); output["ExecuteCloudScriptContent"] = each_pfExecuteCloudScriptContent; Json::Value each_pfExecuteFunctionContent; ToJsonUtilO(pfExecuteFunctionContent, each_pfExecuteFunctionContent); output["ExecuteFunctionContent"] = each_pfExecuteFunctionContent; @@ -19942,6 +20104,7 @@ namespace PlayFab Json::Value each_pfIncrementPlayerStatisticContent; ToJsonUtilO(pfIncrementPlayerStatisticContent, each_pfIncrementPlayerStatisticContent); output["IncrementPlayerStatisticContent"] = each_pfIncrementPlayerStatisticContent; Json::Value each_pfPushNotificationContent; ToJsonUtilO(pfPushNotificationContent, each_pfPushNotificationContent); output["PushNotificationContent"] = each_pfPushNotificationContent; Json::Value each_pfSendEmailContent; ToJsonUtilO(pfSendEmailContent, each_pfSendEmailContent); output["SendEmailContent"] = each_pfSendEmailContent; + Json::Value each_pfSubtractInventoryItemV2Content; ToJsonUtilO(pfSubtractInventoryItemV2Content, each_pfSubtractInventoryItemV2Content); output["SubtractInventoryItemV2Content"] = each_pfSubtractInventoryItemV2Content; return output; } }; diff --git a/code/include/playfab/PlayFabError.h b/code/include/playfab/PlayFabError.h index 216d485c..a9e3c2e4 100644 --- a/code/include/playfab/PlayFabError.h +++ b/code/include/playfab/PlayFabError.h @@ -562,6 +562,7 @@ namespace PlayFab PlayFabErrorInvalidNamespaceMismatch = 1561, PlayFabErrorLeaderboardColumnLengthMismatch = 1562, PlayFabErrorInvalidStatisticScore = 1563, + PlayFabErrorLeaderboardColumnsNotSpecified = 1564, PlayFabErrorMatchmakingEntityInvalid = 2001, PlayFabErrorMatchmakingPlayerAttributesInvalid = 2002, PlayFabErrorMatchmakingQueueNotFound = 2016, diff --git a/code/include/playfab/PlayFabServerDataModels.h b/code/include/playfab/PlayFabServerDataModels.h index e7c26156..de350b4c 100644 --- a/code/include/playfab/PlayFabServerDataModels.h +++ b/code/include/playfab/PlayFabServerDataModels.h @@ -5471,6 +5471,7 @@ namespace PlayFab GenericErrorCodesInvalidNamespaceMismatch, GenericErrorCodesLeaderboardColumnLengthMismatch, GenericErrorCodesInvalidStatisticScore, + GenericErrorCodesLeaderboardColumnsNotSpecified, GenericErrorCodesMatchmakingEntityInvalid, GenericErrorCodesMatchmakingPlayerAttributesInvalid, GenericErrorCodesMatchmakingQueueNotFound, @@ -8426,6 +8427,11 @@ namespace PlayFab output = Json::Value("InvalidStatisticScore"); return; } + if (input == GenericErrorCodes::GenericErrorCodesLeaderboardColumnsNotSpecified) + { + output = Json::Value("LeaderboardColumnsNotSpecified"); + return; + } if (input == GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid) { output = Json::Value("MatchmakingEntityInvalid"); @@ -12169,6 +12175,11 @@ namespace PlayFab output = GenericErrorCodes::GenericErrorCodesInvalidStatisticScore; return; } + if (inputStr == "LeaderboardColumnsNotSpecified") + { + output = GenericErrorCodes::GenericErrorCodesLeaderboardColumnsNotSpecified; + return; + } if (inputStr == "MatchmakingEntityInvalid") { output = GenericErrorCodes::GenericErrorCodesMatchmakingEntityInvalid; diff --git a/code/source/playfab/PlayFabSettings.cpp b/code/source/playfab/PlayFabSettings.cpp index b39f1e87..2b30deeb 100644 --- a/code/source/playfab/PlayFabSettings.cpp +++ b/code/source/playfab/PlayFabSettings.cpp @@ -7,9 +7,9 @@ namespace PlayFab // Control whether all callbacks are threaded or whether the user manually controls callback timing from their main-thread // Note ANY api call may synchronously throw an exception if the title id is not set bool PlayFabSettings::threadedCallbacks = false; - const std::string PlayFabSettings::sdkVersion = "3.123.231027"; + const std::string PlayFabSettings::sdkVersion = "3.125.231110"; const std::string PlayFabSettings::buildIdentifier = "adobuild_xplatcppsdk_117"; - const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.123.231027"; + const std::string PlayFabSettings::versionString = "XPlatCppSdk-3.125.231110"; std::string PlayFabSettings::productionEnvironmentURL = ".playfabapi.com"; ErrorCallback PlayFabSettings::globalErrorHandler = nullptr; diff --git a/com.playfab.xplatcppsdk.v141.autopkg b/com.playfab.xplatcppsdk.v141.autopkg index 8d003fab..d265d1f1 100644 --- a/com.playfab.xplatcppsdk.v141.autopkg +++ b/com.playfab.xplatcppsdk.v141.autopkg @@ -8,7 +8,7 @@ configurations { nuget { nuspec { id = "com.playfab.xplatcppsdk.v141"; - version : 3.123.231027; + version : 3.125.231110; title: "PlayFab Cross Platform C++ Sdk for Visual Studio 2017"; summary: "PlayFab is the unified backend platform for games and everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience."; authors: "PlayFab"; @@ -18,7 +18,7 @@ nuget { iconUrl: "https://playfab.com/assets/img/playfab-mark.png"; requireLicenseAcceptance: false; description: "Authentication, in-game commerce, player data, title data, inventory, characters, statistics, leaderboards, analytics and reporting, friends, multiplayer, matchmaking, tournaments, cloud script, trading, real-time event handling, player management, live ops, and server hosting for all major platforms/devices and games of any scale. This sdk gives your game the ability log into PlayFab and access cloud data and services."; - releaseNotes: "https://api.playfab.com/releaseNotes/#231027"; + releaseNotes: "https://api.playfab.com/releaseNotes/#231110"; copyright: "Copyright 2023"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native }; diff --git a/com.playfab.xplatcppsdk.v141.nuspec b/com.playfab.xplatcppsdk.v141.nuspec index 98dffbf0..4b91f87a 100644 --- a/com.playfab.xplatcppsdk.v141.nuspec +++ b/com.playfab.xplatcppsdk.v141.nuspec @@ -2,14 +2,14 @@ com.playfab.xplatcppsdk.v141 - 3.123.231027 + 3.125.231110 Microsoft Microsoft http://github.com/PlayFab/XPlatCppSdk Apache-2.0 ./images/icon.png false - https://api.playfab.com/releaseNotes/#3.123.231027 + https://api.playfab.com/releaseNotes/#3.125.231110 Microsoft Azure PlayFab XPlatCppSdk © Microsoft Corporation. All rights reserved. Microsoft Azure PlayFab Baas Paas JSON REST HTTP SSL API cloud liveops game gamedev native nativepackage diff --git a/com.playfab.xplatcppsdk.v142.autopkg b/com.playfab.xplatcppsdk.v142.autopkg index c4614719..670dec82 100644 --- a/com.playfab.xplatcppsdk.v142.autopkg +++ b/com.playfab.xplatcppsdk.v142.autopkg @@ -8,7 +8,7 @@ configurations { nuget { nuspec { id = "com.playfab.xplatcppsdk.v142"; - version : 3.123.231027; + version : 3.125.231110; title: "PlayFab Cross Platform C++ Sdk for Visual Studio 2019+"; summary: "PlayFab is the unified backend platform for games and everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience."; authors: "PlayFab"; @@ -18,7 +18,7 @@ nuget { iconUrl: "https://playfab.com/assets/img/playfab-mark.png"; requireLicenseAcceptance: false; description: "Authentication, in-game commerce, player data, title data, inventory, characters, statistics, leaderboards, analytics and reporting, friends, multiplayer, matchmaking, tournaments, cloud script, trading, real-time event handling, player management, live ops, and server hosting for all major platforms/devices and games of any scale. This sdk gives your game the ability log into PlayFab and access cloud data and services."; - releaseNotes: "https://api.playfab.com/releaseNotes/#231027"; + releaseNotes: "https://api.playfab.com/releaseNotes/#231110"; copyright: "Copyright 2023"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native }; diff --git a/com.playfab.xplatcppsdk.v142.nuspec b/com.playfab.xplatcppsdk.v142.nuspec index f78e78c7..4c0c8f71 100644 --- a/com.playfab.xplatcppsdk.v142.nuspec +++ b/com.playfab.xplatcppsdk.v142.nuspec @@ -2,14 +2,14 @@ com.playfab.xplatcppsdk.v142 - 3.123.231027 + 3.125.231110 Microsoft Microsoft http://github.com/PlayFab/XPlatCppSdk Apache-2.0 ./images/icon.png false - https://api.playfab.com/releaseNotes/#3.123.231027 + https://api.playfab.com/releaseNotes/#3.125.231110 Microsoft Azure PlayFab XPlatCppSdk © Microsoft Corporation. All rights reserved. Microsoft Azure PlayFab Baas Paas JSON REST HTTP SSL API cloud liveops game gamedev native nativepackage diff --git a/com.playfab.xplatxboxsdk.v141.autopkg b/com.playfab.xplatxboxsdk.v141.autopkg index 762a5e34..09c834e3 100644 --- a/com.playfab.xplatxboxsdk.v141.autopkg +++ b/com.playfab.xplatxboxsdk.v141.autopkg @@ -18,7 +18,7 @@ configurations { nuget { nuspec { id = "com.playfab.xplatxboxsdk.v141"; - version : 3.123.231027; + version : 3.125.231110; title: "PlayFab Xbox Platform C++ Sdk for Visual Studio 2017"; summary: "PlayFab is the unified backend platform for games and everything you need to build and operate your game, all in one place, so you can focus on creating and delivering a great player experience."; authors: "PlayFab"; @@ -28,7 +28,7 @@ nuget { iconUrl: "https://playfab.com/assets/img/playfab-mark.png"; requireLicenseAcceptance: false; description: "Authentication, in-game commerce, player data, title data, inventory, characters, statistics, leaderboards, analytics and reporting, friends, multiplayer, matchmaking, tournaments, cloud script, trading, real-time event handling, player management, live ops, and server hosting for all major platforms/devices and games of any scale. This sdk gives your game the ability log into PlayFab and access cloud data and services."; - releaseNotes: "https://api.playfab.com/releaseNotes/#231027"; + releaseNotes: "https://api.playfab.com/releaseNotes/#231110"; copyright: "Copyright 2023"; language: "C++"; tags: { PlayFab, Baas, Paas, JSON, REST, HTTP, SSL, API, cloud, liveops, game, gamedev, native, xbox };