public GameObject DrawRoadSegment(RoadSegment[] roadSegments, int currentSegmentIndex) { RoadSegment roadSegment = roadSegments[currentSegmentIndex]; switch (roadSegment.roadType) { case RoadType.DeadEnd: return(DrawDeadEnd(roadSegment.coords, roadSegment.direction)); case RoadType.Straight: return(DrawStraight(roadSegment.coords, roadSegment.direction)); case RoadType.Turn: return(DrawTurn(roadSegment.coords, roadSegment.direction)); case RoadType.TJunction: return(DrawTJunction(roadSegment.coords, roadSegment.direction)); case RoadType.CrossRoads: return(DrawCrossRoad(roadSegment.coords)); default: // should never get here return(null); } }
public RoadSegment[] CreateRoadSegments(PathNode[] nodes) { RoadSegment[] roadSegments = new RoadSegment[nodes.Length]; for (int currentIndex = 0; currentIndex < nodes.Length; currentIndex++) { roadSegments [currentIndex] = CreateRoadSegment(nodes, currentIndex); } return(roadSegments); }