public void Record() { uturnAllowed_ = JRMan.GetUturnAllowed(SegmentId, StartNode); nearTurnOnRedAllowed_ = JRMan.GetNearTurnOnRedAllowed(SegmentId, StartNode); farTurnOnRedAllowed_ = JRMan.GetFarTurnOnRedAllowed(SegmentId, StartNode); laneChangingAllowedWhenGoingStraight_ = JRMan.GetLaneChangingAllowedWhenGoingStraight(SegmentId, StartNode); enteringBlockedJunctionAllowed_ = JRMan.GetEnteringBlockedJunctionAllowed(SegmentId, StartNode); pedestrianCrossingAllowed_ = JRMan.GetPedestrianCrossingAllowed(SegmentId, StartNode); prioirtySign_ = priorityMan.GetPrioritySign(SegmentId, StartNode); lanes_ = LaneArrowsRecord.GetLanes(SegmentId, StartNode); foreach (IRecordable lane in lanes_) { lane.Record(); } }
public static List <LaneArrowsRecord> GetLanes(ushort segmentId, bool startNode) { var ret = new List <LaneArrowsRecord>(); var lanes = netService.GetSortedLanes( segmentId, ref segmentId.ToSegment(), startNode, LaneArrowManager.LANE_TYPES, LaneArrowManager.VEHICLE_TYPES, sort: false); foreach (var lane in lanes) { LaneArrowsRecord laneData = new LaneArrowsRecord { LaneId = lane.laneId, }; ret.Add(laneData); } return(ret); }
public static List <LaneArrowsRecord> GetLanes(ushort segmentId, bool startNode) { int maxLaneCount = segmentId.ToSegment().Info.m_lanes.Length; var ret = new List <LaneArrowsRecord>(maxLaneCount); ExtSegmentManager extSegmentManager = ExtSegmentManager.Instance; var lanes = extSegmentManager.GetSortedLanes( segmentId, ref segmentId.ToSegment(), startNode, LaneArrowManager.LANE_TYPES, LaneArrowManager.VEHICLE_TYPES, sort: false); foreach (var lane in lanes) { LaneArrowsRecord laneData = new LaneArrowsRecord { LaneId = lane.laneId, }; ret.Add(laneData); } ret.TrimExcess(); return(ret); }