void Look() { // for greatest distance float Distance_To_Closest = Mathf.Infinity; foreach (GameObject Next_Player in Players) { float Distance_To_Player = (Next_Player.transform.position - transform.position).sqrMagnitude; if (Next_Player.GetComponent <Player_Health>().Player_Alive == true) { if (Distance_To_Player < Distance_To_Closest) { Distance_To_Closest = Distance_To_Player; Closest_Enemy = Next_Player; } } } Vector3 dir = Closest_Enemy.transform.position - transform.position; float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg; transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward); }
// Update is called once per frame void Update() { float Distance_To_Closest = Mathf.Infinity; foreach (GameObject Next_Player in Players) { float Distance_To_Player = (Next_Player.transform.position - transform.position).sqrMagnitude; if (Next_Player.GetComponent <Player_Health>().Player_Alive == true) { if (Distance_To_Player < Distance_To_Closest) { Distance_To_Closest = Distance_To_Player; Closest_Enemy = Next_Player; } } transform.right = Closest_Enemy.transform.position - transform.position; } Debug.Log(Vector2.Distance(transform.position, Closest_Enemy.transform.position)); if (Vector2.Distance(transform.position, Closest_Enemy.transform.position) <= Max_Player_DIstacne) { Brain.enabled = false; transform.position = Vector2.MoveTowards(transform.position, Closest_Enemy.transform.position, Time.deltaTime * Brain.Enemy_Speed / Enemy_Speed_Follow_Player); } else { Brain.enabled = true; } }
void Look() { // for greatest distance float Distance_To_Closest = Mathf.Infinity; foreach (GameObject Next_Player in Players) { float Distance_To_Player = (Next_Player.transform.position - transform.position).sqrMagnitude; if (Next_Player.GetComponent <Player_Health>().Player_Alive == true) { if (Distance_To_Player < Distance_To_Closest) { Distance_To_Closest = Distance_To_Player; Closest_Enemy = Next_Player; } } if (Vector2.Distance(transform.position, Closest_Enemy.transform.position) < 9) { transform.right = Closest_Enemy.transform.position - transform.position; if (Started_Shooting == false) { StartCoroutine("Shoot_IT"); Started_Shooting = true; } } else { transform.rotation = Quaternion.Euler(Vector3.zero); StopCoroutine("Shoot_IT"); Started_Shooting = false; } } }
void Look() { // for greatest distance float Distance_To_Closest = Mathf.Infinity; foreach (GameObject Next_Player in Players) { float Distance_To_Player = (Next_Player.transform.position - transform.position).sqrMagnitude; if (Next_Player.GetComponent <Player_Health>().Player_Alive == true) { if (Distance_To_Player < Distance_To_Closest) { Distance_To_Closest = Distance_To_Player; Closest_Enemy = Next_Player; } } transform.right = Closest_Enemy.transform.position - transform.position; } }