Fix names of tasks to not use the enum name.

This commit is contained in:
Dan Albert
2020-11-23 17:15:42 -08:00
parent 9394ed663a
commit 6e0af7c144
16 changed files with 39 additions and 67 deletions

View File

@@ -954,8 +954,8 @@ class AircraftConflictGenerator:
# Creating a flight even those this isn't a fragged mission lets us
# reuse the existing debriefing code.
# TODO: Special flight type?
flight = Flight(Package(control_point), aircraft, 1, FlightType.CAP,
"Cold", departure=control_point,
flight = Flight(Package(control_point), aircraft, 1,
FlightType.BARCAP, "Cold", departure=control_point,
arrival=control_point, divert=None)
group = self._generate_at_airport(
name=namegen.next_unit_name(country, control_point.id,
@@ -1196,7 +1196,7 @@ class AircraftConflictGenerator:
def configure_unknown_task(self, group: FlyingGroup,
flight: Flight) -> None:
logging.error(f"Unhandled flight type: {flight.flight_type.name}")
logging.error(f"Unhandled flight type: {flight.flight_type}")
self.configure_behavior(group)
def setup_flight_group(self, group: FlyingGroup, package: Package,

View File

@@ -147,20 +147,13 @@ class Package:
FlightType.CAS,
FlightType.STRIKE,
FlightType.ANTISHIP,
FlightType.RUNWAY_ATTACK,
FlightType.BAI,
FlightType.EVAC,
FlightType.TROOP_TRANSPORT,
FlightType.RECON,
FlightType.ELINT,
FlightType.DEAD,
FlightType.SEAD,
FlightType.LOGISTICS,
FlightType.INTERCEPTION,
FlightType.TARCAP,
FlightType.CAP,
FlightType.BARCAP,
FlightType.SWEEP,
FlightType.EWAR,
FlightType.ESCORT,
]
for task in task_priorities:
@@ -179,7 +172,7 @@ class Package:
task = self.primary_task
if task is None:
return "No mission"
return task.name
return str(task)
def __hash__(self) -> int:
# TODO: Far from perfect. Number packages?

View File

@@ -86,7 +86,7 @@ class ProposedFlight:
max_distance: int
def __str__(self) -> str:
return f"{self.task.name} {self.num_aircraft} ship"
return f"{self.task} {self.num_aircraft} ship"
@dataclass(frozen=True)

View File

@@ -17,29 +17,21 @@ if TYPE_CHECKING:
class FlightType(Enum):
CAP = 0 # Do not use. Use BARCAP or TARCAP.
TARCAP = 1
BARCAP = 2
CAS = 3
INTERCEPTION = 4
STRIKE = 5
ANTISHIP = 6
SEAD = 7
DEAD = 8
ESCORT = 9
BAI = 10
TARCAP = "TARCAP"
BARCAP = "BARCAP"
CAS = "CAS"
INTERCEPTION = "Intercept"
STRIKE = "Strike"
ANTISHIP = "Anti-ship"
SEAD = "SEAD"
DEAD = "DEAD"
ESCORT = "Escort"
BAI = "BAI"
SWEEP = "Fighter sweep"
RUNWAY_ATTACK = "Runway attack"
# Helos
TROOP_TRANSPORT = 11
LOGISTICS = 12
EVAC = 13
ELINT = 14
RECON = 15
EWAR = 16
SWEEP = 17
RUNWAY_ATTACK = 18
def __str__(self) -> str:
return self.value
class FlightWaypointType(Enum):
@@ -172,5 +164,5 @@ class Flight:
return self.flight_plan.waypoints[1:]
def __repr__(self):
return self.flight_type.name + " | " + str(self.count) + "x" + db.unit_type_name(self.unit_type) \
+ " (" + str(len(self.points)) + " wpt)"
name = db.unit_type_name(self.unit_type)
return f"[{self.flight_type}] {self.count} x {name}"

View File

@@ -56,9 +56,7 @@ class PlanningError(RuntimeError):
class InvalidObjectiveLocation(PlanningError):
"""Raised when the objective location is invalid for the mission type."""
def __init__(self, task: FlightType, location: MissionTarget) -> None:
super().__init__(
f"{location.name} is not valid for {task.name} missions."
)
super().__init__(f"{location.name} is not valid for {task} missions.")
@dataclass(frozen=True)
@@ -661,12 +659,8 @@ class FlightPlanBuilder:
return self.generate_sweep(flight)
elif task == FlightType.TARCAP:
return self.generate_tarcap(flight)
elif task == FlightType.TROOP_TRANSPORT:
logging.error(
"Troop transport flight plan generation not implemented"
)
raise PlanningError(
f"{task.name} flight plan generation not implemented")
f"{task} flight plan generation not implemented")
def regenerate_package_waypoints(self) -> None:
ingress_point = self._ingress_point()