- Home /
Question by
asimniazi63 · May 02, 2017 at 01:19 PM ·
enemymultiplayer-networkingrtsclosest
I'm finding closest with GameObject.FindGameObjectsWithTag("Enemy"). How can I use this code (or anything else) to find nearest enemy game object in multiplayer (unet)?
I'm finding closest with GameObject.FindGameObjectsWithTag("Enemy"). How can I use this code (or anything else) to find nearest enemy game object in multiplayer (unet)? I am actually making an rts game? Your help would be appreciated as I am new to the multiplayer game. Thank you.
// Find the name of the closest enemy
GameObject FindClosestEnemy()
{
GameObject[] gos;
gos = GameObject.FindGameObjectsWithTag("Enemy");
GameObject closest = null;
float distance = Mathf.Infinity;
Vector3 position = transform.position;
foreach (GameObject go in gos)
{
Vector3 diff = go.transform.position - position;
float curDistance = diff.sqrMagnitude;
if (curDistance < distance)
{
closest = go;
distance = curDistance;
}
}
return closest;
}
}
Comment
Answer by Laurence_B · May 02, 2017 at 06:57 PM
function Update()
{
Debug.Log("Closest Object is " + GetClosestObject("tagName").name);
}
function GetClosestObject(tag:String) : GameObject
{
var objectsWithTag = GameObject.FindGameObjectsWithTag(tag);
var closestObject : GameObject;
for (var obj : GameObject in objectsWithTag)
{
if(!closestObject)
{
closestObject = obj;
}
//compares distances
if(Vector3.Distance(transform.position, obj.transform.position) <= Vector3.Distance(transform.position, closestObject.transform.position))
{
closestObject = obj;
}
}
return closestObject;
}
I got this a few years ago. Hope this helps
Your answer
Follow this Question
Related Questions
Game lagging while looking for closest Enemy 2 Answers
FindClosestEnemy gives Error CS0165: Use of unassigned local variable 'closest' 2 Answers
how to find the closest (and second closest) object with tag - one object 4 Answers
RTS like Frame on Minimap for user Camera Position with GL not rendering in Multiplayer (MLAPI) 0 Answers
How to index objects 1 Answer