示例#1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="parameter"></param>
 /// <param name="mode"></param>
 /// <param name="suspensionState"></param>
 /// <returns></returns>
 public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode,
                                               IDictionary <string, object> suspensionState)
 {
     if (suspensionState.Any())
     {
         // Recovering the state
         PokemonInventory          = (ObservableCollection <PokemonData>)suspensionState[nameof(PokemonInventory)];
         CurrentPokemonSortingMode = (PokemonSortingModes)suspensionState[nameof(CurrentPokemonSortingMode)];
     }
     else if (parameter is bool)
     {
         // Navigating from game page, so we need to actually load the inventory and set default sorting mode
         PokemonInventory.AddRange(GameClient.PokemonsInventory);
         CurrentPokemonSortingMode = PokemonSortingModes.Combat;
     }
     await Task.CompletedTask;
 }
示例#2
0
        public void Load(ulong selectedPokemonId, PokemonSortingModes sortingMode, PokemonDetailPageViewMode viewMode)
        {
            PokemonInventory.Clear();
            SortingMode = sortingMode;
            ViewMode    = viewMode;
            if (viewMode == PokemonDetailPageViewMode.Normal)
            {
                // Navigating from inventory page so we need to load the pokemoninventory and the current pokemon
                PokemonInventory.AddRange(GameClient.PokemonsInventory.Select(pokemonData => new PokemonDataWrapper(pokemonData)).SortBySortingmode(sortingMode));
                SelectedPokemon = PokemonInventory.FirstOrDefault(pokemon => pokemon.Id == selectedPokemonId);
            }
            else
            {
                // Navigating from Capture, Egg hatch or evolve, only show this pokemon
                PokemonInventory.Add(GameClient.PokemonsInventory.Where(pokemon => pokemon.Id == selectedPokemonId).Select(pokemonData => new PokemonDataWrapper(pokemonData)).FirstOrDefault());
                SelectedPokemon = PokemonInventory.First();
            }

            StardustAmount  = GameClient.PlayerProfile.Currencies.FirstOrDefault(item => item.Name.Equals("STARDUST")).Amount;
            PlayerTeamIsSet = GameClient.PlayerProfile.Team != TeamColor.Neutral;
        }