Example #1
0
    public Group spawnNext()
    {
        NextTetrominoManager _nextPieceManager = FindObjectOfType <NextTetrominoManager> ();

        if (_nextPieceManager.CheckIfTetroAvailable())
        {
            Group _piece = _nextPieceManager.ExtractTetromino();
            _piece.goToSpawner();
            return(_piece);
        }
        else
        {
            MaterialPosition _naturalResources = FindObjectOfType <MaterialPosition> ();
            _naturalResources.deleteElements(1);
            // Random Shape
            int   i      = Random.Range(0, groups.Length);
            Shape _shape = (Shape)System.Enum.Parse(typeof(Shape), "" + i);

            // Spawn Group at current Position
            Group _piece = spawn(_shape, transform.position);
            _piece.startPlaying();
            return(_piece);
        }
    }
Example #2
0
    void CheckInputColor()
    {
        if (tetrominoManager.CheckIfTetroAvailable())
        {
            return;
        }

        if (Input.GetKeyDown(KeyCode.A) || Input.GetButtonDown("BotonA"))
        {
            //Verde
            if (CheckIfColorIsValid("Verde"))
            {
                if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].ColorAsignado == "Verde")
                {
                    if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived < 4)
                    {
                        CurrentColorsManager.MinoVerde--;

                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].MinoReady [FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived] = 1;

                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived++;

                        FindObjectOfType <CurrentColorsManager> ().ShowCurrentMinos();
                    }
                    if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived == 4)
                    {
                        createPiece(ColorManager.BlockColor.GREEN);

                        AsignRandomColor();
                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived = 0;
                        for (int i = 0; i < 4; i++)
                        {
                            FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].MinoReady [i] = 0;
                        }
                    }
                }
            }
            else
            {
                print("Color Verde Is not Valid");
            }
        }
        else if (Input.GetKeyDown(KeyCode.B) || Input.GetButtonDown("BotonB"))
        {
            //Rojo
            if (CheckIfColorIsValid("Rojo"))
            {
                if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].ColorAsignado == "Rojo")
                {
                    if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived < 4)
                    {
                        CurrentColorsManager.MinoRojo--;


                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].MinoReady [FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived] = 1;

                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived++;

                        FindObjectOfType <CurrentColorsManager> ().ShowCurrentMinos();
                    }
                    if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived == 4)
                    {
                        createPiece(ColorManager.BlockColor.RED);

                        AsignRandomColor();
                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived = 0;
                        for (int i = 0; i < 4; i++)
                        {
                            FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].MinoReady [i] = 0;
                        }
                    }
                }
            }
            else
            {
                print("Color Rojo Is not Valid");
            }
        }
        else if (Input.GetKeyDown(KeyCode.Y) || Input.GetButtonDown("BotonY"))
        {
            //Amarillo
            if (CheckIfColorIsValid("Amarillo"))
            {
                if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].ColorAsignado == "Amarillo")
                {
                    if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived < 4)
                    {
                        CurrentColorsManager.MinoAmarillo--;

                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].MinoReady [FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived] = 1;


                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived++;

                        FindObjectOfType <CurrentColorsManager> ().ShowCurrentMinos();
                    }
                    if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived == 4)
                    {
                        createPiece(ColorManager.BlockColor.YELLOW);

                        AsignRandomColor();
                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived = 0;
                        for (int i = 0; i < 4; i++)
                        {
                            FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].MinoReady [i] = 0;
                        }
                    }
                }
            }
            else
            {
                print("Color Amarillo Is not Valid");
            }
        }
        else if (Input.GetKeyDown(KeyCode.X) || Input.GetButtonDown("BotonZ"))
        {
            //Azul
            if (CheckIfColorIsValid("Azul"))
            {
                if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].ColorAsignado == "Azul")
                {
                    if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived < 4)
                    {
                        CurrentColorsManager.MinoAzul--;

                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].MinoReady [FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived] = 1;

                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived++;

                        FindObjectOfType <CurrentColorsManager> ().ShowCurrentMinos();
                    }
                    if (FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived == 4)
                    {
                        createPiece(ColorManager.BlockColor.BLUE);

                        AsignRandomColor();
                        FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].NumActived = 0;
                        for (int i = 0; i < 4; i++)
                        {
                            FindObjectOfType <TetrominosList> ().MinoPos [TetrominoModel].MinoReady [i] = 0;
                        }
                    }
                }
            }
            else
            {
                print("Color Azul Is not Valid");
            }
        }
    }