Пример #1
0
        private void RenderFillerConnectLine(RenderManager.CameraInfo cameraInfo)
        {
            if (Contour.IsEmpty)
            {
                return;
            }

            if (IsHover)
            {
                var linePart = Contour.GetFillerLine(Contour.Last, Hover);
                if (linePart.GetTrajectory(out ITrajectory trajectory))
                {
                    trajectory.Render(new OverlayData(cameraInfo)
                    {
                        Color = Colors.Green
                    });
                }
            }
            else
            {
                var bezier = new Line3(Contour.Last.Position, NodeMarkupTool.Ray.GetRayPosition(Markup.Position.y, out _)).GetBezier();
                bezier.RenderBezier(new OverlayData(cameraInfo)
                {
                    Color = Colors.Hover
                });
            }
        }
Пример #2
0
        private void RenderConnectCrosswalkLine(RenderManager.CameraInfo cameraInfo)
        {
            var bezier    = new Line3(SelectPoint.Position, HoverPoint.Position).GetBezier();
            var pointPair = new MarkupPointPair(SelectPoint, HoverPoint);
            var color     = Tool.Markup.ExistLine(pointPair) ? (Utility.OnlyCtrlIsPressed ? Colors.Yellow : Colors.Red) : Colors.Green;

            bezier.RenderBezier(new OverlayData(cameraInfo)
            {
                Color = color, Width = MarkupCrosswalkPoint.Shift * 2, Cut = true
            });
        }
Пример #3
0
        private void RenderNotConnectCrosswalkLine(RenderManager.CameraInfo cameraInfo)
        {
            var dir    = NodeMarkupTool.Ray.GetRayPosition(Markup.Position.y, out _) - SelectPoint.Position;
            var lenght = dir.magnitude;

            dir.Normalize();
            var bezier = new Line3(SelectPoint.Position, SelectPoint.Position + dir * Mathf.Max(lenght, 1f)).GetBezier();

            bezier.RenderBezier(new OverlayData(cameraInfo)
            {
                Color = Colors.White, Width = MarkupCrosswalkPoint.Shift * 2, Cut = true
            });
        }
Пример #4
0
        public void Render(OverlayData data)
        {
            if (Position == null)
            {
                return;
            }

            var bezier = new Line3(GetPosition(-RoadHalfWidth), GetPosition(RoadHalfWidth)).GetBezier();

            bezier.RenderBezier(data);
#if DEBUG_ENTER
            var normalBezier = new Line3(Position, Position + NormalDir * 10f).GetBezier();
            NodeMarkupTool.RenderBezier(cameraInfo, normalBezier, Colors.Purple);

            var cornerBezier = new Line3(Position, Position + CornerDir * 10f).GetBezier();
            NodeMarkupTool.RenderBezier(cameraInfo, cornerBezier, Colors.Orange);
#endif
        }