Beispiel #1
0
 public void LevelUp()
 {
     if (_currentLevel < _numberLevel)
     {
         _currentLevel++;
         _cardSets.Restart();
         _cellPosition.y = 2;
         DestroyCells();
         CreateCells(_currentLevel);
     }
     else
     {
         _restart.GameOver();
     }
 }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        if (!Restart.GameIsOver)
        {
            if (Input.GetMouseButtonDown(0))
            {
                if (Camera.main != null)
                {
                    var mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
                    var clickPos = Vector2Int.RoundToInt(mousePos);
                    if (0 <= clickPos.x && clickPos.x < Ball.Width && 0 <= clickPos.y && clickPos.y < Ball.Height)
                    {
                        if (!Ball.IsSlotEmpty(clickPos))
                        {
                            var ballTransform = Ball.GetBallOnGrid(clickPos);
                            if (ballTransform != _selectedTransform)
                            {
                                if (_selectedTransform != null)
                                {
                                    _selectedTransform.GetComponent <Animator>().SetBool(Selected, false);
                                }
                                _selectedTransform = ballTransform;
                            }
                            ballTransform.GetComponent <Animator>().SetBool(Selected, true);
                        }
                        else if (_selectedTransform != null)
                        {
                            if (_selectedTransform.GetComponent <Ball>().MoveTo(clickPos, spawner))
                            {
                                _selectedTransform = null;
                            }
                        }
                    }
                }
            }
            if (Ball.EmptySlotsCount == 0)
            {
                restartManager.GameOver();
            }
        }

        ScoreText.text = "Score: " + Ball.GetScore();
    }