void OnTriggerEnter2D(Collider2D other) { //if(other.gameObject.layer == 17)/*layer mapas */ // CheckTileMapColision(other.gameObject); DamageDealer damageDealer = other.GetComponent <DamageDealer>(); AmmoHandler enemyProjectile = other.GetComponent <AmmoHandler>(); //é importante... n tire esse if ( se n tiver nenhum dos dois); if (!damageDealer && !enemyProjectile) { return; } /*independente do que colidiu, o player irá tomar um hit... */ if (damageDealer) { if (damageDealer.CanHurt()) /*pois pode ser que o inimigo ja tenha sido morto, entao n é pra me ferir/mudar minha cor mais */ { ProcessHit(damageDealer); } } else if (enemyProjectile) { ProcessHit(enemyProjectile); } /* dependendo do que colidiu com o player, esse irá ser destruído */ if (other.gameObject.tag != Constantes.BOSS && !IsGroundEnemy(other)) //destroi inimigos comuns apenas { if (damageDealer) //inimigo perdera 25% da vida que tem ao colidir diretamente com o player { damageDealer.HitDueDirectColision(GetHitPercentage()); } else if (enemyProjectile) { enemyProjectile.InstantiateEffect(); enemyProjectile.DestroyMe(); } } }