I can’t seem to figure out how to calculate distance for every GameObject in array, because the size will vary, depending on how many there are in each wave. Here is my code:
var closestEnemy : GameObject[];
var followSpeed : float = 2;
private var isAttacking : boolean;
function FixedUpdate ()
{
closestEnemy = GameObject.FindGameObjectsWithTag("Enemy");
System.Array.Sort(closestEnemy, distanceComparison);
if(isAttacking == false)
{
Follow();
}
}
private function distanceComparison ()
{
var firstClosestEnemy = Vector3.Distance(transform.position, closestEnemy[0].transform.position);
var secondClosestEnemy = Vector3.Distance(transform.position, closestEnemy[1].transform.position);
return firstClosestEnemy.CompareTo(secondClosestEnemy);
}
function Follow ()
{
transform.position = Vector3.MoveTowards(transform.position, closestEnemy[0].transform.position, followSpeed * Time.deltaTime);
}
function OnCollisionEnter (coll : Collision)
{
if(coll.gameObject.Tag == "Player")
{
coll.SendMessage("TakeDamage", 10.0);
}
}
function TakeDamage (damage : float)
{
GetComponent("Health").health -= damage;
}
This can only calculate the distance of 2 gameobjects and compare them, but I want it to calculate the distance for every object. Thank you for helping!