Esempio n. 1
0
    IEnumerator Disparo()
    {
        estaatacando = true;

        while (true)
        {
            anims.SetTrigger("disparo");
            Vector3      dirAPlayer = (player.transform.position - transform.position).normalized;
            RaycastHit2D hit        = Physics2D.Raycast(transform.position, dirAPlayer, 2.5f, capaPlayer);
            if (hit.collider != null)
            {
                VidaYDanio scr = hit.transform.GetComponent <VidaYDanio>();
                scr.RestarVidas(danioSoldado);
                Debug.Log("au");
            }
            yield return(new WaitForSeconds(2f));
        }
    }
Esempio n. 2
0
    // Update is called once per frame
    void Update()
    {
        Clampear();
        float distanciaRandom = Random.Range(4f, 7f);
        float distAPlayer     = Vector3.Distance(transform.position, player.transform.position);

        if (distAPlayer >= 5 && distAPlayer < 9) //Rango de visión
        {
            StopAllCoroutines();
            estaatacando = false;

            Vector3 distanciaPlayer = player.transform.position - transform.position;
            float   distaciaX       = distanciaPlayer.x;

            rb.velocity = new Vector2(5 * Mathf.Sign(distaciaX), rb.velocity.y);
            anims.SetBool("andando", true);
            if (distaciaX > 0)
            {
                sR.flipX = false;
            }
            else if (distaciaX < 0)
            {
                sR.flipX = true;
            }
        }
        else if (distAPlayer > 2 && distAPlayer < 5) //Rango de ataque
        {
            anims.SetBool("andando", false);
            if (!estaatacando)
            {
                StartCoroutine(Disparo());
            }
        }
        else if (distAPlayer <= 2)
        {
            StopAllCoroutines();
            estaatacando = false;
            anims.SetBool("andando", false);
            anims.SetTrigger("melee");
            VidaYDanio scr = gameObject.GetComponent <VidaYDanio>();
            scr.RestarVidas(5);
        }
    }