public static Lane CreateLane(uint laneId)
{
Lane lane = new Lane()
{
m_laneId = laneId
};
NetSegment segment = NetManager.instance.m_segments.m_buffer[NetManager.instance.m_lanes.m_buffer[laneId].m_segment];
NetInfo netInfo = segment.Info;
int laneCount = netInfo.m_lanes.Length;
int laneIndex = 0;
for (uint l = segment.m_lanes; laneIndex < laneCount && l != 0; laneIndex++)
{
if (l == laneId)
break;
l = NetManager.instance.m_lanes.m_buffer[l].m_nextLane;
}
if (laneIndex < laneCount)
{
ExtendedNetInfoLane netInfoLane = netInfo.m_lanes[laneIndex] as ExtendedNetInfoLane;
if (netInfoLane != null)
lane.m_vehicleTypes = netInfoLane.AllowedVehicleTypes;
lane.m_speed = netInfo.m_lanes[laneIndex].m_speedLimit;
}
NetManager.instance.m_lanes.m_buffer[laneId].m_flags |= Lane.CONTROL_BIT;
sm_lanes[laneId] = lane;
return lane;
}