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();
            };
        }
Esempio n. 4
0
 protected FlightTaskData(FlightTask flightTask)
 {
 }