public GameResultForm(GameResult Game, bool isProcessed)
{
InitializeComponent();
// Build Team Grid 1
foreach (Player P in Game.GetPlayersByTeam(1).OrderByDescending(p => p.RoundScore))
{
DataGridViewRow Row = new DataGridViewRow();
Row.CreateCells(Team1Grid);
Row.SetValues(new object[] {
Image.FromStream(Me.GetManifestResourceStream("BF2Statistics.Resources.rank_" + P.Rank + "icon.gif")),
P.Name, P.RoundScore, P.Stats.Kills, P.Stats.Deaths
});
Row.Tag = P.Pid;
Team1Grid.Rows.Add(Row);
}
// Build Team Grid 2
foreach (Player P in Game.GetPlayersByTeam(2).OrderByDescending(p => p.RoundScore))
{
DataGridViewRow Row = new DataGridViewRow();
Row.CreateCells(Team2Grid);
Row.SetValues(new object[] {
Image.FromStream(Me.GetManifestResourceStream("BF2Statistics.Resources.rank_" + P.Rank + "icon.gif")),
P.Name, P.RoundScore, P.Stats.Kills, P.Stats.Deaths
});
Row.Tag = P.Pid;
Team2Grid.Rows.Add(Row);
}
// Set flag images
ArmyFlag1.Image = Image.FromStream(Me.GetManifestResourceStream("BF2Statistics.Resources.armyflag_" + GetArmyCode(Game.Team1ArmyId) + ".png"));
ArmyFlag2.Image = Image.FromStream(Me.GetManifestResourceStream("BF2Statistics.Resources.armyflag_" + GetArmyCode(Game.Team2ArmyId) + ".png"));
// Set team names
TeamName1.Text = ArmyNames[Game.Team1ArmyId];
TeamName2.Text = ArmyNames[Game.Team2ArmyId];
// Set secondary team text
if (Game.WinningTeam == 1)
{
TicketsLabel1.Text = "Has won the Round!";
}
else if (Game.WinningTeam == 2)
{
TicketsLabel2.Text = "Has won the Round!";
}
else
{
TicketsLabel1.Text = "Remaining Tickets: " + Game.Team1Tickets;
TicketsLabel2.Text = "Remaining Tickets: " + Game.Team2Tickets;
}
// Set window title text
this.Text = String.Format("Game Result: {0} [{1}] - {2} UTC", Game.MapName, Game.Mod, Game.RoundEndDate.ToString());
this.MapNameLabel.Text = Game.MapName + " (ID: " + Game.MapId + ")";
this.ModLabel.Text = Game.Mod;
this.KillsLabel.Text = Game.MapKills.ToString();
this.DeathsLabel.Text = Game.MapDeaths.ToString();
this.StartTimeLabel.Text = DateTime.UtcNow.FromUnixTimestamp(Game.RoundStartTime).ToLocalTime().ToString();
this.EndTimeLabel.Text = DateTime.UtcNow.FromUnixTimestamp(Game.RoundEndTime).ToLocalTime().ToString();
this.RoundTimeLabel.Text = Game.RoundTime.ToString();
this.ServerNameLabel.Text = Game.ServerName;
this.ServerPortLabel.Text = Game.ServerPort.ToString();
this.TotalPlayersLabel.Text = Game.PlayersConnected.ToString();
this.Team1PlayersLabel.Text = Game.Team1Players.ToString();
this.Team2PlayersLabel.Text = Game.Team2Players.ToString();
this.EorPlayers1Label.Text = Game.Team1PlayersEnd.ToString();
this.EorPlayers2Label.Text = Game.Team2PlayersEnd.ToString();
this.RoundProcLabel.Text = isProcessed ? "True" : "False";
// Set Gamemode
this.GameModeLabel.Text = GetGameModeText(Game.GameMode);
}