public RankedDoublePlayer(LeftPlayer leftPlayer, RightPlayer rightPlayer, Values.StatType type, Form mainform) { InitializeComponent(); this.mainForm = mainform; this.leftPlayer = leftPlayer; this.rightPlayer = rightPlayer; this.type = type; this.pictureBoxLeft.SizeMode = PictureBoxSizeMode.Zoom; this.pictureBoxRight.SizeMode = PictureBoxSizeMode.Zoom; int xLeft = (panelLeft.Size.Width - this.labelPlayerNameLeft.Size.Width) / 2; this.labelPlayerNameLeft.Location = new Point(xLeft, this.labelPlayerNameLeft.Location.Y); int xRight = (panelRight.Size.Width - this.labelPlayerNameRight.Size.Width) / 2; this.labelPlayerNameRight.Location = new Point(xRight, this.labelPlayerNameRight.Location.Y); if (this.leftPlayer != null && this.rightPlayer != null) { if (type == Values.StatType.RankedFPP) { this.statsLeft = this.leftPlayer.CalculatedRankedFppStats; this.statsRight = this.rightPlayer.CalculatedRankedFppStats; } else if (type == Values.StatType.RankedTPP) { this.statsLeft = this.leftPlayer.CalculatedRankedTppStats; this.statsRight = this.rightPlayer.CalculatedRankedTppStats; } this.UpdateStatLabels(); this.DisplayComparisonArrows(); DoublePlayerMatchFiltering doubleFiltering = new DoublePlayerMatchFiltering(this.leftPlayer.Matches, this.leftPlayer.Name, this.rightPlayer.Matches, this.rightPlayer.Name, this.type, "competitive"); Tuple <List <GraphPlot>, List <GraphPlot> > tuple = doubleFiltering.GetList(); this.BuildChart(tuple.Item1, tuple.Item2); } }
private RankedObject DetermineStatType() { if (this.type == Values.StatType.RankedTPP) { RankedObject obj = this.player.CalculatedRankedTppStats; return(obj); } else if (this.type == Values.StatType.RankedFPP) { RankedObject obj = this.player.CalculatedRankedFppStats; return(obj); } else { return(null); } }
private static async Task <RankedObject> ComputeStatsRanked(ModeStatsRanked stats, List <RootMatch> matches, string playername) { if (stats != null) { RankedObject ranked = GetRankedObject((int)stats.currentRankPoint); ranked.GamesPlayed = (int)stats.RoundsPlayed; ranked.Wins = (int)stats.Wins; ranked.WinPercent = Math.Round(StatsCalculation.GetWinRatio(stats.Wins, stats.RoundsPlayed), 2); ranked.AverageRank = Math.Round(stats.AvgRank, 2); ranked.TopTenPercent = Math.Round(stats.Top10Ratio * 100, 2); ranked.Adr = (int)Math.Round(StatsCalculation.GetAdr(stats.DamageDealt, stats.RoundsPlayed), 0); ranked.Kd = Math.Round(StatsCalculation.GetKD(stats.Kills, stats.Deaths), 2); ranked.Kda = Math.Round(StatsCalculation.GetKDA(stats.Kills, stats.Assists, stats.Deaths), 2); ranked.DbnosPerRound = Math.Round(StatsCalculation.GetKnocksPerRound(stats.Dbnos, stats.RoundsPlayed), 2); ranked.FraggerRating = await Task.Run(() => ComputeRankedFraggerRating(matches, playername)); return(ranked); } else { RankedObject ranked = GetRankedObject(0); ranked.GamesPlayed = 0; ranked.Wins = 0; ranked.WinPercent = 0; ranked.AverageRank = 0; ranked.TopTenPercent = 0; ranked.Adr = 0; ranked.Kd = 0; ranked.Kda = 0; ranked.DbnosPerRound = 0; ranked.FraggerRating = 0; return(ranked); } }
private void UpdateStatLabels() { RankedObject rankedStats = DetermineStatType(); string rankTitle = rankedStats.Title.ToString(); this.labelRankTitle.Text = rankTitle; this.pictureBox1.Image = rankedStats.Image; this.labelGamesPlayedValue.Text = rankedStats.GamesPlayed.ToString(); this.labelWinsValue.Text = rankedStats.Wins.ToString(); this.labelWinPercentValue.Text = Math.Round(rankedStats.WinPercent, 2).ToString(); this.labelAVGRankValue.Text = Math.Round(rankedStats.AverageRank, 2).ToString(); this.labelTopTenRatioValue.Text = Math.Round(rankedStats.TopTenPercent, 2).ToString(); this.labelAdrValue.Text = rankedStats.Adr.ToString(); this.labelKDValue.Text = Math.Round(rankedStats.Kd, 2).ToString(); this.labelKDAValue.Text = Math.Round(rankedStats.Kda, 2).ToString(); this.labelAverageKnocksPerGameValue.Text = Math.Round(rankedStats.DbnosPerRound, 2).ToString(); this.fraggerRatingGauge.Value = rankedStats.FraggerRating; this.labelPlayerNameTop.Text = this.player.Name; this.labelSeasonNameLeft.Text = this.player.Season; this.labelModeTypeRight.Text = Values.GetEnumString(this.type); }