private void load_players_button(object sender, RoutedEventArgs e) // Функция загрузки сохраненных игроков из файла // По сути только ссылается на другую функцию // Потом исправлю, мхе { if (players_list.Count == 0) { isLoadPlayers = true; UpdateTables(); } else { StartAlert sa = new StartAlert(); sa.Owner = this; sa.ShowDialog(); if (resultStartAlert) { UpdateTables(); current_player.Text = players_list[0].Name; } } }
private async void Start(object sender, RoutedEventArgs e) //Загрузка игроков, таблицы и еще пары параметров { if (table_players.Items.Count == 0 || isLoadPlayers) { isLoadPlayers = false; down_panel.Text = ""; lap_game.Text = "1"; resultStartAlert = false; //для проверки новой игры startflag = true; indexer = 0; UpdateTables(); if (players_list.Count > 0) { current_player.Text = players_list[indexer % (players_list.Count)].Name; } else { down_panel.Text = " Добавьте игроков! "; down_panel.Background = Brushes.Red; await Task.Delay(100); down_panel.Background = Brushes.LightGray; } } else { StartAlert sa = new StartAlert(); sa.Owner = this; sa.ShowDialog(); if (resultStartAlert) { table_players.Items.Clear(); Start(null, null); // Очень плохое решение !!! Происходит рекурсия при каждой новой игре ИСПРАВИТЬ } } }