Exemplo n.º 1
0
        public override void RenderOverlay(RenderManager.CameraInfo cameraInfo)
        {
            // Log._Debug($"Restrictions overlay {_cursorInSecondaryPanel} {HoveredNodeId} {SelectedNodeId} {HoveredSegmentId} {SelectedSegmentId}");
            if (SelectedSegmentId != 0)
            {
                Color color = MainTool.GetToolColor(true, false);
                // continues lane highlight requires lane alphaBlend == false.
                // for such lane highlight to be on the top of segment highlight,
                // the alphaBlend of segment highlight needs to be true.
                TrafficManagerTool.DrawSegmentOverlay(cameraInfo, SelectedSegmentId, color, true);

                if (overlayHandleHovered)
                {
                    if (RoadMode)
                    {
                        RenderRoadLane(cameraInfo);
                    }
                    else
                    {
                        RenderLaneOverlay(cameraInfo, renderData_.laneId);
                    }
                }
            }

            if (cursorInSecondaryPanel)
            {
                return;
            }

            if (HoveredSegmentId != 0 && HoveredSegmentId != SelectedSegmentId &&
                !overlayHandleHovered)
            {
                NetTool.RenderOverlay(
                    cameraInfo,
                    ref Singleton <NetManager> .instance.m_segments.m_buffer[HoveredSegmentId],
                    MainTool.GetToolColor(false, false),
                    MainTool.GetToolColor(false, false));
            }
        }