Example #1
0
    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);
    }
Example #3
0
        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"));
        }
Example #4
0
        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);
    }
Example #6
0
    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);
    }
Example #7
0
        /**
         * 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);
        }
Example #8
0
    /// <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;
            }
        }
    }
Example #10
0
    /// <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);
    }
Example #11
0
        /// <inheritdoc/>
        public void HandlePacket(Player player, Span <byte> packet)
        {
            ConsumeItemRequest message = packet;

            this.consumeAction.HandleConsumeRequest(player, message.ItemSlot, message.TargetSlot, Convert(message.FruitConsumption));
        }