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;
        }
    }
Example #3
0
    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;
        }
    }