// Update is called once per frame void Update() { mov = GetComponent <MovimientoEnemigo>(); muerte(); actualizarestado(); Debug.Log("Vidas del Enemigo:" + vida); Vector3 PosEne = transform.position; Vector3 PosPlayer = GameObject.Find("CharacterRobotBoy").GetComponent <Transform>().position; float distancia = Vector3.Distance(PosEne, PosPlayer); RaycastHit2D detect = Physics2D.Raycast(transform.position, transform.right * (lado), 0, 4, raycastdetect); //aki tiro el rallo (pa lante)"depende de lado" Debug.DrawRay(transform.position, transform.right * (lado) * 0.6f, Color.blue, 0); // dibujame el rallo Debug.Log(detect.collider.tag); //_____________________________________________________________ if ((distancia >= MinDist) && (distancia <= MaxDist)) { mov.Persigue = true; // if (tipoestado == estado.derecha) { Vector3 objetivo = player.gameObject.transform.position; transform.position += new Vector3(+1f, 0f, 0f) * VelMov * Time.deltaTime; this.gameObject.GetComponent <SpriteRenderer>().flipX = false; if (detect.collider.tag == "Player") { Debug.Log("COL enemy detect derecha"); //TODO EJECUTA ANIMACION player.GetComponent <PlayerData>().vidas -= danoenemigo; this.GetComponent <AudioSource>().Play(); StartCoroutine(ContadorGolpeado()); // tiempo de espera del golpeo } } if (tipoestado == estado.izquierda) { Vector3 objetivo = player.gameObject.transform.position; transform.position += new Vector3(-1f, 0f, 0f) * VelMov * Time.deltaTime; this.gameObject.GetComponent <SpriteRenderer>().flipX = true; if (detect.collider.tag == "Player") { Debug.Log("COL enemy detect izquierda"); //TODO EJECUTA ANIMACION player.GetComponent <PlayerData>().vidas -= danoenemigo; this.GetComponent <AudioSource>().Play(); StartCoroutine(ContadorGolpeado()); // tiempo de espera del golpeo } } } else // { mov.Persigue = false; // } }
private void Start() { movEnemigo = GetComponentInParent <MovimientoEnemigo>(); tipoEnemigo = GetComponentInParent <TipoEnemigo>(); }