void Update()
    {
        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            MoveTetromino(new Vector3(-1, 0, 0));
        }
        else if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            MoveTetromino(new Vector3(+1, 0, 0));
        }
        else if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            RotateTetromino();
        }

        if (Time.time - previousTime > (Input.GetKey(KeyCode.DownArrow) ? fallTime / accelerationFactor : fallTime))
        {
            activeTetromino.transform.position += new Vector3(0, -1, 0);
            if (!tetrisGrid.AllowMovement(activeTetromino))
            {
                StopActiveTetrominoMovement();
            }
            previousTime = Time.time;
        }
    }