void Shot() { RaycastHit hit; if (Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out hit, range)) { Debug.Log(hit.collider.name); if (hit.transform.CompareTag("Enemy")) { GameObject _effect = Instantiate(bloodEffect, hit.point, Quaternion.identity); Destroy(_effect, 0.3f); Vida vida = hit.transform.GetComponent <Vida>(); if (vida == null) { throw new System.Exception("No se encontro el componente Vida del Enemigo"); } else { vida.RecibirDaño(daño); } } else { GameObject _effect = Instantiate(effect, hit.point, Quaternion.identity); Destroy(_effect, 0.5f); } } balasCargador--; }
void DisparoDirecto() { RaycastHit hit; // if(Physics.Raycast(puntoDeDisparo.position, puntoDeDisparo.forward, out hit)) if (Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out hit)) { if (hit.transform.CompareTag("Enemigo")) { Vida vida = hit.transform.GetComponent <Vida>(); if (vida == null) { throw new System.Exception("No se encontro el componente Vida del Enemigo"); } else { vida.RecibirDaño(daño); crearEfectoDaño(hit.point, hit.transform.rotation); } } if (hit.transform.CompareTag("verde")) { Vida vida = hit.transform.GetComponent <Vida>(); if (vida == null) { throw new System.Exception("No se encontro el componente Vida del Enemigo"); } else { vida.RecibirDaño(daño2); crearEfectoDaño(hit.point, hit.transform.rotation); } } } }
void Atacar() { vidaJugador.RecibirDaño(daño); agente.speed = 0; agente.angularSpeed = 0; estaAtacando = true; animator.SetTrigger("DebeAtacar"); Invoke("ReiniciarAtaque", 1.5f); }
public void RecibirDaño(float daño) { daño *= multiplicadorDeDaño; if (padreRef != null) { padreRef.RecibirDaño(daño); return; } valor -= daño; dañoTotal = daño; if (valor >= 0) { MostrarTextoFlotante(); } if (valor < 0) { valor = 0; MostrarTextoFlotante(); } }