Add mining yield view

Add a panel for displaying the mining yield. Display miner and drone
yield. Only create the frontend in this commit.
This commit is contained in:
Alexandros Kosiaris
2014-05-27 17:00:31 +03:00
parent 749934b89d
commit 28cfaf1702
4 changed files with 152 additions and 2 deletions

View File

@@ -734,8 +734,10 @@ class Fit(object):
self.__extraDrains = []
self.__ehp = None
self.__weaponDPS = None
self.__minerYield = None
self.__weaponVolley = None
self.__droneDPS = None
self.__droneYield = None
self.__sustainableTank = None
self.__effectiveSustainableTank = None
self.__effectiveTank = None
@@ -837,6 +839,24 @@ class Fit(object):
def totalDPS(self):
return self.droneDPS + self.weaponDPS
@property
def minerYield(self):
if self.__minerYield is None:
self.calculateMiningStats()
return self.__minerYield
@property
def droneYield(self):
if self.__droneYield is None:
self.calculateMiningStats()
return self.__droneYield
@property
def totalYield(self):
return self.droneYield + self.minerYield
@property
def maxTargets(self):
return min(self.extraAttributes["maxTargetsLockedFromSkills"], self.ship.getModifiedItemAttr("maxLockedTargets"))
@@ -895,10 +915,12 @@ class Fit(object):
def clear(self):
self.__effectiveTank = None
self.__weaponDPS = None
self.__minerYield = None
self.__weaponVolley = None
self.__effectiveSustainableTank = None
self.__sustainableTank = None
self.__droneDPS = None
self.__droneYield = None
self.__ehp = None
self.__calculated = False
self.__capStable = None
@@ -1418,6 +1440,19 @@ class Fit(object):
else:
return self.ship.getModifiedItemAttr("scanSpeed") / 1000.0
def calculateMiningStats(self):
minerYield = 0
droneYield = 0
for mod in self.modules:
minerYield += mod.miningStats
for drone in self.drones:
droneYield += drone.miningStats
self.__minerYield = minerYield
self.__droneYield = droneYield
def calculateWeaponStats(self):
weaponDPS = 0
droneDPS = 0