示例#1
0
 //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
     {
     }
 }
示例#2
0
        //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;
            }
        }