示例#1
0
        public async Task <IActionResult> WalkAround(ExploreWalkAroundVm userData)//bevat een omgeving en tijdstip
        {
            if (ModelState.IsValid)
            {
                Type foundType = await FindType(userData.SelectedEnvironmentId, userData.SelectedDayTimeId);

                PokemonSessionData pokemonData = new PokemonSessionData();
                pokemonData.Type = foundType.Name;
                string serializedPokemonData = JsonConvert.SerializeObject(pokemonData);
                HttpContext.Session.SetString("PokemonData", serializedPokemonData);
                return(new RedirectToActionResult("GeneratePokemon", "Explore", null));
            }
            else
            {
                return(View(userData));
            }
        }
        private Pokemon AvoidSerializeErrorAdvantages(Pokemon pokemon)
        {
            List <PokemonType> types = pokemon.PokemonTypes.ToList();

            foreach (PokemonType pt in types)
            {
                Type type = pt.Type;

                var advantages = type.AdvantagesOver;
                foreach (var adv in advantages)
                {
                    adv.AdvantageType = null; adv.DisadvantageType = null;
                }

                var disadvantages = type.DisadvantagesOver;
                foreach (var disadv in disadvantages)
                {
                    disadv.AdvantageType = null; disadv.DisadvantageType = null;
                }
            }
            return(pokemon);
        }
示例#3
0
        private async Task <PokemonCatch> LetPokemonAppear(Type type, Guid userId)
        {
            string         uri = $"{baseuri}/PokemonTypes/GetByTypeName/{type.Name}";
            List <Pokemon> GetPokemonWithType = await WebApiHelper.GetApiResult <List <Pokemon> >(uri);

            int max = GetPokemonWithType.Count();

            if (max != 0)
            {
                int listItem        = random.Next(0, max);
                var appearedPokemon = GetPokemonWithType[listItem];

                uri = $"{baseuri}/PokemonCatches/CreateFromTemplate/{appearedPokemon.Id}/{userId}";
                PokemonCatch generatedPokemon = await WebApiHelper.GetApiResult <PokemonCatch>(uri);

                string serializedPokemon = HttpContext.Session.GetString("PokemonData");
                var    pokemonData       = JsonConvert.DeserializeObject <PokemonSessionData>(serializedPokemon);
                pokemonData.Name        = appearedPokemon.Name;
                pokemonData.Id          = appearedPokemon.Id;
                pokemonData.HP          = generatedPokemon.HP;
                pokemonData.CP          = generatedPokemon.CP;
                pokemonData.Height      = generatedPokemon.Height;
                pokemonData.Weight      = generatedPokemon.Weight;
                pokemonData.MoveCatches = generatedPokemon.PokemonMoveCatches;
                pokemonData.Gender      = generatedPokemon.Gender;
                pokemonData.IsShiny     = generatedPokemon.IsShiny;
                pokemonData.IsAlolan    = generatedPokemon.IsAlolan;
                string serializedPokemonData = JsonConvert.SerializeObject(pokemonData);
                HttpContext.Session.SetString("PokemonData", serializedPokemonData);

                return(generatedPokemon);
            }
            else
            {
                return(null);
            }
        }