private void SetExitingHyperspace() { var hyperdrive = Ship.Hyperdrive; var hyperspaceExitPoint = hyperdrive.GetHyperspaceExitPoint(hyperdrive.CurrentHyperjumpInfo.TargetSystem); InnerFlightTask = new ExitingHyperspaceFlightTask(Ship, hyperspaceExitPoint); InnerFlightTask.Complete += sender => InvokeComplete(); }
private void SetMovingToEntryPoint() { var hyperspaceEntryPoint = Ship.Hyperdrive.GetHyperspaceEntryPoint(TargetStarSystem); InnerFlightTask = new FlyToPointFlightTask(Ship, hyperspaceEntryPoint); InnerFlightTask.Complete += sender => SetEnteringHyperspace(); }
private void SetEnteringHyperspace() { if (!Ship.Hyperdrive.IsJumpPossible(TargetStarSystem)) { Cancel(); return; } InnerFlightTask = new EnterHyperspaceFlightTask(Ship, Ship.Hyperdrive.GetHyperspaceEntryPoint(TargetStarSystem)); InnerFlightTask.Complete += sender => { Ship.Hyperdrive.Jump(TargetStarSystem); SetWaitingHyperjumpExit(); }; }
protected FlightTaskData(FlightTask flightTask) { }