Пример #1
0
    private void Update()
    {
        IsGameOver = canSpawnTetromino();
        if (IsGameOver)
        {
            SceneManager.LoadScene("Game Over");
        }

        if (!currentTetromino)
        {
            setupTetromino();
        }
        else
        {
            ghostTetromino.transform.SetPositionAndRotation(
                currentTetromino.transform.position, currentTetromino.transform.rotation);
            ghostController.dropTetromino();

            if (!tetrominoController.canMoveTo(Vector3.down))
            {
                blockMap.insertTetromino(currentTetromino);
                Destroy(currentTetromino);
                currentTetromino = null;
                Destroy(ghostTetromino);
                ghostTetromino = null;
            }
        }

        if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            fallCycle *= 0.1f;
        }
        if (Input.GetKeyUp(KeyCode.DownArrow))
        {
            fallCycle = defaultFallCycle;
        }

        if (Score >= 1500 * Level)
        {
            NextLevel();
        }
    }