public void FindMyNeighbours() { CrossRoadMeta meta = this.GetComponentInParent <CrossRoadMeta>(); List <GameObject> options = new List <GameObject>(); bool isFrom = false; foreach (var item in meta.roadGroup) { if (GameObject.ReferenceEquals(this.gameObject, item.from)) { isFrom = true; options = item.options; } } if (isFrom) { foreach (var item in options) { //Debug.Log("crossroadban vagyok, ez egy from elem; szülő: " + this.transform.parent); if (item.GetComponent <CrossRoadModel>().ClosestRoad == null) { GameObject myNeighbourForward = ElementTable.MyClosestNeighbour(item, item.transform.forward * 5); item.GetComponent <CrossRoadModel>().ClosestRoad = myNeighbourForward; RoadElementModel component = myNeighbourForward.GetComponent <RoadElementModel>(); if (component.PreviousElement == null) { component.PreviousElement = item; } component.FindMyNeighbours(); } } } }
public void FindMyNeighbours() { if (nextElement == null) { GameObject myNeighbourForward = ElementTable.MyClosestNeighbour(this.gameObject, this.transform.forward * 5); NextElement = myNeighbourForward; if (myNeighbourForward.tag.Equals("RoadModel")) { RoadElementModel component = myNeighbourForward.GetComponent <RoadElementModel>(); if (component.PreviousElement == null) { component.PreviousElement = this.gameObject; } component.FindMyNeighbours(); } if (myNeighbourForward.tag.Equals("CrossRoad")) { CrossRoadModel component = myNeighbourForward.GetComponent <CrossRoadModel>(); if (component.ClosestRoad == null) { component.ClosestRoad = this.gameObject; } component.FindMyNeighbours(); } } if (previousElement == null) { GameObject myNeighbourBackward = ElementTable.MyClosestNeighbour(this.gameObject, (-1) * this.transform.forward * 5); PreviousElement = myNeighbourBackward; if (myNeighbourBackward.tag.Equals("RoadModel")) { RoadElementModel component = myNeighbourBackward.GetComponent <RoadElementModel>(); if (component.NextElement == null) { component.NextElement = this.gameObject; } component.FindMyNeighbours(); } if (myNeighbourBackward.tag.Equals("CrossRoad")) { CrossRoadModel component = myNeighbourBackward.GetComponent <CrossRoadModel>(); if (component.ClosestRoad == null) { component.ClosestRoad = this.gameObject; } component.FindMyNeighbours(); } } }