Don't tell the UI about CP TGOs.

These are an implementation quirk, and passing them to the UI just means
that we put TGO pins on top of the CP, which makes the base menu
unopenable.

In the old UI we avoided this by not drawing anything that was
`for_airbase`, but now that we can zoom in further we're drawing base
defenses.
This commit is contained in:
Dan Albert 2021-05-15 00:10:05 -07:00
parent c144799a11
commit 8ec133830f
2 changed files with 13 additions and 1 deletions

View File

@ -233,6 +233,11 @@ class TheaterGroundObject(MissionTarget):
def is_factory(self) -> bool:
return self.category == "factory"
@property
def is_control_point(self) -> bool:
"""True if this TGO is the group for the control point itself (CVs and FOBs)."""
return False
class BuildingGroundObject(TheaterGroundObject):
def __init__(
@ -354,7 +359,9 @@ class NavalGroundObject(TheaterGroundObject):
class GenericCarrierGroundObject(NavalGroundObject):
pass
@property
def is_control_point(self) -> bool:
return True
# TODO: Why is this both a CP and a TGO?

View File

@ -517,6 +517,11 @@ class MapModel(QObject):
continue
seen.add(tgo.name)
if tgo.is_control_point:
# TGOs that are the CP (CV groups) are an implementation quirk that
# we don't need to expose to the UI.
continue
self._ground_objects.append(GroundObjectJs(tgo, self.game))
self.groundObjectsChanged.emit()