// 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()
    {
        RaycastHit hit;

        if (!ControladorVision.LoVemos(out hit, true))
        {
            MaquinaDeEstados.ActivarUnEstado(MaquinaDeEstados.EstadoAtaque);
            return;
        }
        ControladorNavMesh.ActualizarPuntoDestino(ControladorNavMesh.PosicionDelProta.position);
    }
Beispiel #3
0
    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;
        }
    }