コード例 #1
0
 private async Task TransferPokemon(PlayerPokemon playerPokemon)
 {
     if (MessageBox.Show($"Are you sure you want to tranfer \b{playerPokemon.Pokemon}",
                         "You are about to tranfer a pokemon",
                         MessageBoxButton.YesNo) == MessageBoxResult.Yes)
     {
         await _transferPokemonHandler.TransferPokemon(_goBot.Client, playerPokemon.PokemonData);
     }
 }
コード例 #2
0
        private async Task EvolvePokemon(PlayerPokemon playerPokemon)
        {
            var evolveResponse = await _evolvePokemonHandler.EvolvePokemon(_goBot.Client, playerPokemon.PokemonData);

            if (evolveResponse.Result == EvolvePokemonResponse.Types.Result.Success)
            {
                _logger.Write(
                    $"Evolved {playerPokemon.Pokemon.ToString()} successfully for {evolveResponse.ExperienceAwarded}xp",
                    LogLevel.INFO);

                PokemonCollection.Remove(playerPokemon);
                GetPlayerPokemons();
            }
            else
            {
                _logger.Write(
                    $"Failed to evolve {playerPokemon.Pokemon.ToString()}. Reason: {evolveResponse.Result}",
                    LogLevel.WARN);
            }
        }
コード例 #3
0
        private async void GetPlayerPokemons()
        {
            var playerInventory = await _goBot.GetInventoryData();

            var playerPokemons =
                playerInventory.InventoryDelta.InventoryItems.Select(p => p.InventoryItemData.PokemonData);

            foreach (var pokemon in playerPokemons)
            {
                if (pokemon != null)
                {
                    if (pokemon.IsEgg)
                    {
                        continue;
                    }

                    var playerPokemon = new PlayerPokemon()
                    {
                        PokemonData = pokemon,
                        Count       = (int)pokemon.PokemonId,
                        Pokemon     = pokemon.PokemonId.ToString(),
                        Cp          = pokemon.Cp,
                        Attack      = pokemon.IndividualAttack,
                        Defense     = pokemon.IndividualDefense,
                        Stamina     = pokemon.IndividualStamina,
                        Iv          = Math.Round((double)(pokemon.IndividualAttack + pokemon.IndividualDefense + pokemon.IndividualStamina) / 45, 2,
                                                 MidpointRounding.AwayFromZero) * 100,
                        TransferCommand = DelegateCommand <PlayerPokemon> .FromAsyncHandler(TransferPokemon),
                        EvolveCommand   = DelegateCommand <PlayerPokemon> .FromAsyncHandler(EvolvePokemon)
                    };

                    var count = PokemonCollection.FirstOrDefault(d => d.PokemonData.Equals(pokemon));
                    if (count == null)
                    {
                        PokemonCollection.Add(playerPokemon);
                    }
                }
            }
        }