void AplicarDano(GameObject objetoColidido) { if (objetoColidido.tag == tagDeObjetosColidiveis) { vidaDeObjetoColidido = objetoColidido.GetComponent <Vida>(); rbDeObjetoColidido = objetoColidido.GetComponent <Rigidbody>(); navMeshDeObjetoColidido = objetoColidido.GetComponent <NavMeshAgent>(); if (vidaDeObjetoColidido != null) { vidaDeObjetoColidido.MudarVida(-dano); } if (navMeshDeObjetoColidido != null && navMeshDeObjetoColidido.enabled) { navMeshDeObjetoColidido.enabled = false; rbDeObjetoColidido.isKinematic = false; Invoke("ReativarNavMeshDeObjetoColidido", 0.25f); } if (rbDeObjetoColidido != null) { var direcaoParaAfastar = objetoColidido.transform.position - transform.position; rbDeObjetoColidido.AddForce(direcaoParaAfastar * afastar, ForceMode.Impulse); } } if (autoDestruirEmColisao) { Destroy(gameObject); } }