From 51d557524d1323dce848569ae34b5aba878906dd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 15 May 2021 22:05:14 -0700 Subject: [PATCH] Fix unit list for non-building TGOs. Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1082 --- qt_ui/widgets/map/mapmodel.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/qt_ui/widgets/map/mapmodel.py b/qt_ui/widgets/map/mapmodel.py index cf41ebe5..4a406183 100644 --- a/qt_ui/widgets/map/mapmodel.py +++ b/qt_ui/widgets/map/mapmodel.py @@ -201,15 +201,18 @@ class GroundObjectJs(QObject): @Property(list, notify=unitsChanged) def units(self) -> List[str]: units = [] - if self.buildings: - for building in self.buildings: - dead = " [DEAD]" if building.is_dead else "" - units.append(f"{building.dcs_identifier}{dead}") - else: + # TGOs with a non-empty group set are non-building TGOs. Building TGOs have no + # groups set, but instead are one TGO per building "group" (DCS doesn't support + # groups of statics) all with the same name. + if self.tgo.groups: for unit in self.tgo.units: units.append(self.make_unit_name(unit, dead=False)) for unit in self.tgo.dead_units: units.append(self.make_unit_name(unit, dead=True)) + else: + for building in self.buildings: + dead = " [DEAD]" if building.is_dead else "" + units.append(f"{building.dcs_identifier}{dead}") return units @Property(bool, notify=blueChanged)