コード例 #1
0
        private void RenderStats(EndOfGameStats Statistics)
        {
            TimeSpan t = TimeSpan.FromSeconds(Statistics.GameLength);

            TimeLabel.Content = string.Format("{0:D2}:{1:D2}", t.Minutes, t.Seconds);
            ModeLabel.Content = Statistics.GameMode;
            TypeLabel.Content = Statistics.GameType;

            GainedIP.Content = "+" + Statistics.IpEarned + " IP";
            TotalIP.Content  = Statistics.IpTotal.ToString().Replace(".0", "") + " IP Total";
            string game = " XP";


            List <PlayerParticipantStatsSummary> AllParticipants = new List <PlayerParticipantStatsSummary>(Statistics.TeamPlayerParticipantStats.ToArray());

            AllParticipants.AddRange(Statistics.OtherTeamPlayerParticipantStats);

            foreach (PlayerParticipantStatsSummary summary in AllParticipants)
            {
                EndOfGamePlayer playerStats = new EndOfGamePlayer();
                champions       Champ       = champions.GetChampion(summary.SkinName); //Misleading variable name
                playerStats.ChampImage.Source   = Champ.icon;
                playerStats.ChampLabel.Content  = Champ.name;
                playerStats.PlayerLabel.Content = summary.SummonerName;
                var uriSource = new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "spell", SummonerSpell.GetSpellImageName((int)summary.Spell1Id)), UriKind.Absolute);
                playerStats.Spell1Image.Source = new BitmapImage(uriSource);
                uriSource = new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "spell", SummonerSpell.GetSpellImageName((int)summary.Spell2Id)), UriKind.Absolute);
                playerStats.Spell2Image.Source = new BitmapImage(uriSource);

                double ChampionsKilled = 0;
                double Assists         = 0;
                double Deaths          = 0;

                bool victory = false;
                foreach (RawStatDTO stat in summary.Statistics)
                {
                    if (stat.StatTypeName.ToLower() == "win")
                    {
                        victory = true;
                    }
                }

                if (Statistics.Ranked)
                {
                    game = " LP";

                    GainedXP.Content = (victory ? "+" : "-") + Statistics.ExperienceEarned + game;
                    TotalXP.Content  = Statistics.ExperienceTotal + game;
                }
                else
                {
                    GainedXP.Content = "+" + Statistics.ExperienceEarned + game;
                    TotalXP.Content  = Statistics.ExperienceTotal + game;
                }
                foreach (RawStatDTO stat in summary.Statistics)
                {
                    if (stat.StatTypeName.StartsWith("ITEM") && stat.Value != 0)
                    {
                        System.Windows.Controls.Image item = new System.Windows.Controls.Image();
                        uriSource   = new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "item", stat.Value + ".png"), UriKind.Absolute);
                        item.Source = new BitmapImage(uriSource);
                        playerStats.ItemsListView.Items.Add(item);
                    }

                    switch (stat.StatTypeName)
                    {
                    case "GOLD_EARNED":
                        if (stat.Value > 0)
                        {
                            playerStats.GoldLabel.Content = string.Format("{0:N1}k", stat.Value / 1000);
                        }
                        break;

                    case "MINIONS_KILLED":
                        playerStats.CSLabel.Content = stat.Value;
                        break;

                    case "LEVEL":
                        playerStats.LevelLabel.Content = stat.Value;
                        break;

                    case "CHAMPIONS_KILLED":
                        ChampionsKilled = stat.Value;
                        break;

                    case "ASSISTS":
                        Assists = stat.Value;
                        break;

                    case "NUM_DEATHS":
                        Deaths = stat.Value;
                        break;

                    default:
                        break;
                    }
                }

                playerStats.ScoreLabel.Content = ChampionsKilled + "/" + Deaths + "/" + Assists;

                PlayersListView.Items.Add(playerStats);
            }

            PlayersListView.Items.Insert(AllParticipants.Count / 2, new Separator());

            championSkins Skin = championSkins.GetSkin(Statistics.SkinIndex);

            try
            {
                if (Skin != null)
                {
                    var skinSource = new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Skin.splashPath), UriKind.Absolute);
                    SkinImage.Source = new BitmapImage(skinSource);
                }
            }
            catch
            {
            }
        }
コード例 #2
0
        private void RenderStats(EndOfGameStats statistics)
        {
            TimeSpan t = TimeSpan.FromSeconds(statistics.GameLength);

            TimeLabel.Content = string.Format("{0:D2}:{1:D2}", t.Minutes, t.Seconds);
            ModeLabel.Content = statistics.GameMode;
            TypeLabel.Content = statistics.GameType;
            MatchStatsOnline  = "http://matchhistory.na.leagueoflegends.com/en/#match-details/" + Client.Region.InternalName + "/" + statistics.ReportGameId + "/" + statistics.UserId;
            GainedIP.Content  = "+" + statistics.IpEarned + " IP";
            TotalIP.Content   = statistics.IpTotal.ToString(CultureInfo.InvariantCulture).Replace(".0", "") + " IP Total";
            string game            = " XP";
            var    allParticipants =
                new List <PlayerParticipantStatsSummary>(statistics.TeamPlayerParticipantStats.ToArray());

            allParticipants.AddRange(statistics.OtherTeamPlayerParticipantStats);
            foreach (PlayerParticipantStatsSummary summary in allParticipants)
            {
                var       playerStats = new EndOfGamePlayer(summary.UserId, summary.GameId, summary.SummonerName, statistics.TeamPlayerParticipantStats.Contains(summary));
                champions champ       = champions.GetChampion(summary.SkinName); //Misleading variable name
                playerStats.ChampImage.Source   = champ.icon;
                playerStats.ChampLabel.Content  = champ.name;
                playerStats.PlayerLabel.Content = summary.SummonerName;
                if (File.Exists(Path.Combine(Client.ExecutingDirectory, "Assets", "spell", SummonerSpell.GetSpellImageName((int)summary.Spell1Id))))
                {
                    var uriSource = new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "spell", SummonerSpell.GetSpellImageName((int)summary.Spell1Id)), UriKind.Absolute);
                    playerStats.Spell1Image.Source = new BitmapImage(uriSource);
                }
                else
                {
                    Client.Log(SummonerSpell.GetSpellImageName((int)summary.Spell1Id) + " is missing");
                }
                if (File.Exists(Path.Combine(Client.ExecutingDirectory, "Assets", "spell", SummonerSpell.GetSpellImageName((int)summary.Spell2Id))))
                {
                    var uriSource = new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "spell", SummonerSpell.GetSpellImageName((int)summary.Spell2Id)), UriKind.Absolute);
                    playerStats.Spell2Image.Source = new BitmapImage(uriSource);
                }
                else
                {
                    Client.Log(SummonerSpell.GetSpellImageName((int)summary.Spell2Id) + " is missing");
                }
                double championsKilled = 0;
                double assists         = 0;
                double deaths          = 0;
                bool   victory         = false;
                foreach (RawStatDTO stat in summary.Statistics.Where(stat => stat.StatTypeName.ToLower() == "win"))
                {
                    victory = true;
                }

                if (statistics.Ranked)
                {
                    game             = " LP";
                    GainedXP.Content = (victory ? "+" : "-") + statistics.ExperienceEarned + game;
                    TotalXP.Content  = statistics.ExperienceTotal + game;
                }
                else
                {
                    GainedXP.Content = "+" + statistics.ExperienceEarned + game;
                    TotalXP.Content  = statistics.ExperienceTotal + game;
                }

                foreach (RawStatDTO stat in summary.Statistics)
                {
                    if (stat.StatTypeName.StartsWith("ITEM") && Math.Abs(stat.Value) > 0)
                    {
                        var item = new Image();
                        if (File.Exists(Path.Combine(Client.ExecutingDirectory, "Assets", "item", stat.Value + ".png")))
                        {
                            var uriSource = new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "item", stat.Value + ".png"), UriKind.Absolute);
                            item.Source = new BitmapImage(uriSource);
                        }
                        else
                        {
                            Client.Log(stat.Value + ".png is missing");
                        }
                        playerStats.ItemsListView.Items.Add(item);
                    }
                    switch (stat.StatTypeName)
                    {
                    case "GOLD_EARNED":
                        if (stat.Value > 0)
                        {
                            playerStats.GoldLabel.Content = string.Format("{0:N1}k", stat.Value / 1000);
                        }
                        break;

                    case "MINIONS_KILLED":
                        playerStats.CsLabel.Content = stat.Value;
                        break;

                    case "LEVEL":
                        playerStats.LevelLabel.Content = stat.Value;
                        break;

                    case "CHAMPIONS_KILLED":
                        championsKilled = stat.Value;
                        break;

                    case "ASSISTS":
                        assists = stat.Value;
                        break;

                    case "NUM_DEATHS":
                        deaths = stat.Value;
                        break;
                    }
                }
                playerStats.ScoreLabel.Content = championsKilled + "/" + deaths + "/" + assists;
                PlayersListView.Items.Add(playerStats);
            }
            PlayersListView.Items.Insert(allParticipants.Count / 2, new Separator());
            championSkins skin = championSkins.GetSkin(statistics.SkinIndex);

            try
            {
                if (skin == null)
                {
                    return;
                }

                var skinSource =
                    new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", skin.splashPath),
                            UriKind.Absolute);
                SkinImage.Source = new BitmapImage(skinSource);
            }
            catch (Exception)
            {
            }
        }
コード例 #3
0
        private void RenderStats(EndOfGameStats statistics)
        {
            TimeSpan t = TimeSpan.FromSeconds(statistics.GameLength);

            TimeLabel.Content = $"{t.Minutes:D2}:{t.Seconds:D2}";
            ModeLabel.Content = statistics.GameMode;
            TypeLabel.Content = statistics.GameType;

            MatchStatsOnline = "http://matchhistory.na.leagueoflegends.com/en/#match-details/" + StaticVars.ActiveClient.RegionData.RegionName + "/" + statistics.ReportGameId + "/" + statistics.UserId;

            GainedIP.Content = "+" + statistics.IpEarned + " IP";
            TotalIP.Content  = statistics.IpEarned.ToString(CultureInfo.InvariantCulture).Replace(".0", "") + " IP Total";
            string game            = " XP";
            var    allParticipants =
                new List <PlayerParticipantStatsSummary>(statistics.TeamPlayerParticipantStats.ToArray());

            allParticipants.AddRange(statistics.OtherTeamPlayerParticipantStats);

            var readFile          = Path.Combine(StaticVars.IcyWindLocation, "IcyWindAssets", "SumSpell", "summoner.json");
            var text              = File.ReadAllText(readFile);
            var internalSpellData = JsonConvert.DeserializeObject <SumSpellData>(text);

            var readFile2         = Path.Combine(StaticVars.IcyWindLocation, "IcyWindAssets", "ChampIcons", "champion.json");
            var text2             = File.ReadAllText(readFile2);
            var internalChampData = JsonConvert.DeserializeObject <ChampionData>(text2);

            foreach (PlayerParticipantStatsSummary summary in allParticipants)
            {
                var playerStats = new EndOfGamePlayer(summary.UserId, summary.GameId, summary.SummonerName, statistics.TeamPlayerParticipantStats.Contains(summary));
                //champions champ = champions.GetChampion(summary.SkinName); //Misleading variable name

                var champ = internalChampData.Data.First(x => x.Value.Key == summary.ChampionId.ToString());
                playerStats.ChampImage.Source = new BitmapImage(new Uri(
                                                                    Path.Combine(StaticVars.IcyWindLocation, "IcyWindAssets", "SumSpell",
                                                                                 champ.Value.Image.Full)));
                playerStats.ChampLabel.Content  = summary.SkinName;
                playerStats.PlayerLabel.Content = summary.SummonerName;

                var spell1 = internalSpellData.Data.FirstOrDefault(x => x.Value.Key == summary.Spell1Id.ToString());
                var spell2 = internalSpellData.Data.FirstOrDefault(x => x.Value.Key == summary.Spell1Id.ToString());

                if (File.Exists(Path.Combine(StaticVars.IcyWindLocation, "IcyWindAssets", "SumSpell",
                                             spell1.Value.Image.Full)))
                {
                    playerStats.Spell1Image.Source = new BitmapImage(new Uri(
                                                                         Path.Combine(StaticVars.IcyWindLocation, "IcyWindAssets", "SumSpell",
                                                                                      spell1.Value.Image.Full)));
                }

                if (File.Exists(Path.Combine(StaticVars.IcyWindLocation, "IcyWindAssets", "SumSpell",
                                             spell2.Value.Image.Full)))
                {
                    playerStats.Spell2Image.Source = new BitmapImage(new Uri(
                                                                         Path.Combine(StaticVars.IcyWindLocation, "IcyWindAssets", "SumSpell",
                                                                                      spell2.Value.Image.Full)));
                }

                double championsKilled = 0;
                double assists         = 0;
                double deaths          = 0;
                foreach (var stat in summary.Statistics.Where(stat => stat.StatTypeName.ToLower() == "win"))
                {
                    if (summary.SummonerName !=
                        StaticVars.ActiveClient.LoginDataPacket.AllSummonerData.Summoner.Name)
                    {
                        continue;
                    }
                    GameResultLabel.Content = "Victory";
                }

                if (statistics.Ranked)
                {
                    game = " LP";
                    //GainedXP.Content = (victory ? "+" : "-") + statistics.ExperienceEarned + game;
                    //TotalXP.Content = statistics.ExperienceTotal + game;
                }
                else
                {
                    //GainedXP.Content = "+" + statistics.ExperienceEarned + game;
                    //TotalXP.Content = statistics.ExperienceTotal + game;
                }

                foreach (RawStatDTO stat in summary.Statistics)
                {
                    if (stat.StatTypeName.StartsWith("ITEM") && Math.Abs(stat.Value) > 0)
                    {
                        var item = new Image();
                        if (File.Exists(Path.Combine(StaticVars.IcyWindLocation, "Assets", "item", stat.Value + ".png")))
                        {
                            var UriSource = new System.Uri(Path.Combine(StaticVars.IcyWindLocation, "Assets", "item", stat.Value + ".png"), UriKind.Absolute);
                            item.Source = new BitmapImage(UriSource);
                        }
                        playerStats.ItemsListView.Items.Add(item);
                    }
                    switch (stat.StatTypeName)
                    {
                    case "GOLD_EARNED":
                        if (stat.Value > 0)
                        {
                            playerStats.GoldLabel.Content = $"{stat.Value / 1000:N1}k";
                        }
                        break;

                    case "MINIONS_KILLED":
                        playerStats.CsLabel.Content = stat.Value;
                        break;

                    case "LEVEL":
                        playerStats.LevelLabel.Content = stat.Value;
                        break;

                    case "CHAMPIONS_KILLED":
                        championsKilled = stat.Value;
                        break;

                    case "ASSISTS":
                        assists = stat.Value;
                        break;

                    case "NUM_DEATHS":
                        deaths = stat.Value;
                        break;
                    }
                }
                playerStats.ScoreLabel.Content = championsKilled + "/" + deaths + "/" + assists;
                PlayersListView.Items.Add(playerStats);
            }
            PlayersListView.Items.Insert(allParticipants.Count / 2, new Separator());

            /*
             * championSkins skin = championSkins.GetSkin(statistics.SkinIndex);
             * try
             * {
             *  if (skin == null)
             *      return;
             *
             *  var skinSource =
             *      new System.Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", skin.splashPath),
             *          UriKind.Absolute);
             *  SkinImage.Source = new BitmapImage(skinSource);
             * }
             * catch (Exception)
             * {
             * }
             */
        }
コード例 #4
0
        private void RenderStats(EndOfGameStats Statistics)
        {
            TimeSpan t = TimeSpan.FromSeconds(Statistics.GameLength);

            TimeLabel.Content = string.Format("{0:D2}:{1:D2}", t.Minutes, t.Seconds);
            ModeLabel.Content = Statistics.GameMode;
            TypeLabel.Content = Statistics.GameType;

            List <PlayerParticipantStatsSummary> AllParticipants = new List <PlayerParticipantStatsSummary>(Statistics.TeamPlayerParticipantStats.ToArray());

            AllParticipants.AddRange(Statistics.OtherTeamPlayerParticipantStats);

            foreach (PlayerParticipantStatsSummary summary in AllParticipants)
            {
                EndOfGamePlayer playerStats = new EndOfGamePlayer();
                champions       Champ       = champions.GetChampion(summary.SkinName); //Misleading variable name
                playerStats.ChampImage.Source   = Champ.icon;
                playerStats.ChampLabel.Content  = Champ.name;
                playerStats.PlayerLabel.Content = summary.SummonerName;
                var uriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "spell", SummonerSpell.GetSpellImageName((int)summary.Spell1Id));
                playerStats.Spell1Image.Source = Client.GetImage(uriSource);
                uriSource = Path.Combine(Client.ExecutingDirectory, "Assets", "spell", SummonerSpell.GetSpellImageName((int)summary.Spell2Id));
                playerStats.Spell2Image.Source = Client.GetImage(uriSource);

                double ChampionsKilled = 0;
                double Assists         = 0;
                double Deaths          = 0;

                foreach (RawStatDTO stat in summary.Statistics)
                {
                    if (stat.StatTypeName.StartsWith("ITEM") && stat.Value != 0)
                    {
                        Image item = new Image();
                        uriSource   = Path.Combine(Client.ExecutingDirectory, "Assets", "item", stat.Value + ".png");
                        item.Source = Client.GetImage(uriSource);
                        playerStats.ItemsListView.Items.Add(item);
                    }

                    switch (stat.StatTypeName)
                    {
                    case "GOLD_EARNED":
                        if (stat.Value > 0)
                        {
                            playerStats.GoldLabel.Content = string.Format("{0:N1}k", stat.Value / 1000);
                        }
                        break;

                    case "MINIONS_KILLED":
                        playerStats.CSLabel.Content = stat.Value;
                        break;

                    case "LEVEL":
                        playerStats.LevelLabel.Content = stat.Value;
                        break;

                    case "CHAMPIONS_KILLED":
                        ChampionsKilled = stat.Value;
                        break;

                    case "ASSISTS":
                        Assists = stat.Value;
                        break;

                    case "NUM_DEATHS":
                        Deaths = stat.Value;
                        break;

                    default:
                        break;
                    }
                }

                playerStats.ScoreLabel.Content = ChampionsKilled + "/" + Deaths + "/" + Assists;

                PlayersListView.Items.Add(playerStats);
            }

            PlayersListView.Items.Insert(AllParticipants.Count / 2, new Separator());

            /*championSkins Skin = championSkins.GetSkin(Statistics.SkinIndex);
             * var skinSource = Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Skin.splashPath);
             * SkinImage.Source = Client.GetImage(skinSource);*/
        }