public static void DrawCelestialObjectDirection(ICelestialObject celestialObject, PointF location, Graphics graphics, ScreenParameters screenParameters) { var screenCoordinates = UI.ToScreenCoordinates(screenParameters, new PointF(location.X, location.Y)); if ((CelestialObjectTypes)celestialObject.Classification == CelestialObjectTypes.Explosion) { return; } var move = SpaceMapTools.Move(screenCoordinates, 8, 6, celestialObject.Direction); SpaceMapGraphics.DrawArrow(graphics, move, Color.DimGray); }
private static void DrawCurveTrajectory(Graphics graphics, List <SpaceMapObjectLocation> results, Color color, ScreenParameters screenParameters, bool isDrawArrow = false) { var points = new List <PointF>(); foreach (var position in results) { var screenCoordinates = UI.ToScreenCoordinates(screenParameters, new PointF(position.Coordinates.X, position.Coordinates.Y)); points.Add(new PointF(screenCoordinates.X, screenCoordinates.Y)); } var lastPoint = results[results.Count - 1]; var pointInSpaceCoordinates = UI.ToScreenCoordinates(screenParameters, new PointF(lastPoint.Coordinates.X, lastPoint.Coordinates.Y)); var step = SpaceMapTools.Move(pointInSpaceCoordinates, 4000, 0, lastPoint.Direction); if (points.Count > 2) { graphics.DrawCurve(new Pen(color), points.ToArray()); } graphics.DrawLine(new Pen(color), step.PointFrom, step.PointTo); var move = SpaceMapTools.Move(pointInSpaceCoordinates, 0, 0, lastPoint.Direction); SpaceMapGraphics.DrawArrow(graphics, move, color, 12); #region Show linear movement //foreach (var position in results) //{ // var screenCoordinates = UI.ToScreenCoordinates(_screenParameters, new PointF(position.Coordinates.X, position.Coordinates.Y)); // if (position.Status == MovementType.Linear) // { // graphics.DrawEllipse(new Pen(Color.Brown, 1), screenCoordinates.X, screenCoordinates.Y, 2, 2 ); // } //} #endregion }
private static void DrawDirection(IScreenInfo screenInfo, ICelestialObject currentObject, Color color) { SpaceMapGraphics.DrawLongLine(screenInfo, currentObject, Color.FromArgb(22, 22, 22)); SpaceMapGraphics.DrawArrow(screenInfo, currentObject, color); }