//--------//

    //Updates e movimentação//
    void FixedUpdate()
    {
        float distancia = Vector3.Distance(transform.position, Jogador.transform.position);

        movimentaInimigo.Rotacionar(direcao);
        animacaoInimigo.Movimentar(direcao.magnitude);

        if (distancia > campoDeVisão)
        {
            Vagar();
        }
        else if (distancia > alcanceDoAtaque)
        {
            direcao = Jogador.transform.position - transform.position;
            movimentaInimigo.SetDirecao(direcao);
            movimentaInimigo.Movimentar(statusInimigo.VelocidadeDeMovimento());

            animacaoInimigo.Atacar(false);
        }
        else
        {
            direcao = Jogador.transform.position - transform.position;

            animacaoInimigo.Atacar(true);
        }
    }
    void FixedUpdate()
    {
        float distancia = Vector3.Distance(transform.position, Jogador.transform.position);

        movimentaInimigo.Rotacionar(direcao);
        animacaoInimigo.Movimentar(direcao.magnitude);

        if (distancia > 15)
        {
            Vagar();
        }
        else if (distancia > 2.5)
        {
            direcao = Jogador.transform.position - transform.position;

            movimentaInimigo.Movimentar(direcao, statusInimigo.Velocidade);

            animacaoInimigo.Atacar(false);
        }
        else
        {
            direcao = Jogador.transform.position - transform.position;

            animacaoInimigo.Atacar(true);
        }
    }
Esempio n. 3
0
 private void FixedUpdate()
 {
     if (agente.hasPath)
     {
         // stoppingDistance definida com valor 2,2 via interface Unity
         bool perto = agente.remainingDistance <= agente.stoppingDistance;
         if (perto)
         {
             animacaoInimigo.Movimentar(0);
             animacaoInimigo.Atacar(true);
         }
         else
         {
             animacaoInimigo.Atacar(false);
         }
     }
 }
Esempio n. 4
0
    // Update is called once per frame
    void Update()
    {
        agentChefe.SetDestination(playerTransform.position);

        if (agentChefe.hasPath)
        {
            bool estouPertoDoJogador = agentChefe.remainingDistance <= agentChefe.stoppingDistance;
            if (estouPertoDoJogador)
            {
                animacaoChefe.Atacar(true);
                Vector3 direcao = playerTransform.position - transform.position;
                movimentaChefe.Rotacionar(direcao);
            }
            else
            {
                animacaoChefe.Atacar(false);
            }
        }
    }
Esempio n. 5
0
    void FixedUpdate()
    {
        float distancia = Vector3.Distance(transform.position, Jogador.transform.position);

        Vector3 direcao = Jogador.transform.position - transform.position;

        movimentaInimigo.Movimentar(direcao, statusInimigo.Velocidade);
        movimentaInimigo.Rotacionar(direcao);

        if (distancia > 2.5)
        {
            animacaoInimigo.Atacar(false);
        }
        else
        {
            animacaoInimigo.Atacar(true);
            ControlaAudio.instancia.PlayOneShot(SomAtaqueZumbi);
        }
    }
Esempio n. 6
0
    private void FixedUpdate()
    {
        animacao.Mover(agente.velocity.magnitude);
        agente.SetDestination(jogador.position);
        if (agente.hasPath)
        {
            bool perto = agente.remainingDistance < agente.stoppingDistance;

            if (perto)
            {
                animacao.Atacar(true);
                Vector3 direcao = jogador.position - transform.position;
                movimento.Rotacionar(direcao);
            }
            else
            {
                animacao.Atacar(false);
            }
        }
    }
Esempio n. 7
0
    private void Update()
    {
        agente.SetDestination(jogador.position);
        animacaoChefe.Movimentar(agente.velocity.magnitude);

        if (agente.hasPath)
        {
            bool estouPertoDoJogador = agente.remainingDistance <= agente.stoppingDistance;
            if (estouPertoDoJogador)
            {
                animacaoChefe.Atacar(true);
                Vector3 direcao = jogador.position - transform.position;
                movimentoChefe.Rotacionar(direcao);
            }
            else
            {
                animacaoChefe.Atacar(false);
            }
        }
    }
Esempio n. 8
0
    void FixedUpdate()
    {
        float distancia = Vector3.Distance(transform.position, _jogador.transform.position);

        _movimentoPersonagem.Rotacionar(_direcao);
        _animacaoPersonagem.Movimentar(_direcao.magnitude);

        if (distancia > 15)
        {
            Vagar();
        }
        else if (distancia > 2.5)
        {
            MovimentarEmDirecaoAoJogador();
        }
        else
        {
            _direcao = _jogador.transform.position - transform.position;
            _animacaoPersonagem.Atacar(true);
        }
    }
Esempio n. 9
0
    void Update()
    {
        agente.destination = jogador.position;
        animacaoChefe.AnimarMovimento(agente.velocity);

        if (!agente.pathPending == false)
        {
            bool estouPertoDoJogador = agente.remainingDistance <= agente.stoppingDistance;

            if (estouPertoDoJogador == true)
            {
                animacaoChefe.Atacar(true);
                Vector3 direcao = jogador.position - transform.position;
                movimentoChefe.Rotacionar(direcao);
            }
            else
            {
                animacaoChefe.Atacar(false);
            }
        }
    }
Esempio n. 10
0
    void Update()
    {
        agente.SetDestination(jogador.transform.position);
        animacaoInimigo.Movimentar(agente.velocity.magnitude);

        if (agente.pathPending == false)
        {
            bool estouPertoDoJogador = agente.remainingDistance <= agente.stoppingDistance;
            if (estouPertoDoJogador == true)
            {
                agente.isStopped = true;
                animacaoInimigo.Atacar(true);
                Vector3 direcao = jogador.transform.position - transform.position;
                movimentaInimigo.Rotacionar(direcao);
            }
            else
            {
                agente.isStopped = false;
                animacaoInimigo.Atacar(false);
            }
        }
    }
Esempio n. 11
0
    private void AndarAteOJogador(float distancia)
    {
        direcao = Jogador.transform.position - transform.position;
        var podeAtacar = distancia <= 2.5;

        animacaoInimigo.Atacar(podeAtacar);

        if (!podeAtacar)
        {
            movimentaInimigo.SetDirecao(direcao);
            movimentaInimigo.Movimentar();
        }
    }
Esempio n. 12
0
    void FixedUpdate()
    {
        rb.velocity = Vector3.zero;

        float distancia = Vector3.Distance(rb.position, jogador.transform.position);

        direcao = jogador.transform.position - transform.position;

        if (distancia > 15)
        {
            Vagar();
        }
        else if (distancia > 2.5)
        {
            Mover();
            animacaoPersonagem.Atacar(false);
        }
        else
        {
            movimentoPersonagem.Rotacionar(direcao);
            animacaoPersonagem.Atacar(true);
        }
    }
Esempio n. 13
0
    void FixedUpdate()
    {
        float distancia = Vector3.Distance(Player.transform.position, transform.position);

        animacaoPersonagem.Movimentar(direcao.magnitude);

        if (distancia > 15f)
        {
            Vagar();
        }
        else if (distancia > 2.5f)
        {
            direcao = Player.position - transform.position;
            movimentoInimigo.Rotacionar(direcao);
            movimentoInimigo.Movimentar(direcao, statusInimigo.Velocidade);
            animacaoPersonagem.Atacar(false);
        }
        else
        {
            direcao = Player.position - transform.position;
            movimentoInimigo.Rotacionar(direcao);
            animacaoPersonagem.Atacar(true);
        }
    }
Esempio n. 14
0
    void FixedUpdate()
    {
        float distancia = Vector3.Distance(transform.position, Jogador.transform.position);


        movimentoPersonagem.Rotacionar(direcao);
        animacaoPersonagem.AnimarMovimento(direcao);
        if (distancia > status.DistanciaDeVisao)
        {
            Vagar();
        }
        else if (distancia > 2.5)
        {
            direcao = Jogador.transform.position - transform.position;

            movimentoPersonagem.Movimentar(direcao.normalized, status.Velocidade);

            animacaoPersonagem.Atacar(false);
        }
        else
        {
            animacaoPersonagem.Atacar(true);
        }
    }
Esempio n. 15
0
    private void Update()
    {
        _navMeshAgent.SetDestination(_jogador.position);
        _animacaoPersonagem.Movimentar(_navMeshAgent.velocity.magnitude);

        if (_navMeshAgent.hasPath)
        {
            bool estouPertoDoJogador = _navMeshAgent.remainingDistance <= _navMeshAgent.stoppingDistance;
            _animacaoPersonagem.Atacar(estouPertoDoJogador);
            if (estouPertoDoJogador)
            {
                Vector3 direcao = _jogador.position - transform.position;
                _movimentoPersonagem.Rotacionar(direcao);
            }
        }
    }