/// <summary>
        /// Występuje gdy gracz najedzie rakietą na dobrą odpowiedź. Wywołuje funkcje przygotowujące następne pytanie.
        /// </summary>
        private void CorrectPlanet_MouseEnter(object sender, MouseEventArgs e)
        {
            if (rocketCaptured)
            {
                QuestionSelector.NextGap();
                StatisticsCollector.RecievePoints(true);

                if (QuestionSelector.IsGapsListEmpty)
                {
                    SetQuestionLabel();
                    correctPlanet.Visibility = Visibility.Collapsed;
                    falsePlanet.Visibility   = Visibility.Collapsed;

                    wordLabelDelayTimer.Start();
                }
                else
                {
                    SetQuestionLabel();
                    SetPlanetPosition();
                    SetPlanetContent();
                }
            }

            UpdateScoreLabel();
        }
 /// <summary>
 /// Zamyka wszystkie elementy programu przy wcześniejszym zapisaniu wyniku zalogowanego użytkownika.
 /// </summary>
 private void MainWindow1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     if (gameStarted)
     {
         StatisticsCollector.SaveScoreInFile();
     }
     Environment.Exit(0);
 }
 /// <summary>
 /// Kończy grę. Wywołuje funkcje kończące grę i zapisujące wyniki.
 /// </summary>
 private void EndGameButton_MouseDown(object sender, MouseButtonEventArgs e)
 {
     gameStarted      = false;
     AsteroidsCounter = 0;
     StatisticsCollector.SaveScoreInFile();
     RemoveAsteroids();
     DisplayMenu();
 }
 /// <summary>
 /// Występuje gdy gracz najedzie rakietą na złą odpowiedź. Wywołuje funkcję związane ze złą odpowiedzią.
 /// </summary>
 private void FalsePlanet_MouseEnter(object sender, MouseEventArgs e)
 {
     if (rocketCaptured)
     {
         StatisticsCollector.RecievePoints(false);
         falsePlanet.Visibility = Visibility.Collapsed;
         DestroyRocket();
         UpdateScoreLabel();
     }
 }
        /// <summary>
        /// Pobiera nazwę nowego użytkownika z pola tekstowego. Sprawdza poprawnośc i wywołuje fukcje tworzące nowego użytkownika.
        /// </summary>
        private void CreateUserButton_MouseDown(object sender, RoutedEventArgs e)
        {
            if (newUserTextBox.Text == "" || newUserTextBox.Text == "Tu wpisz login" || StatisticsCollector.users.Exists(x => String.Equals(x, newUserTextBox.Text, StringComparison.OrdinalIgnoreCase) || newUserTextBox.Text.Length > 10))
            {
                MessageBox.Show("Nazwa jest już zajęta lub niezgodna! Wybierz inną. Maks 10 znaków!");
            }
            else
            {
                StatisticsCollector.CreateNewUser(newUserTextBox.Text);
                UpdateLoggedUserLabel();

                this.Close();
            }
        }
 /// <summary>
 /// Aktualizuje punktację wyświetlaną na planszy.
 /// </summary>
 private void UpdateScoreLabel()
 {
     scoreLabel.Content = "Wynik: " + StatisticsCollector.Score();
 }
 /// <summary>
 /// Wywołuje funkcje związane z wylogowaniem użytkownika.
 /// </summary>
 private void LogOutButton_Down(object sender, MouseButtonEventArgs e)
 {
     StatisticsCollector.LogOut();
     loggedUserLabel.Content = StatisticsCollector.loggedUser;
     DisplayMenu();
 }
 /// <summary>
 /// Loguje użytkownika wybranego z listy.
 /// </summary>
 private void LogInButton_Click(object sender, RoutedEventArgs e)
 {
     StatisticsCollector.LogIn(usersListBox.SelectedItem.ToString());
     UpdateLoggedUserLabel();
     this.Close();
 }
 /// <summary>
 /// Konstruktor okna logowania. <see cref="LoginWindow"/> class.
 /// </summary>
 public LoginWindow()
 {
     InitializeComponent();
     StatisticsCollector.GetUsers();
     usersListBox.ItemsSource = StatisticsCollector.users;
 }