Example #1
0
        /// <summary>
        ///     Uses the selected berry for the current encounter
        /// </summary>
        /// <returns></returns>
        public async Task ThrowBerry()
        {
            Logger.Write($"Used {SelectedCaptureItem}. Remaining: {SelectedCaptureItem.Count}");
            var berryResult = await GameClient.UseCaptureItem(CurrentPokemon.EncounterId, CurrentPokemon.SpawnpointId, SelectedCaptureItem.ItemId);

            if (berryResult.Success)
            {
                // TODO: visual feedback
                // TODO: do we need to handle the returned values or are they needed just to animate the 3d model?
                Logger.Write($"Success when using {SelectedCaptureItem}.");
                BerrySuccess?.Invoke(this, null);
                await new MessageDialog($"Used {SelectedCaptureItem.ItemId}", "").ShowAsyncQueue();
                SelectStartingBall();
            }
        }
Example #2
0
        /// <summary>
        ///     Uses the selected berry for the current encounter
        /// </summary>
        /// <returns></returns>
        private async Task ThrowBerry()
        {
            Logger.Write($"Used {LastItemUsed}.");

            var berryResponse = await GameClient.UseCaptureItem(CurrentPokemon.EncounterId, CurrentPokemon.SpawnpointId, LastItemUsed ?? ItemId.ItemRazzBerry);

            if (berryResponse.Success)
            {
                // TODO: visual feedback
                // TODO: do we need to handle the returned values or are they needed just to animate the 3d model?
                Logger.Write($"Success when using {LastItemUsed}.");
                BerrySuccess?.Invoke(this, null);
            }
            else
            {
                Logger.Write($"Failure when using {LastItemUsed}.");
            }
        }
        /// <summary>
        ///     Uses the selected berry for the current encounter
        /// </summary>
        /// <returns></returns>
        private async Task ThrowBerry()
        {
            SelectedCaptureItem = SelectAvailablePokeBall(); //To set it immediatelly, because button image would be berry until responses
            Logger.Write($"Used {LastItemUsed}.");

            var berryResponse = await GameClient.UseCaptureItem(CurrentPokemon.EncounterId, CurrentPokemon.SpawnpointId, LastItemUsed ?? ItemId.ItemRazzBerry);

            await GameClient.UpdateInventory();              //TODO: Change to delta update inventory, so it doesn't take so long (and offico client does it too)

            SelectedCaptureItem = SelectAvailablePokeBall(); //To restore it after UpdateInventory, which overrides it

            if (berryResponse.Success)
            {
                // TODO: visual feedback
                // TODO: do we need to handle the returned values or are they needed just to animate the 3d model?
                Logger.Write($"Success when using {LastItemUsed}.");
                BerrySuccess?.Invoke(this, null);
            }
            else
            {
                Logger.Write($"Failure when using {LastItemUsed}.");
            }
        }