コード例 #1
0
        /// <summary>
        /// Returns a Pokemon species entry for the given Pokemon species.
        /// </summary>
        protected override async Task <PokemonSpeciesEntry> ConvertToEntry(PokemonSpecies species)
        {
            var primaryVariety = await PokemonService.Upsert(species.Varieties[0].Pokemon);

            var displayNames       = species.Names.Localise();
            var genera             = species.Genera.Localise();
            var flavourTextEntries = await GetFlavourTextEntries(species);

            var varieties = await GetVarieties(species);

            var generation = await GetGeneration(species);

            var evolutionChain = await GetEvolutionChain(species);

            var validity = await GetValidity(species);

            return(new PokemonSpeciesEntry
            {
                Key = species.Id,
                Name = species.Name,
                SpriteUrl = primaryVariety.SpriteUrl,
                ShinySpriteUrl = primaryVariety.ShinySpriteUrl,
                DisplayNames = displayNames.ToList(),
                Genera = genera.ToList(),
                FlavourTextEntries = flavourTextEntries.ToList(),
                Types = primaryVariety.Types.ToList(),
                BaseStats = primaryVariety.BaseStats.ToList(),
                Varieties = varieties.ToList(),
                Generation = generation,
                EvolutionChain = evolutionChain,
                Validity = validity.ToList(),
                CatchRate = species.CaptureRate
            });
        }
コード例 #2
0
        /// <summary>
        /// Returns the efficacy of the Pokemon with the given ID in the version group with the
        /// given ID.
        /// </summary>
        public async Task <EfficacySet> GetTypeEfficacyByPokemonId(int pokemonId, int versionGroupId)
        {
            var pokemon = await PokemonService.Upsert(pokemonId);

            return(await TypesService.GetTypesEfficacySet(pokemon.Types.Select(t => t.Id), versionGroupId));
        }