Move the tgo value calculation from UI to the tgo

This commit is contained in:
RndName 2022-03-30 12:48:58 +02:00
parent de76276a4d
commit bc76efaea6
No known key found for this signature in database
GPG Key ID: 5EF516FD9537F7C0
2 changed files with 7 additions and 6 deletions

View File

@ -254,6 +254,11 @@ class TheaterGroundObject(MissionTarget, SidcDescribable, ABC):
def purchasable(self) -> bool:
raise NotImplementedError
@property
def value(self) -> int:
"""The value of all units of the Ground Objects"""
return sum(u.unit_type.price for u in self.units if u.unit_type and u.alive)
def group_by_name(self, name: str) -> Optional[TheaterGroup]:
for group in self.groups:
if group.name == name:

View File

@ -217,11 +217,7 @@ class QGroundObjectMenu(QDialog):
def update_total_value(self):
if not self.ground_object.purchasable:
return
self.total_value = sum(
u.unit_type.price
for u in self.ground_object.units
if u.unit_type and u.alive
)
self.total_value = self.ground_object.value
if self.sell_all_button is not None:
self.sell_all_button.setText("Disband (+$" + str(self.total_value) + "M)")
@ -248,7 +244,7 @@ class QGroundObjectMenu(QDialog):
def sell_all(self):
self.update_total_value()
self.game.blue.budget = self.game.blue.budget + self.total_value
self.game.blue.budget += self.total_value
self.ground_object.groups = []
self.update_game()