Example #1
0
    IEnumerator PieceSpawn()
    {
        StopCoroutine(routineGravity);
        activeShape = spawnerControler.Spawn().GetComponent <ShapeControler>();
        StartCoroutine(routineGravity);
        yield return(new WaitUntil(IsShapeEnded));

        activeShape = null;
        StopCoroutine(routineGravity);
        pieceCounter++;

        if (pieceCounter == numberOfDrawingPieces && gameState == GameState.DRAWING)
        {
            pieceCounter = 0;
            FinishDrawing();
            StopCoroutine(routineSpawn);
        }
        else if (pieceCounter == numberOfBuildingPieces && gameState == GameState.BUILDING)
        {
            pieceCounter = 0;
            FinishBuilding();
            StopCoroutine(routineSpawn);
        }
        else
        {
            routineSpawn = PieceSpawn();
            StartCoroutine(routineSpawn);
        }
    }