void Update() { RaycastHit hit; if (!ControladorVision.LoVemos(out hit, true)) { MaquinaDeEstados.ActivarUnEstado(MaquinaDeEstados.EstadoAtaque); return; } ControladorNavMesh.ActualizarPuntoDestino(ControladorNavMesh.PosicionDelProta.position); }
// Update is called once per frame void Update() { if (ControladorNavMesh.LLegamos()) { //Lo que hace es dividir la cantidad de puntos recorridos por los puntos en total, asi al llegar al final de los puntos totales se dividira por el mismo numero, va a dar cero y va a empezar otra vez. SiguientePunto = (SiguientePunto + 1) % WayPoints.Length; ActualizarDestino(); } RaycastHit hit; //hit va a tener el valor que me mande el metodo lo vemos. if (ControladorVision.LoVemos(out hit)) { ControladorNavMesh.PosicionDelProta = hit.transform; MaquinaDeEstados.ActivarUnEstado(MaquinaDeEstados.EstadoSeguir); return; } }
void Update() { transform.Rotate(0f, VelocidadAlGirar * Time.deltaTime, 0f); TiempoBuscando += Time.deltaTime; RaycastHit hit; //hit va a tener el valor que me mande el metodo lo vemos. if (ControladorVision.LoVemos(out hit)) { ControladorNavMesh.PosicionDelProta = hit.transform; MaquinaDeEstados.ActivarUnEstado(MaquinaDeEstados.EstadoSeguir); return; } if (TiempoBuscando >= TiempoDeBusqueda) { MaquinaDeEstados.ActivarUnEstado(MaquinaDeEstados.EstadoPatrulla); return; } }