// Update is called once per frame void Update() { nearest = FindTheClosestFreeDropZone(); HighlightNearest(); // if(nearest != null) // Debug.Log(nearest.PlayerIsFacingDropzone()); // Debug.Log() }
public DropzoneManager FindTheClosestFreeDropZone() { DropzoneManager _nearest = dropzones[0]; float shortestDist = Vector3.Distance(dropzones[0].transform.position, player.transform.position); for (int i = 0; i < dropzones.Count; i++) { if (Vector3.Distance(dropzones[i].transform.position, player.transform.position) <= shortestDist && !dropzones[i].isOccupied && dropzones[i].isFacingPlayer) { shortestDist = Vector3.Distance(dropzones[i].transform.position, player.transform.position); _nearest = dropzones[i]; } } return(_nearest); }