CSL_Traffic.RoadCustomizerTool.SetSegments C# (CSharp) Метод

SetSegments() приватный Метод

private SetSegments ( ushort segmentId, ushort infoIndex, Segment &previousSeg ) : void
segmentId ushort
infoIndex ushort
previousSeg Segment
Результат void
		void SetSegments(ushort segmentId, ushort infoIndex, ref Segment previousSeg)
		{
			NetSegment segment = NetManager.instance.m_segments.m_buffer[segmentId];

			if (segment.m_infoIndex != infoIndex || m_segments.ContainsKey(segmentId))
				return;

			Segment seg = default(Segment);
			seg.m_segmentId = segmentId;

			NetSegment previousSegment = NetManager.instance.m_segments.m_buffer[previousSeg.m_segmentId];
			ushort nextNode;
			if ((segment.m_startNode == previousSegment.m_endNode) || (segment.m_startNode == previousSegment.m_startNode))
			{
				nextNode = segment.m_endNode;
				seg.m_targetNode = segment.m_startNode == previousSeg.m_targetNode ? segment.m_endNode : segment.m_startNode;
			}            
			else
			{
				nextNode = segment.m_startNode;
				seg.m_targetNode = segment.m_endNode == previousSeg.m_targetNode ? segment.m_startNode : segment.m_endNode;
			}    

			m_segments[segmentId] = seg;

			NetNode node = NetManager.instance.m_nodes.m_buffer[nextNode];
			if (node.CountSegments() == 2)
				SetSegments(node.m_segment0 == segmentId ? node.m_segment1 : node.m_segment0, infoIndex, ref seg);
		}

Same methods

RoadCustomizerTool::SetSegments ( ushort segmentId ) : void