private void OnTriggerStay2D(Collider2D collision) { //Guardamos la referencia del enemigo en una variable para acceder luego a un método suyo EnemyDamageable enemigo = collision.GetComponent <EnemyDamageable>(); if (collision.GetComponent <CompositeCollider2D>() != null) { if (lanzamiento) { clavado = true; lanzamiento = false; agarrando = false; } flotando = false; //Deja de afectarle la gravedad Debug.Log("Suelo"); //Si además la bola ha sido lanzada por MaktFange, se queda clavada en la pared } else if (enemigo && collision.GetComponent <Shield>() == null && collision.GetComponent <SWAT>() == null) { if (lanzamiento) { enemigo.GetDamage(damage); lanzamiento = false; agarrando = false; } } if (clavado) { scriptFakeHerropea.SetCollider(); } }
void Start() { rb = GetComponent <Rigidbody2D>(); rbplayer = player.GetComponent <Rigidbody2D>(); playerController = GetComponent <PlayerController>(); enemyDamageable = GetComponent <EnemyDamageable>(); }
private void OnTriggerEnter2D(Collider2D collision) { if (!collision.CompareTag("Player")) { EnemyDamageable damageableComponent = collision.GetComponent <EnemyDamageable>(); if (damageableComponent != null) { Debug.Log("a"); if (collision.CompareTag("ArmorEnemy") && collision.GetComponent <ArmorEnemyManager>().HasArmor() == false) { Debug.Log("b"); damageableComponent.TakeDamage(damage); } else if (collision.CompareTag("ArmorEnemy") == false) { Debug.Log("c"); damageableComponent.TakeDamage(damage); } } Destroy(this.gameObject); } }