diff --git a/Licenses/uunit-license.txt b/Licenses/uunit-license.txt new file mode 100644 index 00000000..4dd2f227 --- /dev/null +++ b/Licenses/uunit-license.txt @@ -0,0 +1,19 @@ +Unity has a custom license and subscription, linked to their editor. +https://unity3d.com/get-unity + +We are not distributing the Unity-editor, or any Unity source. + +Uunit Download location +http://wiki.unity3d.com/index.php?title=UUnit + +License +http://creativecommons.org/licenses/by-sa/3.0/ + +/* + * UUnit system from UnityCommunity + * Heavily modified + * Stripped of all unity-related code + * 0.4 release by pboechat + * http://wiki.unity3d.com/index.php?title=UUnit + * http://creativecommons.org/licenses/by-sa/3.0/ +*/ diff --git a/PlayFabClientSDK/source/PlayFabClientAPI.cs b/PlayFabClientSDK/source/PlayFabClientAPI.cs index 113e3399..44535f5e 100644 --- a/PlayFabClientSDK/source/PlayFabClientAPI.cs +++ b/PlayFabClientSDK/source/PlayFabClientAPI.cs @@ -1927,7 +1927,7 @@ public static async Task> PurchaseItemAsync(Pu } /// - /// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Promotions->Coupons tab in the PlayFab Game Manager. See this post for more information on coupons: https://playfab.com/blog/2015/06/18/using-stores-and-coupons-game-manager + /// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Promotions->Coupons tab in the PlayFab Game Manager. See this post for more information on coupons: https://playfab.com/blog/using-stores-and-coupons-game-manager/ /// public static async Task> RedeemCouponAsync(RedeemCouponRequest request) { diff --git a/PlayFabClientSDK/source/PlayFabClientModels.cs b/PlayFabClientSDK/source/PlayFabClientModels.cs index 5e623a1a..a5272e29 100644 --- a/PlayFabClientSDK/source/PlayFabClientModels.cs +++ b/PlayFabClientSDK/source/PlayFabClientModels.cs @@ -4438,6 +4438,11 @@ public class UpdateCharacterDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from CharacterData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// @@ -4477,6 +4482,11 @@ public class UpdateSharedGroupDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from GroupData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys in this request. /// @@ -4506,6 +4516,11 @@ public class UpdateUserDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// diff --git a/PlayFabClientSDK/source/PlayFabErrors.cs b/PlayFabClientSDK/source/PlayFabErrors.cs index a010718f..3ab10cfb 100644 --- a/PlayFabClientSDK/source/PlayFabErrors.cs +++ b/PlayFabClientSDK/source/PlayFabErrors.cs @@ -186,7 +186,9 @@ public enum PlayFabErrorCode TradeAcceptedCatalogItemIsNotTradable = 1182, UsersAlreadyFriends = 1183, LinkedIdentifierAlreadyClaimed = 1184, - CustomIdNotLinked = 1185 + CustomIdNotLinked = 1185, + TotalDataSizeExceeded = 1186, + DeleteKeyConflict = 1187 } public class PlayFabError diff --git a/PlayFabClientSDK/source/PlayFabVersion.cs b/PlayFabClientSDK/source/PlayFabVersion.cs index 139b4a27..20094dbe 100644 --- a/PlayFabClientSDK/source/PlayFabVersion.cs +++ b/PlayFabClientSDK/source/PlayFabVersion.cs @@ -3,8 +3,8 @@ namespace PlayFab.Internal { public class PlayFabVersion { - public static string ApiRevision = "1.7.20151019"; - public static string SdkRevision = "1.0.2"; + public static string ApiRevision = "1.9.20151109"; + public static string SdkRevision = "0.9.151109"; public static string getVersionString() { diff --git a/PlayFabSDK/source/PlayFabAdminModels.cs b/PlayFabSDK/source/PlayFabAdminModels.cs index 5d2b455d..89bc23a1 100644 --- a/PlayFabSDK/source/PlayFabAdminModels.cs +++ b/PlayFabSDK/source/PlayFabAdminModels.cs @@ -2490,6 +2490,11 @@ public class UpdateUserDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// @@ -2529,6 +2534,11 @@ public class UpdateUserInternalDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + } diff --git a/PlayFabSDK/source/PlayFabClientAPI.cs b/PlayFabSDK/source/PlayFabClientAPI.cs index 113e3399..44535f5e 100644 --- a/PlayFabSDK/source/PlayFabClientAPI.cs +++ b/PlayFabSDK/source/PlayFabClientAPI.cs @@ -1927,7 +1927,7 @@ public static async Task> PurchaseItemAsync(Pu } /// - /// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Promotions->Coupons tab in the PlayFab Game Manager. See this post for more information on coupons: https://playfab.com/blog/2015/06/18/using-stores-and-coupons-game-manager + /// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Promotions->Coupons tab in the PlayFab Game Manager. See this post for more information on coupons: https://playfab.com/blog/using-stores-and-coupons-game-manager/ /// public static async Task> RedeemCouponAsync(RedeemCouponRequest request) { diff --git a/PlayFabSDK/source/PlayFabClientModels.cs b/PlayFabSDK/source/PlayFabClientModels.cs index 5e623a1a..a5272e29 100644 --- a/PlayFabSDK/source/PlayFabClientModels.cs +++ b/PlayFabSDK/source/PlayFabClientModels.cs @@ -4438,6 +4438,11 @@ public class UpdateCharacterDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from CharacterData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// @@ -4477,6 +4482,11 @@ public class UpdateSharedGroupDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from GroupData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys in this request. /// @@ -4506,6 +4516,11 @@ public class UpdateUserDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// diff --git a/PlayFabSDK/source/PlayFabErrors.cs b/PlayFabSDK/source/PlayFabErrors.cs index a010718f..3ab10cfb 100644 --- a/PlayFabSDK/source/PlayFabErrors.cs +++ b/PlayFabSDK/source/PlayFabErrors.cs @@ -186,7 +186,9 @@ public enum PlayFabErrorCode TradeAcceptedCatalogItemIsNotTradable = 1182, UsersAlreadyFriends = 1183, LinkedIdentifierAlreadyClaimed = 1184, - CustomIdNotLinked = 1185 + CustomIdNotLinked = 1185, + TotalDataSizeExceeded = 1186, + DeleteKeyConflict = 1187 } public class PlayFabError diff --git a/PlayFabSDK/source/PlayFabServerAPI.cs b/PlayFabSDK/source/PlayFabServerAPI.cs index 04398c59..f27ba719 100644 --- a/PlayFabSDK/source/PlayFabServerAPI.cs +++ b/PlayFabSDK/source/PlayFabServerAPI.cs @@ -1203,6 +1203,38 @@ public static async Task> MoveI }; } + /// + /// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Promotions->Coupons tab in the PlayFab Game Manager. See this post for more information on coupons: https://playfab.com/blog/2015/06/18/using-stores-and-coupons-game-manager + /// + public static async Task> RedeemCouponAsync(RedeemCouponRequest request) + { + if (PlayFabSettings.DeveloperSecretKey == null) throw new Exception ("Must have PlayFabSettings.DeveloperSecretKey set to call this method"); + + object httpResult = await PlayFabHTTP.DoPost(PlayFabSettings.GetURL() + "/Server/RedeemCoupon", request, "X-SecretKey", PlayFabSettings.DeveloperSecretKey); + if(httpResult is PlayFabError) + { + PlayFabError error = (PlayFabError)httpResult; + if (PlayFabSettings.GlobalErrorHandler != null) + PlayFabSettings.GlobalErrorHandler(error); + return new PlayFabResult + { + Error = error, + }; + } + string resultRawJson = (string)httpResult; + + var serializer = JsonSerializer.Create(PlayFabSettings.JsonSettings); + var resultData = serializer.Deserialize>(new JsonTextReader(new StringReader(resultRawJson))); + + RedeemCouponResult result = resultData.data; + + + return new PlayFabResult + { + Result = result + }; + } + /// /// Submit a report about a player (due to bad bahavior, etc.) on behalf of another player, so that customer service representatives for the title can take action concerning potentially poxic players. /// diff --git a/PlayFabSDK/source/PlayFabServerModels.cs b/PlayFabSDK/source/PlayFabServerModels.cs index 3e712376..1d2d982b 100644 --- a/PlayFabSDK/source/PlayFabServerModels.cs +++ b/PlayFabSDK/source/PlayFabServerModels.cs @@ -2324,6 +2324,44 @@ public class PlayerLeaderboardEntry + public class RedeemCouponRequest + { + + + /// + /// Generated coupon code to redeem. + /// + public string CouponCode { get; set;} + + /// + /// Unique PlayFab assigned ID of the user on whom the operation will be performed. + /// + public string PlayFabId { get; set;} + + /// + /// Catalog version of the coupon. + /// + public string CatalogVersion { get; set;} + + + } + + + + public class RedeemCouponResult + { + + + /// + /// Items granted to the player as a result of redeeming the coupon. + /// + public List GrantedItems { get; set;} + + + } + + + public class RedeemMatchmakerTicketRequest { @@ -2377,7 +2415,7 @@ public class RemoveFriendRequest public string FriendPlayFabId { get; set;} /// - /// The PlayFab identifier of the player to lose a friend + /// Unique PlayFab assigned ID of the user on whom the operation will be performed. /// public string PlayFabId { get; set;} @@ -2687,6 +2725,11 @@ public class UpdateCharacterDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from CharacterData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// @@ -2759,6 +2802,11 @@ public class UpdateSharedGroupDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from GroupData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys in this request. /// @@ -2793,6 +2841,11 @@ public class UpdateUserDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// @@ -2832,6 +2885,11 @@ public class UpdateUserInternalDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + } @@ -2861,6 +2919,11 @@ public class UpdateUserInventoryItemDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from ItemData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + } diff --git a/PlayFabSDK/source/PlayFabVersion.cs b/PlayFabSDK/source/PlayFabVersion.cs index 139b4a27..20094dbe 100644 --- a/PlayFabSDK/source/PlayFabVersion.cs +++ b/PlayFabSDK/source/PlayFabVersion.cs @@ -3,8 +3,8 @@ namespace PlayFab.Internal { public class PlayFabVersion { - public static string ApiRevision = "1.7.20151019"; - public static string SdkRevision = "1.0.2"; + public static string ApiRevision = "1.9.20151109"; + public static string SdkRevision = "0.9.151109"; public static string getVersionString() { diff --git a/PlayFabServerSDK/source/PlayFabAdminModels.cs b/PlayFabServerSDK/source/PlayFabAdminModels.cs index 5d2b455d..89bc23a1 100644 --- a/PlayFabServerSDK/source/PlayFabAdminModels.cs +++ b/PlayFabServerSDK/source/PlayFabAdminModels.cs @@ -2490,6 +2490,11 @@ public class UpdateUserDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// @@ -2529,6 +2534,11 @@ public class UpdateUserInternalDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + } diff --git a/PlayFabServerSDK/source/PlayFabErrors.cs b/PlayFabServerSDK/source/PlayFabErrors.cs index a010718f..3ab10cfb 100644 --- a/PlayFabServerSDK/source/PlayFabErrors.cs +++ b/PlayFabServerSDK/source/PlayFabErrors.cs @@ -186,7 +186,9 @@ public enum PlayFabErrorCode TradeAcceptedCatalogItemIsNotTradable = 1182, UsersAlreadyFriends = 1183, LinkedIdentifierAlreadyClaimed = 1184, - CustomIdNotLinked = 1185 + CustomIdNotLinked = 1185, + TotalDataSizeExceeded = 1186, + DeleteKeyConflict = 1187 } public class PlayFabError diff --git a/PlayFabServerSDK/source/PlayFabServerAPI.cs b/PlayFabServerSDK/source/PlayFabServerAPI.cs index 04398c59..f27ba719 100644 --- a/PlayFabServerSDK/source/PlayFabServerAPI.cs +++ b/PlayFabServerSDK/source/PlayFabServerAPI.cs @@ -1203,6 +1203,38 @@ public static async Task> MoveI }; } + /// + /// Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Promotions->Coupons tab in the PlayFab Game Manager. See this post for more information on coupons: https://playfab.com/blog/2015/06/18/using-stores-and-coupons-game-manager + /// + public static async Task> RedeemCouponAsync(RedeemCouponRequest request) + { + if (PlayFabSettings.DeveloperSecretKey == null) throw new Exception ("Must have PlayFabSettings.DeveloperSecretKey set to call this method"); + + object httpResult = await PlayFabHTTP.DoPost(PlayFabSettings.GetURL() + "/Server/RedeemCoupon", request, "X-SecretKey", PlayFabSettings.DeveloperSecretKey); + if(httpResult is PlayFabError) + { + PlayFabError error = (PlayFabError)httpResult; + if (PlayFabSettings.GlobalErrorHandler != null) + PlayFabSettings.GlobalErrorHandler(error); + return new PlayFabResult + { + Error = error, + }; + } + string resultRawJson = (string)httpResult; + + var serializer = JsonSerializer.Create(PlayFabSettings.JsonSettings); + var resultData = serializer.Deserialize>(new JsonTextReader(new StringReader(resultRawJson))); + + RedeemCouponResult result = resultData.data; + + + return new PlayFabResult + { + Result = result + }; + } + /// /// Submit a report about a player (due to bad bahavior, etc.) on behalf of another player, so that customer service representatives for the title can take action concerning potentially poxic players. /// diff --git a/PlayFabServerSDK/source/PlayFabServerModels.cs b/PlayFabServerSDK/source/PlayFabServerModels.cs index 3e712376..1d2d982b 100644 --- a/PlayFabServerSDK/source/PlayFabServerModels.cs +++ b/PlayFabServerSDK/source/PlayFabServerModels.cs @@ -2324,6 +2324,44 @@ public class PlayerLeaderboardEntry + public class RedeemCouponRequest + { + + + /// + /// Generated coupon code to redeem. + /// + public string CouponCode { get; set;} + + /// + /// Unique PlayFab assigned ID of the user on whom the operation will be performed. + /// + public string PlayFabId { get; set;} + + /// + /// Catalog version of the coupon. + /// + public string CatalogVersion { get; set;} + + + } + + + + public class RedeemCouponResult + { + + + /// + /// Items granted to the player as a result of redeeming the coupon. + /// + public List GrantedItems { get; set;} + + + } + + + public class RedeemMatchmakerTicketRequest { @@ -2377,7 +2415,7 @@ public class RemoveFriendRequest public string FriendPlayFabId { get; set;} /// - /// The PlayFab identifier of the player to lose a friend + /// Unique PlayFab assigned ID of the user on whom the operation will be performed. /// public string PlayFabId { get; set;} @@ -2687,6 +2725,11 @@ public class UpdateCharacterDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from CharacterData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// @@ -2759,6 +2802,11 @@ public class UpdateSharedGroupDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from GroupData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys in this request. /// @@ -2793,6 +2841,11 @@ public class UpdateUserDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + /// /// Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. /// @@ -2832,6 +2885,11 @@ public class UpdateUserInternalDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + } @@ -2861,6 +2919,11 @@ public class UpdateUserInventoryItemDataRequest /// public Dictionary Data { get; set;} + /// + /// Optional list of Data-keys to remove from ItemData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + /// + public List KeysToRemove { get; set;} + } diff --git a/PlayFabServerSDK/source/PlayFabVersion.cs b/PlayFabServerSDK/source/PlayFabVersion.cs index 139b4a27..20094dbe 100644 --- a/PlayFabServerSDK/source/PlayFabVersion.cs +++ b/PlayFabServerSDK/source/PlayFabVersion.cs @@ -3,8 +3,8 @@ namespace PlayFab.Internal { public class PlayFabVersion { - public static string ApiRevision = "1.7.20151019"; - public static string SdkRevision = "1.0.2"; + public static string ApiRevision = "1.9.20151109"; + public static string SdkRevision = "0.9.151109"; public static string getVersionString() {