Beispiel #1
0
    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);
    }
Beispiel #2
0
 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]);
         }
     }
 }
Beispiel #3
0
        // 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();
        }
Beispiel #4
0
 void Start()                                  //Инициализация раунда
 {
     roundGrid = RoundGrid.CreateRoundGrid();  // создаем сетку раунда
     initUI();                                 // Инициализация графического интерфейса
     SetGameState(GameStates.categoryPicking); // Устанавливаем состояние игры на "Выбор категории"
 }