Exemple #1
0
    void OnCollisionEnter(Collision col)
    {
        GM scriptGM;

        if (col.gameObject.name != "bicho")
        {
            if (sonido)
            {
                AudioSource.PlayClipAtPoint(sonido, posicion.position, volumen);
            }
            scriptGM = GameObject.Find("GM").GetComponent <GM> ();                                  //busca el objeto del script y lo asigna a la variable
            posYcolor posYcolorGris = GameObject.Find(gameObject.name).GetComponent <posYcolor> (); //LO BUSCO Y ASIGNO LOS VALORES
            //scriptGM.reemplazarPorBloqueRoto(gameObject.name, transform, posYcolorGris);
            GameObject bloqueRoto = scriptGM.bloqueRoto;
            //ASI SE CAMBIA ENTRE MESH
            gameObject.GetComponent <MeshFilter>().sharedMesh = bloqueRoto.GetComponent <MeshFilter>().sharedMesh;
            //muestra la explosionas
            Instantiate(explosion, transform.position, transform.rotation);
            //Destroy(gameObject);
            Colisiones++;
        }
        if (Colisiones == 2)
        {
            // al contar la segunda colision, destruye el bloque gris
            scriptGM = GameObject.Find("GM").GetComponent <GM> ();            //busca el objeto del script y lo asigna a la variable
            scriptGM.puntaje++;
            scriptGM.puntajeTotal++;
            scriptGM.descontarBloque();
            Destroy(gameObject);
        }
    }
Exemple #2
0
    // guardarJuego = guarda las posiciones y los colores de los bloques
    public bool guardarJuego()
    {
        string     sGuardado = "";
        IFormatter formatter = new BinaryFormatter();
        Stream     stream    = new FileStream(Application.persistentDataPath + "/saves/slot1.bin", FileMode.Create, FileAccess.Write, FileShare.None);
        int        pos;
        int        color;

        for (int i = 0; i < 220; i++)
        {
            try    //BUSCO LOS BLOQUES QUE HAYAN QUEDADO EN EL JUEGO
            {
                posYcolor scriptPosYcolor = GameObject.Find(i.ToString() + "(Clone)").GetComponent <posYcolor>();
                pos        = scriptPosYcolor.pos;
                color      = scriptPosYcolor.color;
                sGuardado += cargarCeros(pos) + ",";
                sGuardado += cargarCeros(color) + "|";
            }
            catch
            {
                sGuardado += cargarCeros(i) + ",";
                sGuardado += cargarCeros(0) + "|";
            }
        }
        try
        {
            formatter.Serialize(stream, sGuardado);
            stream.Close();
            return(true);
        }
        catch
        {
            return(false);
        }
    }
Exemple #3
0
    // cargarParticulas = CARGO LAS CAPSULAS
    public void cargarParticulas(string nombre, posYcolor scriptPosYcolor)
    {
        bloque Bloque = GameObject.Find(nombre + "(Clone)").GetComponent <bloque>();

        switch (scriptPosYcolor.color)
        {
        case 1:
            Bloque.explosion = expRojo;
            break;

        case 2:
            Bloque.explosion = expVerde;
            break;

        case 3:
            Bloque.explosion = expAzul;
            break;

        case 4:
            Bloque.explosion = expAmarillo;
            break;

        case 5:
            Bloque.explosion = expNaranja;
            break;

        case 6:
            Bloque.explosion = expMarron;
            break;

        case 7:
            Bloque.explosion = expVerdeOscuro;
            break;

        case 8:
            Bloque.explosion = expCeleste;
            break;

        case 9:
            Bloque.explosion = expRosa;
            break;

        case 10:
            Bloque.explosion = expVioleta;
            break;

        case 11:
            Bloque.explosion = expBlanco;
            break;

        case 12:
            //Bloque.explosion = expGris;
            break;
            //case 13:
            //    rend.sharedMaterial = negro;
            //    break;
        }
    }
Exemple #4
0
    //continuarJuego = carga el juego del archivo slot.bin de la carpeta saves
    public void continuarJuego2()
    {
        IFormatter formatter       = new BinaryFormatter();
        int        n               = PlayerPrefs.GetInt("continuarNivel");
        Stream     stream          = new FileStream(Application.persistentDataPath + "/saves/slot1.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
        int        contadorBloques = 0;

        for (byte i = 0; i < 220; i++)
        {
            bloque[i] = (Bloque)formatter.Deserialize(stream);
            if (bloque[i].color != 0)
            {
                Vector3  pos  = new Vector3(vPosBloques[bloque[i].pos].x, vPosBloques[bloque[i].pos].y, 0);
                Renderer rend = objBloque.GetComponent <Renderer>();
                switch (bloque[i].color)
                {
                case 1:
                    rend.sharedMaterial = rojo;
                    break;

                case 2:
                    rend.sharedMaterial = verde;
                    break;

                case 3:
                    rend.sharedMaterial = azul;
                    break;

                case 4:
                    rend.sharedMaterial = amarillo;
                    break;

                case 5:
                    rend.sharedMaterial = naranja;
                    break;

                case 6:
                    rend.sharedMaterial = marron;
                    break;

                case 7:
                    rend.sharedMaterial = verdeOscuro;
                    break;

                case 8:
                    rend.sharedMaterial = celeste;
                    break;

                case 9:
                    rend.sharedMaterial = rosa;
                    break;

                case 10:
                    rend.sharedMaterial = violeta;
                    break;

                case 11:
                    rend.sharedMaterial = blanco;
                    break;

                case 12:
                    rend.sharedMaterial = gris;
                    break;

                case 13:
                    rend.sharedMaterial = negro;
                    break;
                }
                objBloque.name = i.ToString();
                Instantiate(objBloque, pos, Quaternion.identity);                                                 //CREO EL BLOQUE
                Renderer bloqueDeJuego = GameObject.Find(i.ToString() + "(Clone)").GetComponent <Renderer>();     //BUSCO EL BLOQUE CREADO PARA
                bloqueDeJuego.gameObject.AddComponent <posYcolor>();                                              //AGREGARLE EL COMPONENTE posYcolor
                posYcolor scriptPosYcolor = GameObject.Find(i.ToString() + "(Clone)").GetComponent <posYcolor>(); //LO BUSCO Y ASIGNO LOS VALORES
                scriptPosYcolor.pos   = i;
                scriptPosYcolor.color = bloque[i].color;
                cargarCapsulas(objBloque.name);      //CARGO LAS CAPSULAS DEL NIVEL
                cargarParticulas(objBloque.name, scriptPosYcolor);
                if (bloque[i].color != 13)
                {
                    contadorBloques++;      //SI EL COLOR ES DISTINTO DE NEGRO LO CUENTA COMO BLOQUE
                }
            }
        }
        stream.Close();
        GM scriptGM = GameObject.Find("GM").GetComponent <GM>();

        scriptGM.bloques = contadorBloques;
    }
Exemple #5
0
    //continuarJuego = carga el juego del archivo slot.bin de la carpeta saves
    public void continuarJuego()
    {
        IFormatter formatter       = new BinaryFormatter();
        int        n               = PlayerPrefs.GetInt("continuarNivel");
        Stream     stream          = new FileStream(Application.persistentDataPath + "/saves/slot1.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
        string     nivelString     = (string)formatter.Deserialize(stream);
        int        contadorBloques = 0;

        char[] nivelChar = nivelString.ToCharArray();
        int    pos;
        int    color;

        string[] posChar   = new string[3];
        string[] colorChar = new string[3];
        int      e         = 0;

        while (e < nivelChar.Length)
        {
            posChar[0]   = nivelChar[e].ToString();
            posChar[1]   = nivelChar[++e].ToString();
            posChar[2]   = nivelChar[++e].ToString();
            colorChar[0] = nivelChar[e += 2].ToString();
            colorChar[1] = nivelChar[++e].ToString();
            colorChar[2] = nivelChar[++e].ToString();
            pos          = int.Parse(posChar[0].ToString() + posChar[1].ToString() + posChar[2].ToString());
            color        = int.Parse(colorChar[0].ToString() + colorChar[1].ToString() + colorChar[2].ToString());
            e           += 2;

            //si no es 0 quiere decir q hay un bloque en la posicion
            if (color != 0)
            {
                Vector3  posBloque = new Vector3(vPosBloques[pos].x, vPosBloques[pos].y, 0);
                Renderer rend      = objBloque.GetComponent <Renderer>();
                switch (color)
                {
                case 1:
                    rend.sharedMaterial = rojo;
                    break;

                case 2:
                    rend.sharedMaterial = verde;
                    break;

                case 3:
                    rend.sharedMaterial = azul;
                    break;

                case 4:
                    rend.sharedMaterial = amarillo;
                    break;

                case 5:
                    rend.sharedMaterial = naranja;
                    break;

                case 6:
                    rend.sharedMaterial = marron;
                    break;

                case 7:
                    rend.sharedMaterial = verdeOscuro;
                    break;

                case 8:
                    rend.sharedMaterial = celeste;
                    break;

                case 9:
                    rend.sharedMaterial = rosa;
                    break;

                case 10:
                    rend.sharedMaterial = violeta;
                    break;

                case 11:
                    rend.sharedMaterial = blanco;
                    break;

                case 12:
                    rend.sharedMaterial = gris;
                    break;

                case 13:
                    rend.sharedMaterial = negro;
                    break;
                }
                objBloque.name = pos.ToString();
                Instantiate(objBloque, posBloque, Quaternion.identity);                                  //CREO EL BLOQUE
                Renderer bloqueDeJuego = GameObject.Find(pos + "(Clone)").GetComponent <Renderer>();     //BUSCO EL BLOQUE CREADO PARA
                bloqueDeJuego.gameObject.AddComponent <posYcolor>();                                     //AGREGARLE EL COMPONENTE posYcolor
                posYcolor scriptPosYcolor = GameObject.Find(pos + "(Clone)").GetComponent <posYcolor>(); //LO BUSCO Y ASIGNO LOS VALORES
                scriptPosYcolor.pos   = pos;
                scriptPosYcolor.color = color;
                cargarCapsulas(objBloque.name);      //CARGO LAS CAPSULAS DEL NIVEL
                cargarParticulas(objBloque.name, scriptPosYcolor);
                if (color != 13)
                {
                    contadorBloques++;      //SI EL COLOR ES DISTINTO DE NEGRO LO CUENTA COMO BLOQUE
                }
            }
        }
        stream.Close();
        GM scriptGM = GameObject.Find("GM").GetComponent <GM>();

        scriptGM.bloques = contadorBloques;
    }