Beispiel #1
0
        public async void BuildPokemonList(List <Tuple <PokemonData, double, int> > receivedList)
        {
            PokemonList.Clear();
            var pokemonFamilies = await Session.Inventory.GetPokemonFamilies();

            var pokemonSettings = (await Session.Inventory.GetPokemonSettings()).ToList();

            foreach (var pokemon in receivedList)
            {
                var setting = pokemonSettings.Single(q => q.PokemonId == pokemon.Item1.PokemonId);
                var family  = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
                var mon     = new PokemonUiData(
                    this,
                    pokemon.Item1.Id,
                    pokemon.Item1.PokemonId,
                    pokemon.Item1.PokemonId.ToInventorySource(),
                    pokemon.Item1.Nickname == "" ? Session.Translation.GetPokemonName(pokemon.Item1.PokemonId) : pokemon.Item1.Nickname,
                    pokemon.Item1.Cp,
                    pokemon.Item2,
                    family.FamilyId,
                    family.Candy_,
                    pokemon.Item1.CreationTimeMs,
                    pokemon.Item1.Favorite == 1,
                    !string.IsNullOrEmpty(pokemon.Item1.DeployedFortId));
                PokemonList.Add(mon);
                mon.UpdateTags(Logic);
            }
        }
Beispiel #2
0
        public async void BuildPokemonList(List <Tuple <PokemonData, double, int> > receivedList)
        {
            PokemonList.Clear();
            var pokemonFamilies = await Session.Inventory.GetPokemonFamilies();

            var pokemonSettings = (await Session.Inventory.GetPokemonSettings()).ToList();

            foreach (var pokemon in receivedList)
            {
                var setting = pokemonSettings.Single(q => q.PokemonId == pokemon.Item1.PokemonId);
                var family  = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
                var mon     = new PokemonUiData(
                    pokemon.Item1.Id,
                    pokemon.Item1.PokemonId,
                    pokemon.Item1.PokemonId.ToInventorySource(),
                    (pokemon.Item1.Nickname == "" ? pokemon.Item1.PokemonId.ToString() : pokemon.Item1.Nickname),
                    pokemon.Item1.Cp,
                    pokemon.Item2,
                    family.FamilyId,
                    family.Candy_,
                    pokemon.Item1.CreationTimeMs);
                PokemonList.Add(mon);
                mon.UpdateTags(Logic);
            }
        }
Beispiel #3
0
        public async void BuildPokemonList(List <Tuple <PokemonData, double, int> > receivedList)
        {
            PokemonList.Clear();
            var pokemonFamilies = await Session.Inventory.GetPokemonFamilies();

            var pokemonSettings = (await Session.Inventory.GetPokemonSettings()).ToList();

            foreach (var pokemon in receivedList)
            {
                var setting = pokemonSettings.Single(q => q.PokemonId == pokemon.Item1.PokemonId);
                var family  = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
                var mon     = new PokemonUiData(
                    this,
                    pokemon.Item1.Id,
                    pokemon.Item1.PokemonId,
                    //pokemon.Item1.PokemonId.ToInventorySource(),
                    pokemon.Item1.Nickname == "" ? Session.Translation.GetPokemonName(pokemon.Item1.PokemonId) : pokemon.Item1.Nickname,
                    pokemon.Item1.Cp,
                    pokemon.Item2,
                    family.FamilyId,
                    family.Candy_,
                    pokemon.Item1.CreationTimeMs,
                    pokemon.Item1.Favorite == 1,
                    !string.IsNullOrEmpty(pokemon.Item1.DeployedFortId),
                    PokemonInfo.GetLevel(pokemon.Item1),
                    pokemon.Item1.Move1,
                    pokemon.Item1.Move2,
                    setting.Type,
                    setting.Type2,
                    (int)PokemonInfo.GetMaxCpAtTrainerLevel(pokemon.Item1, Level),
                    PokemonInfo.GetBaseStats(pokemon.Item1.PokemonId),
                    pokemon.Item1.Stamina,
                    pokemon.Item1.StaminaMax,
                    (int)PokemonInfo.GetMaxCpAtTrainerLevel(pokemon.Item1, 40),
                    setting.CandyToEvolve);
                PokemonList.Add(mon);
                mon.UpdateTags(Logic);
            }
        }
        public async void BuildPokemonList(List <PokemonData> receivedList)
        {
            var pokeInAction = PokemonList.Where(x => x != null && x.InAction).ToList();

            PokemonList.Clear();
            var pokemonFamilies = await Session.Inventory.GetPokemonFamilies();

            var pokemonSettings = (await Session.Inventory.GetPokemonSettings()).ToList();

            foreach (var pokemonGroup in receivedList.GroupBy(x => x.PokemonId))
            {
                var setting = pokemonSettings.Single(q => q.PokemonId == pokemonGroup.Key);
                var family  = pokemonFamilies.First(q => q.FamilyId == setting.FamilyId);
                foreach (var pokemon in pokemonGroup)
                {
                    if (PokemonList.Any(x => x.Id == pokemon.Id))
                    {
                        continue;
                    }

                    var mon = new PokemonUiData(
                        this,
                        pokemon.Id,
                        pokemon.PokemonId,
                        //pokemon.Item1.PokemonId.ToInventorySource(),
                        IsNullOrEmpty(pokemon.Nickname)
                            ? Session.Translation.GetPokemonName(pokemon.PokemonId)
                            : pokemon.Nickname,
                        pokemon.Cp,
                        pokemon.CalculatePokemonPerfection(),
                        family.FamilyId,
                        family.Candy_,
                        pokemon.CreationTimeMs,
                        pokemon.Favorite == 1,
                        !IsNullOrEmpty(pokemon.DeployedFortId),
                        pokemon.GetLevel(),
                        pokemon.Move1,
                        pokemon.Move2,
                        setting.Type,
                        setting.Type2,
                        (int)PokemonInfo.GetMaxCpAtTrainerLevel(pokemon, Level),
                        PokemonInfo.GetBaseStats(pokemon.PokemonId),
                        pokemon.Stamina,
                        pokemon.IndividualStamina,
                        (int)PokemonInfo.GetMaxCpAtTrainerLevel(pokemon, 40),
                        setting.CandyToEvolve,
                        pokemon.IndividualAttack,
                        pokemon.IndividualDefense,
                        pokemon.CpMultiplier + pokemon.AdditionalCpMultiplier,
                        pokemon.WeightKg,
                        pokemon.StaminaMax,
                        setting.EvolutionIds.ToArray(),
                        Session.Profile?.PlayerData?.BuddyPokemon?.Id == pokemon.Id);
                    if (pokeInAction.Any(x => x.Id == mon.Id))
                    {
                        mon.InAction = true;
                    }
                    PokemonList.Add(mon);
                    mon.UpdateTags(Logic);
                }
            }
        }