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); } } } } }
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; }