Implement iterators on fit and use them in graph code

This commit is contained in:
DarkPhoenix
2019-08-13 22:39:25 +03:00
parent e1896c0216
commit 679ed7b806
4 changed files with 42 additions and 41 deletions

View File

@@ -1572,6 +1572,24 @@ class Fit:
secstatus = FitSystemSecurity.NULLSEC
return secstatus
def activeModulesIter(self):
for mod in self.modules:
if mod.state >= FittingModuleState.ACTIVE:
yield mod
def activeDronesIter(self):
for drone in self.drones:
if drone.amountActive > 0:
yield drone
def activeFighterAbilityIter(self):
for fighter in self.fighters:
if fighter.active:
for ability in fighter.abilities:
if ability.active:
yield fighter, ability
def __deepcopy__(self, memo=None):
fitCopy = Fit()
# Character and owner are not copied