// Use this for initialization void Start() { navManager = GameObject.FindGameObjectWithTag ("NavManager").GetComponent<NavmanagerScript>(); mask = navManager.navMask; SortedList adjacentNav = new SortedList(); GameObject[] navs = navManager.GetNavGroupManager().GetComponent<NavgroupScript>().GetPointsInSharedGroups(gameObject); for(int i = 0; i < navs.Length; i++){ if(!navs[i].Equals (gameObject) && !Physics2D.Linecast(transform.position, navs[i].transform.position, mask)){ adjacentNav.Add(Vector3.Distance (transform.position, navs[i].transform.position), navs[i]); } } adjNodes = new GameObject[adjacentNav.Count]; dists = new float[adjacentNav.Count]; for(int i = 0; i < adjacentNav.Count; i++){ adjNodes[i] = (GameObject)(adjacentNav.GetByIndex (i)); dists[i] = Vector3.Distance (transform.position, adjNodes[i].transform.position); } }