private void DrawMouseMoveCross(Graphics graphics) { if (MouseMoveCelestialObject == null) { return; } DrawTacticalMap.DrawPreTarget(MouseMoveCelestialObject, graphics, _screenParameters); }
public static void DrawActiveModule(Graphics graphics, CelestialObjectTypes activeModule, PointF mousePosition, GameSession gameSession, SortedDictionary <int, GranularObjectInformation> granularTurnInformation, int turnStep, ScreenParameters screenParameters) { var playerSpaceship = gameSession.GetPlayerSpaceShip(); var screenCoordinates = UI.ToScreenCoordinates(screenParameters, new PointF(playerSpaceship.PositionX, playerSpaceship.PositionY)); var mouseCoordinatesInternal = OutlandAreaCommon.Tools.ToRelativeCoordinates(mousePosition, screenParameters.Center); var mouseMapCoordinates = OutlandAreaCommon.Tools.ToTacticalMapCoordinates(mouseCoordinatesInternal, screenParameters.CenterScreenOnMap); switch (activeModule) { case CelestialObjectTypes.PointInMap: break; case CelestialObjectTypes.Missile: var radarLinePen = new Pen(Color.FromArgb(60, 60, 60), 1); graphics.DrawLine(radarLinePen, screenCoordinates.X, screenCoordinates.Y, mousePosition.X, mousePosition.Y); var missile = new Missile { PositionY = mouseMapCoordinates.Y, PositionX = mouseMapCoordinates.X }; DrawTacticalMap.DrawPreTarget(missile, graphics, screenParameters); break; case CelestialObjectTypes.SpaceshipPlayer: break; case CelestialObjectTypes.SpaceshipNpcNeutral: break; case CelestialObjectTypes.SpaceshipNpcEnemy: break; case CelestialObjectTypes.SpaceshipNpcFriend: break; case CelestialObjectTypes.Asteroid: break; case CelestialObjectTypes.None: break; default: throw new ArgumentOutOfRangeException(); } }