Exemplo n.º 1
0
    private void OnTriggerEnter(Collider col)
    {
        //Si el jugador choca con el PowerUp
        if (col.gameObject.name == "Player")
        {
            //Lanzamos el sonido de salto
            audioSourcePowerUP.clip = efectoSonidoSalto;
            audioSourcePowerUP.Play();

            //Activa el texto de salto
            //GameObject.Find("CanvasTextoSalto").transform.GetChild(0).gameObject.SetActive(true);
            GameObject.Find("CanvasTextoSalto").transform.GetChild(0).gameObject.GetComponent <UnityEngine.UI.Text>().text = "¡ JUMPING !";

            Transform  bloqueSalto;
            GameObject ListaHijos = GameObject.Find("ListaHijos");


            int indiceBloqueASaltar = 0;

            for (int i = 0; i < ListaHijos.transform.childCount; i++)
            {
                //Debug.Log("Número de hijos: " + numeroHijos);
                if (ListaHijos.transform.GetChild(i).tag == "Changer" && i > 0)
                {
                    indiceBloqueASaltar = i - 1;
                    break;
                }
                else if (i == 5)
                {
                    indiceBloqueASaltar = i - 1;
                    break;
                }
                indiceBloqueASaltar = i - 1;
            }
            startPosition = player.transform.position;

            //Debug.Log("El indice a saltar es: " + indiceBloqueASaltar);

            bloqueSalto = ListaHijos.transform.GetChild(indiceBloqueASaltar);
            bloqueSalto.GetComponent <TileScript>().setLandTile(true);
            posicionSalto = bloqueSalto.transform.GetChild(9).position;

            saltando = true;

            //Hace la llamada a gravity control para cada uno de los bloques que hemos saltado
            for (int i = 0; i < indiceBloqueASaltar; i++)
            {
                TileScript scriptBloque = ListaHijos.transform.GetChild(i).GetComponent <TileScript>();
                //scriptBloque.GameControl();
                scriptBloque.GravityControl();

                tileMang.reSpawnTiles();
            }
        }
    }