//Om vi dubbelklickar på ett namnså öppnas profilen. private void listBox1_DoubleClick(object sender, System.EventArgs e) { try { Player_Stats curPlayer = new Player_Stats(sortList(dM.getPlayerList())[listBox1.SelectedIndex], dM); curPlayer.ShowDialog(); curPlayer.Focus(); } catch { } }
//Switch för varje button på Form1 UI:n private void buttonPress(object sender, EventArgs e) { switch (((Button)sender).Name) { //Add player; players may share name as the list is ID based. case ("addPlayer"): if (nameBox.Text.Length >= 2) { dM.addPlayer(nameBox.Text); UpdateAll(); } nameBox.Focus(); return; //Ett game är definierat som en match med en förlorare och en vinnare. case ("addGame"): //Checkar att allt är valid, och om de inte har spelat tidigare denna vecka så lägger vi till. if (comboWinner.SelectedIndex == -1 || comboLoser.SelectedIndex == -1 || comboWinner.SelectedIndex == comboLoser.SelectedIndex) { MessageBox.Show("Please select different players."); return; } //Sorterar listan enligt hur den är utskriven i comboboxarna och använder //sig av indexet för att ta spelarna. Funkar flawless hitills. List <Player> sortedList = sortList(dM.getPlayerList()); Player Winner = sortedList[comboWinner.SelectedIndex]; Player Loser = sortedList[comboLoser.SelectedIndex]; //Confirm if you want to register just this game. (safety check) DialogResult dr = MessageBox.Show($"Winner:{Winner.getName()}\nLoser:{Loser.getName()}\nWeek:{dM.getCurrentWeek()}", "Confirmation", MessageBoxButtons.YesNo); if (dr == DialogResult.No) { UpdateAll(); return; } //Säkerhetskoll för att se om det finns dubletter per vecka. foreach (Game game in Winner.getGames()) { if (game.getWinner() == Winner && game.getLoser() == Loser || game.getWinner() == Loser && game.getLoser() == Winner) { if (game.getWeek() == dM.getCurrentWeek()) { MessageBox.Show("The game has already been played this week."); return; } } } Game g = new Game(Winner, Loser, dM.getCurrentWeek()); UpdateAll(); return; case ("openSettings"): SettingsUI s = new SettingsUI(dM); s.ShowDialog(); s.Focus(); return; //Spara och ladda ligger i SaveLoad klassen. case ("saveFile"): if (dM.getHasPath() && sL.thisFileExists()) { sL.saveFile(dM); } else { sL.saveAs(dM); } return; case ("openFile"): sL.openFile(dM); return; case ("openLatest"): sL.openLatest(dM); return; case ("saveAs"): sL.saveAs(dM); return; case ("viewProfile"): try { Player_Stats curPlayer = new Player_Stats(sortList(dM.getPlayerList())[listBox1.SelectedIndex], dM); curPlayer.ShowDialog(); curPlayer.Focus(); } catch { } return; } }