protected override void grantBundleToPlayer(string playerID, Bundle bundle, string catalogID, Action <string> onSuccessHandler, Action <string> onFailureHandler) { // If there are no items to grant, grant currencies if (bundle.ItemModels == null || bundle.ItemModels.Length == 0) { grantCurrencies(playerID, bundle.CurrencySymbols, bundle.CurrencyValues, onSuccessHandler, onFailureHandler); return; } List <string> itemIDs = new List <string>(); for (int i = 0; i < bundle.ItemModels.Length; i++) { itemIDs.Add(bundle.ItemModels[i].ID.ToString()); } GrantItemsToUserRequest request = new GrantItemsToUserRequest() { CatalogVersion = catalogID, PlayFabId = playerID, ItemIds = itemIDs }; PlayFabServerAPI.GrantItemsToUserAsync(request).ContinueWith(t => { if (t.Result.Error != null) { Log.Error("PlayFabInventoryService error granting items to playerID: " + playerID + " : " + t.Result.Error.ErrorMessage); onFailureHandler(playerID); } else { grantCurrencies(playerID, bundle.CurrencySymbols, bundle.CurrencyValues, onSuccessHandler, onFailureHandler); } }); }
public void GrantRandomItemToUser(string adminUsername, string password, string usernameReceivingItem, string dropTableId) { GameController.catalog.Clear(); var loginWithPlayFabRequest = new LoginWithPlayFabRequest { Username = adminUsername, Password = password }; PlayFabClientAPI.LoginWithPlayFab(loginWithPlayFabRequest, delegate(LoginResult loginResult) { var evaluateRandomResultTableRequest = new EvaluateRandomResultTableRequest() { TableId = dropTableId }; PlayFabServerAPI.EvaluateRandomResultTable(evaluateRandomResultTableRequest, delegate(EvaluateRandomResultTableResult evaluateRandomResultTableResult) { var getAccountInfoRequest = new GetAccountInfoRequest() { Username = usernameReceivingItem }; PlayFabClientAPI.GetAccountInfo(getAccountInfoRequest, delegate(GetAccountInfoResult getAccountInfoResult) { var grantItemsToUserRequest = new GrantItemsToUserRequest() { PlayFabId = getAccountInfoResult.AccountInfo.PlayFabId, ItemIds = new List <string> { evaluateRandomResultTableResult.ResultItemId } }; PlayFabServerAPI.GrantItemsToUser(grantItemsToUserRequest, delegate(GrantItemsToUserResult grantItemsToUser) { PlayFabClientAPI.GetCatalogItems(new PlayFab.ClientModels.GetCatalogItemsRequest(), delegate(PlayFab.ClientModels.GetCatalogItemsResult getCatalogItemsResult) { getCatalogItemsResult.Catalog.ForEach(catalogItem => { GameController.catalog.Add(catalogItem.ItemId, catalogItem); }); Debug.Log("Items granted:"); grantItemsToUser.ItemGrantResults.ForEach(item => { Debug.Log(item.ItemId); AddPowerUp(item); }); }, SharedError.OnSharedError); }, SharedError.OnSharedError); }, SharedError.OnSharedError); }, SharedError.OnSharedError); }, SharedError.OnSharedError); }