CSL_Traffic.LaneManager.AddLaneConnection C# (CSharp) Метод

AddLaneConnection() публичный статический Метод

public static AddLaneConnection ( uint laneId, uint connectionId ) : bool
laneId uint
connectionId uint
Результат bool
        public static bool AddLaneConnection(uint laneId, uint connectionId)
        {
            Lane lane = GetLane(laneId);
            GetLane(connectionId); // makes sure lane information is stored

            return lane.AddConnection(connectionId);
        }

Usage Example

        void HandleIntersectionRouting()
        {
            FastList <NodeLaneMarker> nodeMarkers;

            if (m_nodeMarkers.TryGetValue(m_selectedNode, out nodeMarkers))
            {
                Ray            mouseRay      = Camera.main.ScreenPointToRay(Input.mousePosition);
                NodeLaneMarker hoveredMarker = null;
                Bounds         bounds        = new Bounds(Vector3.zero, Vector3.one);
                for (int i = 0; i < nodeMarkers.m_size; i++)
                {
                    NodeLaneMarker marker = nodeMarkers.m_buffer[i];

                    if (!IsActive(marker))
                    {
                        continue;
                    }

                    bounds.center = marker.m_position;
                    if (bounds.IntersectRay(mouseRay))
                    {
                        hoveredMarker = marker;
                        marker.m_size = 2f;
                    }
                    else
                    {
                        marker.m_size = 1f;
                    }
                }

                if (hoveredMarker != null && Input.GetMouseButtonUp(0))
                {
                    if (m_selectedMarker == null)
                    {
                        m_selectedMarker = hoveredMarker;
                    }
                    else if (LaneManager.RemoveLaneConnection(m_selectedMarker.m_lane, hoveredMarker.m_lane))
                    {
                        m_selectedMarker.m_connections.Remove(hoveredMarker);
                    }
                    else if (LaneManager.AddLaneConnection(m_selectedMarker.m_lane, hoveredMarker.m_lane))
                    {
                        m_selectedMarker.m_connections.Add(hoveredMarker);
                    }
                }
            }

            if (Input.GetMouseButtonUp(1))
            {
                if (m_selectedMarker != null)
                {
                    m_selectedMarker = null;
                }
                else
                {
                    m_selectedNode = 0;
                }
            }
        }