Ejemplo n.º 1
0
    void Update()
    {
        if (vidaInimigo.Morreu())
        {
            return;
        }
        RaycastMetod();

        if (encontrou)
        {
            Quaternion alvo = Quaternion.LookRotation(jogador.transform.position - transform.position);
            transform.rotation = Quaternion.RotateTowards(transform.rotation, alvo, 90 * Time.deltaTime);

            GameObject copiaTiro = Instantiate(tiroPrefab, spawnTiro.position, spawnTiro.rotation);
            copiaTiro.GetComponent <Rigidbody>().AddForce(transform.forward * 500f);
            Destroy(copiaTiro, 3f);
            // print("encontrei");
        }
        else if (!encontrou)
        {
            //Corrigindo Rotação
            Vector3    projecao = Vector3.ProjectOnPlane(transform.forward, Vector3.up);
            Quaternion rotacao  = Quaternion.LookRotation(projecao);
            transform.rotation = Quaternion.RotateTowards(transform.rotation, rotacao, 30 * Time.deltaTime);
            MovimentoGiratorio();

            //print("não encontrei");
        }
    }
Ejemplo n.º 2
0
    void Update()
    {
        if (vidaInimigo.Morreu())
        {
            Destroy(gameObject, 1f);
            return;
        }

        RaycastMetod();

        if (transform.CompareTag("Inimigo2"))
        {
            //Máquina de Estados
            if (!naMira)
            {
                Patrulheiro();
            }
            else
            {
                Perseguidor();
            }
        }

        if (transform.CompareTag("Inimigo3"))
        {
            if (!naMira)
            {
                Patrulheiro();
            }
            else
            {
                Dash();
            }
        }
    }
Ejemplo n.º 3
0
    void Update()
    {
        if (vida.Morreu())
        {
            StartCoroutine(Checkpoint());
        }
        cartaoAcesso.color = cartaoCor;
        barraBateria.value = bateria;

        if (!temCartaoacesso)
        {
            cartaoCor.a = 0.3f;
            cartaoAcesso.color = cartaoCor;
        }
    }
Ejemplo n.º 4
0
    void Update()
    {
        //Tentando deixar a barra de vida na direção do jogador
        //FALTA PEGAR O COMPONENTE DA FORMA CORRETA
        //vidaUI.transform.rotation = Quaternion.LookRotation(jogadorDirecao.transform.eulerAngles * Time.deltaTime);

        //O imã só pode ser morto depois que o jogador for pego
        if (!abduzido)
        {
            colisao.enabled = false;
        }
        else
        {
            colisao.enabled = true;
        }

        //Ima morto
        if (vidaIma.vida == 0)
        {
            jogadorCC.enabled = true;
            if (vidaIma.Morreu())
            {
                return;
            }
        }

        //RayCast
        Vector3    direcao = jogadorDirecao.transform.position - origem.position;
        Ray        raio    = new Ray(origem.position, direcao);
        RaycastHit hit;

        Debug.DrawRay(raio.origin, raio.direction * alcance);


        if (Physics.Raycast(raio, out hit, alcance))
        {
            if (hit.transform.name == "Player")
            {
                Abduzido();
            }
        }
    }