Ola,
Quando o jogador atira no chefe ele não morre ja atire muitas vezes ele nada acontese:
aqui codigo que eu fiz:
public class ControlasBoss : MonoBehaviour, IMatavel {
private Transform jogador;
private NavMeshAgent agente;
private Status statusChefe;
private AnimacaoPersonagem animacaoBoss;
private MovimentoPersonagem movimentoBoss;
private void Start(){
jogador = GameObject.FindWithTag("Jogador").transform;
agente = GetComponent<NavMeshAgent>();
statusChefe = GetComponent<Status>();
agente.speed = statusChefe.Velocidade;
animacaoBoss = GetComponent<AnimacaoPersonagem>();
movimentoBoss = GetComponent<MovimentoPersonagem>();
}
private void Update(){
agente.SetDestination(jogador.position);
animacaoBoss.Movimentar(agente.velocity.magnitude);
if(agente.hasPath == true){
bool estouPertoDoJogador = agente.remainingDistance <= agente.stoppingDistance;
if(estouPertoDoJogador){
animacaoBoss.Atacar(true);
Vector3 direcao = jogador.position - transform.position;
movimentoBoss.Rotacionar(direcao);
}else{
animacaoBoss.Atacar(false);
}
}
}
void AtacaJogador(){
int dano = Random.Range(30, 40);
jogador.GetComponent<ControlaJogador>().TomarDano(dano);
}
public void TomarDano(int dano){
statusChefe.Vida -= dano;
if(statusChefe.Vida <= 0){
Morrer();
}
}
public void Morrer(){
animacaoBoss.Morrer();
movimentoBoss.Morrer();
this.enabled = false;
agente.enabled = false;
Destroy(gameObject, 2);
}
}
Na aba Inspecto do chefeDeFase esta marcado no Status vida inicial 10