Пример #1
0
    // Update is called once per frame
    void Update()
    {
        // currentH = GetComponent<EnemyHealth>().currentHealth;

        // Ve al jugador?
        RaycastHit hit;

        if (controladorVision.PuedeVerAlJugador(out hit))
        {
            controladorNavMesh.perseguirObjectivo = hit.transform;
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoPersecucion);
            return;
        }


        // Debug.Log(currentH);
        // Debug.Log(startingH);
        // if(startingH < currentH){
        //     currentH++;
        // }


        if (controladorNavMesh.HemosLlegado())
        {
            siguienteWayPoint = (siguienteWayPoint + 1) % WayPoints.Length;
            ActualizarWayPointDestino();
        }
    }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        RaycastHit hit;

        if (!controladorVision.PuedeVerAlJugador(out hit, true))
        {
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoAlerta);
            return;
        }
        controladorNavMesh.ActualizarPuntoDestinoNavMeshAgent(controladorNavMesh.perseguirObjetivo.position);
    }
    void Update()
    {
        RaycastHit hit;

        if (!controladorVision.PuedeVerAlJugador(out hit, true))
        {
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoAlerta);

            return;
        }
        anim.Play("Correr");
        controladorNavMesh.ActualizarPuntoDestinoNavMeshAgent();
    }
Пример #4
0
    void Update()
    {
        RaycastHit hit;

        if (!controladorVision.PuedeVerAlJugador(out hit, true))
        {
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoAlerta);
            return;
        }

        navMeshAgent.speed        = 7f;
        navMeshAgent.angularSpeed = 250f;
        navMeshAgent.acceleration = 15f;
        controladorNavMesh.ActualizarPuntoDestinoNavMeshAgent(WayPointMiedo.position);
    }
Пример #5
0
    void Update()
    {
        RaycastHit hit;

        if (!vision.PuedeVerAlJugador(out hit, true))
        {
            timer += Time.deltaTime;
            if (timer >= 10f)
            {
                timer = 0;
                estados.ActivarEstado(estados.Patrulla);
                return;
            }
        }
        agente.ActualizarPuntoN();
    }
Пример #6
0
    void Update()
    {
        RaycastHit hit;

        if (vision.PuedeVerAlJugador(out hit))
        {
            agente.perseguirOjetivo = hit.transform;
            estados.ActivarEstado(estados.Perseguir);
            return;
        }
        if (agente.Llego())
        {
            sigpunto = (sigpunto + 1) % WayPoints.Length;
            Actualizarwaypoint();
        }
    }
    void Update()
    {
        RaycastHit hit;

        if (!controladorVision.PuedeVerAlJugador(out hit, true))
        {
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoAlerta);
            return;
        }
        else
        {
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoAtaque);
            // maquinaDeEstados.EstadoAtaque.enabled = true;
        }

        controladorNavMesh.ActualizarPuntoDestinoNavMeshAgent();
    }
Пример #8
0
    // Update is called once per frame
    void Update()
    {
        RaycastHit hit;

        if (controladorVision.PuedeVerAlJugador(out hit))
        {
            controladorNavMesh.perseguirObjetivo = hit.transform;
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoPersecucion);
            return;
        }

        if (controladorNavMesh.HemosLlegado())
        {
            siguienteWayPoint = (siguienteWayPoint + 1) % Waypoints.Length;
            ActualizarWayPointDestino();
        }
    }
Пример #9
0
    // Update is called once per frame
    void Update()
    {
        RaycastHit hit;

        if (controladorVision.PuedeVerAlJugador(out hit))
        {
            controladorNavMesh.perseguirObjetivo = hit.transform;
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoPersecucion);
            return;
        }
        transform.Rotate(0f, velocidadGiroBusqueda * Time.deltaTime, 0f);
        tiempoBuscando += Time.deltaTime;
        if (tiempoBuscando >= duracionBusqueda)
        {
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoPatrulla);
            return;
        }
    }
Пример #10
0
    void Update()
    {
        RaycastHit hit;

        if (vision.PuedeVerAlJugador(out hit))
        {
            agente.perseguirOjetivo = hit.transform;
            estados.ActivarEstado(estados.Perseguir);
            return;
        }
        transform.Rotate(0f, velocidadGiroBusqueda * Time.deltaTime, 0f);
        tiempoBuscando += Time.deltaTime;
        if (tiempoBuscando >= duracionBusqueda)
        {
            estados.ActivarEstado(estados.Patrulla);
            return;
        }
    }
Пример #11
0
    // Update is called once per frame
    void Update()
    {
        //Aqui el ennemigo va a comprobar si puede ver al enemigo
        RaycastHit hit;

        if (controladorVision.PuedeVerAlJugador(out hit))
        {
            controladorNavMesh.perseguirObjectivo = hit.transform;
            maquinaDeEstados.ActivarEstado(maquinaDeEstados.EstadoPersecucion); // aqui se activa el estado persecucion
            return;
        }
        // aqui se comprueba si el jugador a llegado a su destino
        if (controladorNavMesh.HemosLlegado())
        {
            anim.Play("Caminar");
            siguienteWayPoint = (siguienteWayPoint + 1) % WayPoints.Length;
            ActualizarWayPointDestino();
            anim.Play("Caminar");
        }
    }