Example #1
0
    public MatchDetails(RiotACS.Game game, RiotACS.Delta delta, Action back = null) {
      InitializeComponent();

      this.back = back;
      if (back == null) BackButton.Visibility = Visibility.Collapsed;

      var blue = new List<object>();
      var red = new List<object>();
      foreach (var player in game.Participants) {
        var champ = DataDragon.GetChampData(player.ChampionId);
        var spell1 = DataDragon.GetSpellData(player.Spell1Id);
        var spell2 = DataDragon.GetSpellData(player.Spell2Id);

        var items = new[] { player.Stats.Item0, player.Stats.Item1, player.Stats.Item2, player.Stats.Item3, player.Stats.Item4, player.Stats.Item5, player.Stats.Item6 };

        var item = new {
          ChampImage = DataDragon.GetChampIconImage(champ),
          Spell1Image = DataDragon.GetSpellImage(spell1),
          Spell2Image = DataDragon.GetSpellImage(spell2),
          Name = champ.name,
          Score = $"{player.Stats.Kills} / {player.Stats.Deaths} / {player.Stats.Assists}",
          Item0Image = DataDragon.GetItemImage(items[0]),
          Item1Image = DataDragon.GetItemImage(items[1]),
          Item2Image = DataDragon.GetItemImage(items[2]),
          Item3Image = DataDragon.GetItemImage(items[3]),
          Item4Image = DataDragon.GetItemImage(items[4]),
          Item5Image = DataDragon.GetItemImage(items[5]),
          Item6Image = DataDragon.GetItemImage(items[6]),
          CS = player.Stats.TotalMinionsKilled,
          Gold = (player.Stats.GoldEarned / 1000.0).ToString("#.#k")
        };

        if (player.TeamId == 100) blue.Add(item);
        else red.Add(item);
      }
      BlueTeam.ItemsSource = blue;
      RedTeam.ItemsSource = red;
    }
    public MatchHistoryItem() {
      InitializeComponent();

      Loaded += (src, e) => {
        var game = DataContext as RiotACS.Game;
        var identity = game.ParticipantIdentities.FirstOrDefault(i => i.Player.AccountId == Session.Current.Account.AccountID);
        var me = game.Participants.FirstOrDefault(p => p.ParticipantId == identity.ParticipantId);

        var champ = DataDragon.GetChampData(me.ChampionId);
        var spell1 = DataDragon.GetSpellData(me.Spell1Id);
        var spell2 = DataDragon.GetSpellData(me.Spell2Id);

        ChampImage.Source = DataDragon.GetChampIconImage(champ).Load();
        Spell1Image.Source = DataDragon.GetSpellImage(spell1).Load();
        Spell2Image.Source = DataDragon.GetSpellImage(spell2).Load();

        MapLabel.Content = DataDragon.GameMaps[game.MapId];
        if (game.GameType.Equals("CUSTOM_GAME")) {
          ModeLabel.Content = "Custom";
        } else if (game.GameType.Equals("TUTORIAL_GAME")) {
          ModeLabel.Content = "Tutorial";
        } else {
          ModeLabel.Content = GameMode.Values[game.GameMode].Value;
        }

        var items = new[] { me.Stats.Item0, me.Stats.Item1, me.Stats.Item2, me.Stats.Item3, me.Stats.Item4, me.Stats.Item5, me.Stats.Item6 };
        var images = new[] { Item0Image, Item1Image, Item2Image, Item3Image, Item4Image, Item5Image, Item6Image };
        for (int i = 0; i < items.Length; i++) {
          images[i].Source = DataDragon.GetItemImage(items[i]).Load();
        }

        ScoreLabel.Content = $"{me.Stats.Kills} / {me.Stats.Deaths} / {me.Stats.Assists}";
        var date = Session.Epoch.AddMilliseconds(game.GameCreation);

        DateLabel.Content = date.ToString("M / d / yyyy");
        TimeLabel.Content = date.ToString("h:mm tt");
      };
    }