public static RoundGrid CreateRoundGrid() { RoundGrid grid = new RoundGrid(); Category [] categories = new Category[Constants.CATEGORIES_COUNT]; string [] configs = FileHandler.GetConfigs(); if (configs != null) { for (int i = 0; i < categories.Length; i++) { categories[i] = Category.CreateCategory(configs[PlayerPrefs.GetInt(i.ToString())]); } for (int categoryIndex = 0; categoryIndex < Constants.CATEGORIES_COUNT; categoryIndex++) { grid.categoryNames[categoryIndex] = categories[categoryIndex].categoryName; for (int trackIndex = 0; trackIndex < Constants.TRACK_COUNT; trackIndex++) { grid.pathTracksQuest[categoryIndex, trackIndex] = categories[categoryIndex].pathTracksQuest[trackIndex]; grid.pathTracksAnsw[categoryIndex, trackIndex] = categories[categoryIndex].pathTracksAnsw[trackIndex]; grid.pointsTracks[categoryIndex, trackIndex] = categories[categoryIndex].pointsTracks[trackIndex]; grid.tracksTags[categoryIndex, trackIndex] = categories[categoryIndex].tracksTags[trackIndex]; } } } return(grid); }
public void FillGrid(RoundGrid grid) { for (int categoryIndex = 0; categoryIndex < Constants.CATEGORIES_COUNT; categoryIndex++) { categoryButtonsTransform[categoryIndex].GetComponent <CategoryButton>().SetCategoryName(grid.categoryNames[categoryIndex]); for (int trackIndex = 0; trackIndex < Constants.TRACK_COUNT; trackIndex++) { trackButtonsTransform[categoryIndex].GetChild(trackIndex).GetComponent <TrackButton>().SetTrackPoints(grid.pointsTracks[categoryIndex, trackIndex]); trackButtonsTransform[categoryIndex].GetChild(trackIndex).GetComponent <TrackButton>().SetTrack(grid.pathTracksQuest[categoryIndex, trackIndex]); } } }
// Change round score table private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { RoundGrid.Rows.Clear(); RoundGrid.Columns.Clear(); RoundGrid.Refresh(); TurneeData.RoundData roundData = ((TurneeData.RoundData)RoundsListBox.SelectedItem); RoundGrid.ColumnCount = roundData.playerScores.Length + 1; var playerTotalScores = new int[roundData.playerScores.Length + 1]; // Add player columns for (int i = 0; i < RoundGrid.ColumnCount; i++) { RoundGrid.Columns[i].HeaderText = i == 0 ? "Par" : roundData.playerScores[i - 1].playerName; RoundGrid.Columns[i].Width = 60; RoundGrid.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; } // Add scores var row = new string[roundData.playerScores.Length + 1]; for (int i = 0; i < roundData.pars.Length; i++) { for (int j = 0; j < roundData.playerScores.Length; j++) { row[j + 1] = roundData.playerScores[j].scores[i].ToString(); playerTotalScores[j + 1] += roundData.playerScores[j].scores[i]; } row[0] = roundData.pars[i].ToString(); playerTotalScores[0] += roundData.pars[i]; RoundGrid.Rows.Add(row); RoundGrid.Rows[i].HeaderCell.Value = (i + 1).ToString(); } // Add total score for (int i = 0; i < RoundGrid.ColumnCount; i++) { var sign = (playerTotalScores[i] - playerTotalScores[0]) >= 0 ? "+" : ""; row[i] = i == 0 ? playerTotalScores[0].ToString() : playerTotalScores[i].ToString() + " (" + sign + (playerTotalScores[i] - playerTotalScores[0]).ToString() + ")"; } RoundGrid.Rows.Add(row); RoundGrid.Rows[RoundGrid.Rows.Count - 1].HeaderCell.Value = "Total"; for (int c = 1; c < RoundGrid.Columns.Count; c++) { for (int r = 0; r < RoundGrid.Rows.Count - 1; r++) { switch (int.Parse(RoundGrid.Rows[r].Cells[c].Value.ToString()) - int.Parse(RoundGrid.Rows[r].Cells[0].Value.ToString())) { case -3: RoundGrid.Rows[r].Cells[c].Style.BackColor = Color.White; break; case -2: RoundGrid.Rows[r].Cells[c].Style.BackColor = Color.White; break; case -1: RoundGrid.Rows[r].Cells[c].Style.BackColor = Color.DodgerBlue; break; case 0: RoundGrid.Rows[r].Cells[c].Style.BackColor = Color.Lime; break; case 1: RoundGrid.Rows[r].Cells[c].Style.BackColor = Color.Yellow; break; case 2: RoundGrid.Rows[r].Cells[c].Style.BackColor = Color.DarkOrange; break; default: RoundGrid.Rows[r].Cells[c].Style.BackColor = Color.Red; break; } } } UpdateComponentSizes(); }
void Start() //Инициализация раунда { roundGrid = RoundGrid.CreateRoundGrid(); // создаем сетку раунда initUI(); // Инициализация графического интерфейса SetGameState(GameStates.categoryPicking); // Устанавливаем состояние игры на "Выбор категории" }