public void Show(Pokemon p) { lblName.Content = p.Name; img.Source = p.Image; listView.ItemsSource = typeof(StatsClass).GetProperties() .Where(pr => !pr.Name.EndsWith("Hp")) .Select(pr => new { Name = pr.Name, Value = pr.GetValue(p.InBattle.Stats) }); moves.DataContext = p.Moves; Visibility = Visibility.Visible; }
private async void MainLoop() { while (true) { switch (await server.ReadType()) { case MessageType.BeginTurn: gridFooter.IsEnabled = true; break; case MessageType.ChangeOpponent: opponent = await server.ReadPokemon(); pokev2.DataContext = opponent; textBlock.Text += $"The opponent sent {opponent.Name}.\n"; break; case MessageType.InBattleOpponent: opponent.InBattle = await server.ReadInBattle(); break; case MessageType.InBattleUser: ActivePokemon.InBattle = await server.ReadInBattle(); break; case MessageType.OpponentFainted: textBlock.Text += opponent.Name + " opponent fainted.\n"; popAskChange.Visibility = Visibility.Visible; break; case MessageType.PokeTeam: // should happen only once pokeTeam = await server.ReadPokeTeam(); pokePicker.PokeTeam = pokeTeam; ActiveIndex = 0; break; case MessageType.Text: textBlock.Text += await server.ReadText(); break; case MessageType.UserFainted: textBlock.Text += ActivePokemon.Name + " fainted. Choose another pokemon.\n"; pokePicker.Show(activeIndex, false); break; } } }
public PickedPokemonArgs(Pokemon poke, int idx) { PickedPokemon = poke; PickedIndex = idx; }