private void ConsumeCalculator(string ItemClass, int?toConsume) { ConsumeItemRequest request = new ConsumeItemRequest(); for (int i = 0; i < Inventory.Count; i++) { if (Inventory[i].RemainingUses != null && Inventory[i].ItemClass == ItemClass && Inventory[i].RemainingUses != 0) { request.ItemInstanceId = Inventory[i].ItemInstanceId; if (toConsume >= Inventory[i].RemainingUses) { toConsume -= Inventory[i].RemainingUses; request.ConsumeCount = Convert.ToInt32(Inventory[i].RemainingUses); Inventory[i].RemainingUses = 0; } else { Inventory[i].RemainingUses -= toConsume; request.ConsumeCount = Convert.ToInt32(toConsume); toConsume = 0; } Debug.Log("Consuming " + toConsume + " of " + request.ItemInstanceId); PlayFabClientAPI.ConsumeItem(request, onConsumeCompleted, OnPlayFabError); if (toConsume == 0) { break; } } } }
/// <summary> /// Function used to tell PlayFab that the bought item will be consumed. Called "automatically" after transaction success. /// </summary> /// <param name="itemInstanceID">Item instance ID.</param> void ConsumeItem(string itemInstanceID) { ConsumeItemRequest request = new ConsumeItemRequest(); request.ItemInstanceId = itemInstanceID; request.ConsumeCount = 1; PlayFabClientAPI.ConsumeItem(request, OnConsumeItemSuccess, OnConsumeItemError); }
public void ConsumeItem(string itemInstanceId) { var consumeRequest = new ConsumeItemRequest(); consumeRequest.ConsumeCount = 1; consumeRequest.CharacterId = characterId; consumeRequest.ItemInstanceId = itemInstanceId; PlayFabClientAPI.ConsumeItem(consumeRequest, ConsumeItemCallback, PfSharedControllerEx.FailCallback("ConsumeItem")); }
public static void ConsumeUserItem(string itemInstanceId) { var consumeRequest = new ConsumeItemRequest(); consumeRequest.ConsumeCount = 1; consumeRequest.CharacterId = null; // To indicate user inventory consumeRequest.ItemInstanceId = itemInstanceId; PlayFabClientAPI.ConsumeItem(consumeRequest, ConsumeItemCallback, PfSharedControllerEx.FailCallback("ConsumeItem")); }
public void ConsumeItem(string username, string password, string itemId) { var loginWithPlayFabRequest = new LoginWithPlayFabRequest { Username = username, Password = password }; PlayFabClientAPI.LoginWithPlayFab(loginWithPlayFabRequest, delegate(LoginResult loginResult) { PlayFabClientAPI.GetUserInventory(new GetUserInventoryRequest(), delegate(GetUserInventoryResult getUserInventoryResult) { var inventoryItem = getUserInventoryResult.Inventory.Find(item => item.ItemId == itemId); if (inventoryItem != null) { var consumeItemRequest = new ConsumeItemRequest() { ConsumeCount = 1, ItemInstanceId = inventoryItem.ItemInstanceId }; PlayFabClientAPI.ConsumeItem(consumeItemRequest, delegate(ConsumeItemResult consumeItemResult) { PlayFabClientAPI.GetCatalogItems(new PlayFab.ClientModels.GetCatalogItemsRequest(), delegate(PlayFab.ClientModels.GetCatalogItemsResult getCatalogItemsResult) { GameController.catalog.Clear(); getCatalogItemsResult.Catalog.ForEach(catalogItem => { GameController.catalog.Add(catalogItem.ItemId, catalogItem); }); Debug.Log("Item Consumed: " + consumeItemResult.ItemInstanceId); if (string.Equals(inventoryItem.ItemId, PowerUp.multiplier2x) || string.Equals(inventoryItem.ItemId, PowerUp.multiplier5x) || string.Equals(inventoryItem.ItemId, PowerUp.multiplier10x) || string.Equals(inventoryItem.ItemId, PowerUp.multiplier100x)) { AddPowerUp(inventoryItem); } }, SharedError.OnSharedError); }, SharedError.OnSharedError); } else { Debug.Log("Unable to locate itemId: " + itemId); } }, SharedError.OnSharedError); }, SharedError.OnSharedError); }
public static Promise ConsumeItem(Item item, int count) { var promise = new Promise(); var request = new ConsumeItemRequest { ItemInstanceId = item.instanceID, ConsumeCount = count }; PlayFabClientAPI.ConsumeItem(request, (result) => { promise.Resolve(); SuccessCallback(result); }, ErrorCallback); return(promise); }
/** * Consumes an inventory item. */ public void Consume(ItemInstance item, Action success, Action failure) { Debug.Log("Consuming item: " + item.DisplayName); m_request.SetListeners(success, failure); ConsumeItemRequest request = new ConsumeItemRequest { ItemInstanceId = item.ItemInstanceId, ConsumeCount = 1 }; PlayFabClientAPI.ConsumeItem(request, OnConsumeSuccess, OnConsumeFailure); }
/// <summary> /// Consumes the item. /// </summary> /// <param name="id">Identifier.</param> public static void ConsumeItem(string id) { var request = new ConsumeItemRequest { ConsumeCount = 1, ItemInstanceId = id }; //DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GenericCloudScript); PlayFabClientAPI.ConsumeItem(request, result => { PF_Bridge.RaiseCallbackSuccess("", PlayFabAPIMethods.ConsumeItemUse, MessageDisplayStyle.none); }, PF_Bridge.PlayFabErrorCallback); }
// probably not the best practice to use here, maybe add another check for certain custom properties void OnUserInventoryLoaded(GetUserInventoryResult result) { for (int i = 0; i < result.Inventory.Count; i++) { if (result.Inventory[i].RemainingUses > 0) { ConsumeItemRequest request = new ConsumeItemRequest(); request.ConsumeCount = 1; request.ItemInstanceId = result.Inventory[i].ItemInstanceId; PlayFabClientAPI.ConsumeItem(request, OnItemConsumed, OnItemConsumeError); return; } } }
/// <summary> /// Consumes the item. /// </summary> /// <param name="id">Identifier.</param> public static void ConsumeItem(string id) { var request = new ConsumeItemRequest(); request.ConsumeCount = 1; request.ItemInstanceId = id; if (PF_PlayerData.activeCharacter != null) { request.CharacterId = PF_PlayerData.activeCharacter.characterDetails.CharacterId; } //DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GenericCloudScript); PlayFabClientAPI.ConsumeItem(request, (ConsumeItemResult result) => { PF_Bridge.RaiseCallbackSuccess("", PlayFabAPIMethods.ConsumeItemUse, MessageDisplayStyle.none); }, PF_Bridge.PlayFabErrorCallback); }
/// <inheritdoc/> public void HandlePacket(Player player, Span <byte> packet) { ConsumeItemRequest message = packet; this.consumeAction.HandleConsumeRequest(player, message.ItemSlot, message.TargetSlot, Convert(message.FruitConsumption)); }