From 7a45391c22f4690974883d5efc86b43355b30b22 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 21 Aug 2022 19:04:48 -0700 Subject: [PATCH] Simplify IBuilder constructor. We have access to the theater via the flight's departure airbase now. --- game/ato/flight.py | 4 +--- game/ato/flightplans/flightplanbuilder.py | 2 +- game/ato/flightplans/ibuilder.py | 7 +++++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/game/ato/flight.py b/game/ato/flight.py index 51417949..0f739228 100644 --- a/game/ato/flight.py +++ b/game/ato/flight.py @@ -194,9 +194,7 @@ class Flight(SidcDescribable): def abort(self) -> None: from .flightplans.rtb import RtbFlightPlan - self.flight_plan = RtbFlightPlan.builder_type()( - self, self.coalition.game.theater - ).build() + self.flight_plan = RtbFlightPlan.builder_type()(self).build() self.set_state( Navigating( diff --git a/game/ato/flightplans/flightplanbuilder.py b/game/ato/flightplans/flightplanbuilder.py index 4dd45a73..dc021f65 100644 --- a/game/ato/flightplans/flightplanbuilder.py +++ b/game/ato/flightplans/flightplanbuilder.py @@ -108,4 +108,4 @@ class FlightPlanBuilder: ) from ex def generate_flight_plan(self, flight: Flight) -> FlightPlan[Any]: - return self.builder_type(flight)(flight, self.theater).build() + return self.builder_type(flight)(flight).build() diff --git a/game/ato/flightplans/ibuilder.py b/game/ato/flightplans/ibuilder.py index 801f2ad6..714b4862 100644 --- a/game/ato/flightplans/ibuilder.py +++ b/game/ato/flightplans/ibuilder.py @@ -19,9 +19,12 @@ LayoutT = TypeVar("LayoutT", bound=Layout) class IBuilder(ABC, Generic[FlightPlanT, LayoutT]): - def __init__(self, flight: Flight, theater: ConflictTheater) -> None: + def __init__(self, flight: Flight) -> None: self.flight = flight - self.theater = theater + + @property + def theater(self) -> ConflictTheater: + return self.flight.departure.theater @abstractmethod def layout(self) -> LayoutT: