void drawGrid(Camera camera) { _game.SpriteBatch.Begin( ); int max = Constants.Instance.GridNumberOfGridLines / 2; Color gridColor = Constants.Instance.GridColor; int thickness = Constants.Instance.GridLineThickness; for (int x = 0; x <= max; x++) { float gridSpacingX = Constants.Instance.GridSpacing.X; Vector2 start = Vector2.Transform(new Vector2(x, -max) * gridSpacingX, camera.Matrix); Vector2 end = Vector2.Transform(new Vector2(x, max) * gridSpacingX, camera.Matrix); _drawing.DrawLine(_game.SpriteBatch, start, end, gridColor, thickness); start = Vector2.Transform(new Vector2(-x, -max) * gridSpacingX, camera.Matrix); end = Vector2.Transform(new Vector2(-x, max) * gridSpacingX, camera.Matrix); _drawing.DrawLine(_game.SpriteBatch, start, end, gridColor, thickness); } for (int y = 0; y <= max; y++) { float gridSpacingY = Constants.Instance.GridSpacing.Y; Vector2 start = Vector2.Transform(new Vector2(-max, y) * gridSpacingY, camera.Matrix); Vector2 end = Vector2.Transform(new Vector2(max, y) * gridSpacingY, camera.Matrix); _drawing.DrawLine(_game.SpriteBatch, start, end, gridColor, thickness); start = Vector2.Transform(new Vector2(-max, -y) * gridSpacingY, camera.Matrix); end = Vector2.Transform(new Vector2(max, -y) * gridSpacingY, camera.Matrix); _drawing.DrawLine(_game.SpriteBatch, start, end, gridColor, thickness); } _game.SpriteBatch.End( ); }
public void DrawLine(Graphics graphics, Color color, PointF startPoint, PointF endPoint) { _drawing?.DrawLine(graphics, color, startPoint, endPoint); }
void IDrawing.DrawLine(params Point[] points) { var mapped = points.Select(p => MapPoint(p)).ToArray(); drawing.DrawLine(mapped); }