mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Reduce squadron location bookkeeping.
This commit is contained in:
parent
4715773bba
commit
5fae178081
@ -19,7 +19,6 @@ class AirWing:
|
|||||||
self.squadrons: dict[AircraftType, list[Squadron]] = defaultdict(list)
|
self.squadrons: dict[AircraftType, list[Squadron]] = defaultdict(list)
|
||||||
|
|
||||||
def add_squadron(self, squadron: Squadron) -> None:
|
def add_squadron(self, squadron: Squadron) -> None:
|
||||||
squadron.location.squadrons.append(squadron)
|
|
||||||
self.squadrons[squadron.aircraft].append(squadron)
|
self.squadrons[squadron.aircraft].append(squadron)
|
||||||
|
|
||||||
def squadrons_for(self, aircraft: AircraftType) -> Sequence[Squadron]:
|
def squadrons_for(self, aircraft: AircraftType) -> Sequence[Squadron]:
|
||||||
|
|||||||
@ -82,9 +82,7 @@ class Squadron:
|
|||||||
return self.coalition.player
|
return self.coalition.player
|
||||||
|
|
||||||
def assign_to_base(self, base: ControlPoint) -> None:
|
def assign_to_base(self, base: ControlPoint) -> None:
|
||||||
self.location.squadrons.remove(self)
|
|
||||||
self.location = base
|
self.location = base
|
||||||
self.location.squadrons.append(self)
|
|
||||||
logging.debug(f"Assigned {self} to {base}")
|
logging.debug(f"Assigned {self} to {base}")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|||||||
@ -325,8 +325,6 @@ class ControlPoint(MissionTarget, ABC):
|
|||||||
|
|
||||||
self.target_position: Optional[Point] = None
|
self.target_position: Optional[Point] = None
|
||||||
|
|
||||||
self.squadrons: list[Squadron] = []
|
|
||||||
|
|
||||||
def __repr__(self) -> str:
|
def __repr__(self) -> str:
|
||||||
return f"<{self.__class__}: {self.name}>"
|
return f"<{self.__class__}: {self.name}>"
|
||||||
|
|
||||||
@ -348,6 +346,12 @@ class ControlPoint(MissionTarget, ABC):
|
|||||||
def ground_objects(self) -> List[TheaterGroundObject[Any]]:
|
def ground_objects(self) -> List[TheaterGroundObject[Any]]:
|
||||||
return list(self.connected_objectives)
|
return list(self.connected_objectives)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def squadrons(self) -> Iterator[Squadron]:
|
||||||
|
for squadron in self.coalition.air_wing.iter_squadrons():
|
||||||
|
if squadron.location == self:
|
||||||
|
yield squadron
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def heading(self) -> Heading:
|
def heading(self) -> Heading:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user