Don't generate empty groups.

This commit is contained in:
Dan Albert 2020-11-26 20:03:16 -08:00
parent 0e807d84c2
commit 9f078e1483

View File

@ -460,6 +460,7 @@ class BaseDefenseGenerator:
group = generate_ewr_group(self.game, g, self.faction) group = generate_ewr_group(self.game, g, self.faction)
if group is None: if group is None:
logging.error(f"Could not generate EWR at {self.control_point}")
return return
g.groups = [group] g.groups = [group]
@ -491,7 +492,10 @@ class BaseDefenseGenerator:
for_airbase=True) for_airbase=True)
group = generate_armor_group(self.faction_name, self.game, g) group = generate_armor_group(self.faction_name, self.game, g)
if group is not None: if group is None:
logging.error(
f"Could not generate garrison at {self.control_point}")
return
g.groups.append(group) g.groups.append(group)
self.control_point.base_defenses.append(g) self.control_point.base_defenses.append(g)
@ -507,7 +511,9 @@ class BaseDefenseGenerator:
position, self.control_point, for_airbase=True) position, self.control_point, for_airbase=True)
group = generate_anti_air_group(self.game, g, self.faction) group = generate_anti_air_group(self.game, g, self.faction)
if group is not None: if group is None:
logging.error(f"Could not generate SAM at {self.control_point}")
return
g.groups.append(group) g.groups.append(group)
self.control_point.base_defenses.append(g) self.control_point.base_defenses.append(g)
@ -523,7 +529,10 @@ class BaseDefenseGenerator:
position, self.control_point, for_airbase=True) position, self.control_point, for_airbase=True)
group = generate_shorad_group(self.game, g, self.faction) group = generate_shorad_group(self.game, g, self.faction)
if group is not None: if group is None:
logging.error(
f"Could not generate SHORAD group at {self.control_point}")
return
g.groups.append(group) g.groups.append(group)
self.control_point.base_defenses.append(g) self.control_point.base_defenses.append(g)
@ -630,7 +639,16 @@ class AirbaseGroundObjectGenerator(ControlPointGroundObjectGenerator):
position, self.control_point, for_airbase=False) position, self.control_point, for_airbase=False)
group = generate_anti_air_group(self.game, g, self.faction, group = generate_anti_air_group(self.game, g, self.faction,
filter_names) filter_names)
if group is not None: if group is None:
location = f"{g.name} at {self.control_point}"
if filter_names is not None:
logging.warning(
"Could not generate SAM group for %s from types: %s",
location, ", ".join(filter_names)
)
else:
logging.error("Could not generate SAM group for %s", location)
return
g.groups = [group] g.groups = [group]
self.control_point.connected_objectives.append(g) self.control_point.connected_objectives.append(g)