public void ProcessSegment(ushort segmentId, NetSegmentHandler handler) { ProcessSegment( segmentId, ref Singleton <NetManager> .instance.m_segments.m_buffer[segmentId], handler); }
public void IterateNodeSegments(ushort nodeId, ClockDirection dir, NetSegmentHandler handler) { NetManager netManager = Singleton <NetManager> .instance; ProcessNode(nodeId, delegate(ushort nId, ref NetNode node) { if (dir == ClockDirection.None) { for (int i = 0; i < 8; ++i) { ushort segmentId = node.GetSegment(i); if (segmentId != 0) { if (!handler(segmentId, ref netManager.m_segments.m_buffer[segmentId])) { break; } } } } else { ushort segmentId = node.GetSegment(0); ushort initSegId = segmentId; while (true) { if (segmentId != 0) { if (!handler(segmentId, ref netManager.m_segments.m_buffer[segmentId])) { break; } } switch (dir) { case ClockDirection.Clockwise: default: segmentId = netManager.m_segments.m_buffer[segmentId].GetLeftSegment(nodeId); break; case ClockDirection.CounterClockwise: segmentId = netManager.m_segments.m_buffer[segmentId].GetRightSegment(nodeId); break; } if (segmentId == initSegId || segmentId == 0) { break; } } } return(true); }); }
public void IterateNodeSegments(ushort nodeId, NetSegmentHandler handler) { IterateNodeSegments(nodeId, ClockDirection.None, handler); }
public void ProcessSegment(ushort segmentId, ref NetSegment segment, NetSegmentHandler handler) { handler(segmentId, ref segment); }