Пример #1
0
    private void Start()
    {
        if (!GameSaveManager.instance.shouldBeLoadedFromFile)
        {
            if (PlayerPrefs.HasKey("Difficulty"))
            {
                difficulty = PlayerPrefs.GetInt("Difficulty");
                switch (difficulty)
                {
                case 0:
                    ColoursAvailable = 3;
                    break;

                case 1:
                    ColoursAvailable = 5;
                    break;

                case 2:
                    ColoursAvailable = 7;
                    break;

                case 3:
                    ColoursAvailable = 9;
                    break;
                }
                gui.SetDifficulty(difficulty);
            }

            List <Vector2> takenPositions = new List <Vector2>();
            while (BallsToSpawn > 0)
            {
                int randomX    = Random.Range(0, grid.GridSizeX);
                int randomY    = -Random.Range(0, grid.GridSizeY);
                int colorIndex = Random.Range(0, ColoursAvailable);
                if (!takenPositions.Contains(new Vector2(randomX, randomY)))
                {
                    BallsToSpawn--;
                    var kulka = Instantiate(PrefabKulki, new Vector2(randomX, randomY), Quaternion.identity);
                    kulka.SetColor(BallColours[colorIndex], colorIndex);
                    lastBallAdded = kulka;
                    AllBalls.Add(kulka);
                    takenPositions.Add(new Vector2(randomX, randomY));
                }
            }
            NextColors.Clear();
            NextColors.Add(Random.Range(0, ColoursAvailable));
            NextColors.Add(Random.Range(0, ColoursAvailable));
            NextColors.Add(Random.Range(0, ColoursAvailable));
            gui.UpdateNextColors();
            StartCoroutine(WaitForCheck());
        }
        else
        {
            GameSaveManager.instance.LoadGame();
            gui.UpdateScore();
            NextColors.Clear();
            NextColors.Add(Random.Range(0, ColoursAvailable));
            NextColors.Add(Random.Range(0, ColoursAvailable));
            NextColors.Add(Random.Range(0, ColoursAvailable));
            gui.UpdateNextColors();
        }
    }