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 }); } }
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 }); }
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 }); }
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 }