Ejemplo n.º 1
0
    private void GenerateNextWall()
    {
        SequenceElement element = sequenceGeneration.GetNextSequenceElement();

        if (element == SequenceElement.Top)
        {
            GameObject wall = wallPolling.GetWall();
            StartCoroutine(wallSequenceGeneration.GenerateWallSequenece(wall.GetComponentInChildren <Wall>()));
            wall.transform.position = positionTop.position;
            WallMovement wallMovement = wall.GetComponent <WallMovement>();
            wallMovement.Direction = Vector2.down;
        }
        else
        {
            if (element == SequenceElement.Down)
            {
                GameObject wall = wallPolling.GetWall();
                StartCoroutine(wallSequenceGeneration.GenerateWallSequenece(wall.GetComponentInChildren <Wall>()));
                wall.transform.position = positionBottom.position;
                WallMovement wallMovement = wall.GetComponent <WallMovement>();
                wallMovement.Direction = Vector2.up;
            }
            else
            {
                GameObject wallTop    = wallPolling.GetWall();
                GameObject wallBottom = wallPolling.GetWall();
                StartCoroutine(wallSequenceGeneration.GenerateWallSequenece(wallTop.GetComponentInChildren <Wall>(), wallBottom.GetComponentInChildren <Wall>()));

                wallTop.transform.position = positionTop.position;
                WallMovement wallTopMovement = wallTop.GetComponent <WallMovement>();
                wallTopMovement.Direction = Vector2.down;

                wallBottom.transform.position = positionBottom.position;
                WallMovement wallBottomMovement = wallBottom.GetComponent <WallMovement>();
                wallBottomMovement.Direction = Vector2.up;
            }
        }

        AddWallGenerationTimer();
    }