void Start()
 {
     delay       = true;
     estado      = Estados.Moviendose;
     mov         = GetComponent <MovEnemig1>();
     hijo        = transform.GetChild(0).gameObject;
     miraJugador = GetComponent <MirarJugador>();
     rb          = GetComponent <Rigidbody2D>();
     anim        = GetComponent <Animator>();
 }
    public void ActivarBoss(Collider2D collision)
    {
        mov8d = collision.GetComponent <Movimiento8D>();
        if (mov8d != null)
        {
            Debug.Log("Entro");

            //es un bucle que va decrementando la x ya que van saliendo los hijos
            boss = transform.GetChild(0).gameObject;
            if (boss != null)
            {
                bossManager = boss.GetComponent <BossManager>();
                if (bossManager != null)
                {
                    Debug.Log("Entro en el boss");
                    boss.transform.SetParent(null);
                    bossManager.enabled = true;



                    //Aquí se le pasa el jugador a todos los scripts del boss
                    embeScript = boss.GetComponent <Embestida>();
                    if (embeScript != null)
                    {
                        embeScript.CogerJugador(collision.gameObject);
                    }
                    movEneScript = boss.GetComponent <MovEnemig1>();
                    if (movEneScript != null)
                    {
                        movEneScript.CogerJugador(collision.gameObject);
                    }
                    mirarJugadorScript = boss.GetComponent <MirarJugador>();
                    if (mirarJugadorScript != null)
                    {
                        mirarJugadorScript.CogerJugador(collision.gameObject);
                    }
                    ataqueScript = boss.GetComponent <AtaqueBoss1>();
                    if (ataqueScript != null)
                    {
                        ataqueScript.CogerJugador(collision.gameObject);
                    }
                }
            }
        }
    }
Esempio n. 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;
    }