public void ActivarBoss(Collider2D collision)
    {
        if (collision.GetComponent <Movimiento8D>() != null)
        {
            Debug.Log("Entro");


            boss = transform.GetChild(0).gameObject;
            if (boss != null)
            {
                bossManager2 = boss.GetComponent <BossManager2>();
                if (bossManager2 != null)
                {
                    Debug.Log("Entro en el boss");
                    boss.transform.SetParent(null);
                    bossManager2.enabled = true;


                    lluvia = boss.GetComponent <Lluvia>();
                    if (lluvia != null)
                    {
                        lluvia.CogerJugador(collision.gameObject);
                        Debug.Log("Pilla al player");
                    }

                    movAtaBoss = boss.GetComponent <MovAtqBoss>();
                    if (movAtaBoss != null)
                    {
                        movAtaBoss.CogerJugador(collision.gameObject);
                    }
                }
            }
        }
    }
 void EnciendeBoss()
 {
     //es un bucle que va decrementando la x ya que van saliendo los hijos
     boss         = transform.GetChild(0).gameObject;
     bossManager2 = boss.GetComponent <BossManager2>();
     if (bossManager2 != null)
     {
         Debug.Log("Entro en el boss");
         boss.transform.SetParent(null);
         bossManager2.enabled = true;
     }
 }
Beispiel #3
0
    private void Ataca()
    {
        ataque = true;
        while (lista.DamePrimeroParaEmpujar() != null)
        {
            // para que este if si lo haces true en el mismo metodo
            if (ataque)
            {
                GameObject enemigo = lista.DamePrimeroParaEmpujar();
                if (enemigo != null)
                {
                    Rigidbody2D enemy = enemigo.GetComponent <Rigidbody2D>();
                    if (enemy != null)
                    {
                        //Para saber de que tipo es cada enemigo
                        movenemig   = enemigo.GetComponent <MovEnemig>();
                        movenemig1  = enemigo.GetComponent <MovEnemig1>();
                        arquero     = enemigo.GetComponent <Arquer>();
                        bomb        = enemigo.GetComponent <Bomba>();
                        bossarquero = enemigo.GetComponent <BossManager2>();



                        //Dependiendo del enemigo con el que luche hace un a cosa u otra
                        if (movenemig != null)
                        {
                            movenemig.enabled = false;
                            Vector2 difference = enemigo.transform.position - transform.position;
                            enemy.AddForce(difference.normalized * fuerza, ForceMode2D.Impulse);
                            EnemyHealth vidaEnmigo = enemy.GetComponent <EnemyHealth>();
                            vidaEnmigo.TakeDamage(damage);
                        }

                        else if (movenemig1 != null)
                        {
                            EnemyHealth vidaEnmigo = enemy.GetComponent <EnemyHealth>();
                            vidaEnmigo.TakeDamage(damage);
                        }

                        else if (arquero != null)
                        {
                            //no le emuja ya que lo mata de un toque
                            EnemyHealth vidaEnmigo = enemy.GetComponent <EnemyHealth>();
                            vidaEnmigo.TakeDamage(damage);
                            arquero.enabled = false;
                        }
                        else if (bomb != null)
                        {
                            EnemyHealth vidaEnmigo = enemy.GetComponent <EnemyHealth>();
                            vidaEnmigo.TakeDamage(damage);
                        }
                        else if (bossarquero != null)
                        {
                            EnemyHealth vidaEnmigo = enemy.GetComponent <EnemyHealth>();
                            vidaEnmigo.TakeDamage(damage);
                        }
                    }
                }
            }
            lista.AvanzaPrimer(); //Hace que el primer enemigo de la lista sea el segundo, eliminando el primero
        }
        VelOriginal();
        trigger.enabled = false;//para que si se ha quedado alguien en el trigger se veulva a meter en la lista tras atacar
        trigger.enabled = true;
    }
 void Start()
 {
     bossManager2 = GetComponent <BossManager2>();
     rb           = GetComponent <Rigidbody2D>();
 }