
Untitled
By: a guest on
Jul 24th, 2012 | syntax:
C# | size: 0.61 KB | hits: 16 | expires: Never
private T FindClosest<T>(float maxDistance = Mathf.Infinity) where T : Component {
state = states.searching;
float i = 0f;
RaycastHit info;
T closest = null;
float shortestdistance = maxDistance;
while (i < 2.0f) {
if (Physics.Raycast(transform.position, new Vector3(Mathf.Cos(i * Mathf.PI), 0f, Mathf.Sin(i * Mathf.PI)),
out info, maxDistance) &&
info.collider.GetComponent<T>() != null &&
info.distance < shortestdistance) {
closest = info.collider.GetComponent<T>();
shortestdistance = info.distance;
Debug.Log("ASG");
}
i+=0.2f;
}
return closest;
}