Fix adding and removing waypoints in the UI.

This moves more of the logic out of the UI so mypy can actually spot
these mistakes more often.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2495.
This commit is contained in:
Dan Albert
2022-11-19 15:33:20 -08:00
committed by Raffson
parent 98e8fc88bd
commit 219b52fc12
3 changed files with 18 additions and 11 deletions

View File

@@ -91,6 +91,12 @@ class Flight(SidcDescribable):
def flight_plan(self) -> FlightPlan[Any]:
return self._flight_plan_builder.get_or_build()
def degrade_to_custom_flight_plan(self) -> None:
from .flightplans.custom import Builder as CustomBuilder
self._flight_plan_builder = CustomBuilder(self, self.flight_plan.waypoints[1:])
self.recreate_flight_plan()
def __getstate__(self) -> dict[str, Any]:
state = self.__dict__.copy()
# Avoid persisting the flight state since that's not (currently) used outside