void spawnTetronimo()
 {
     waitingForSpawn        = false;
     genericTetromino.shape = gBR.getRandomFromList();
     currentShape           = genericTetromino.shape;
     tetromino = Instantiate(genericTetromino, transform).gameObject;
     tetromino.transform.localPosition = new Vector3(0f, -3f, 0f);
 }
    public TetrisDefinitions.Shapes getRandomFromList()
    {
        if (bagOfShapes.Count <= 0)
        {
            resetGrabBag();
        }

        int randomInt = Random.Range(0, bagOfShapes.Count);

        TetrisDefinitions.Shapes shape = bagOfShapes[randomInt];
        bagOfShapes.Remove(shape);
        return(shape);
    }
    private bool CheckShape(int i, int j, TetrisDefinitions.Shapes shape)
    {
        if (!tileArray[i, j].isPlayerHere())
        {
            return(false);
        }
        bool[,] visited = DepthFirstSearch.islandIsTetranimo(tileArray, i, j);
        if (visited != null)
        {
            neighborData = DepthFirstSearch.getListOfNeighbors(visited);
            if (TetrisDefinitions.CheckForShapeMatch(shape, neighborData))
            {
                return(true);
            }
        }

        return(false);
    }