Expose builtin target profiles to service

This commit is contained in:
DarkPhoenix
2019-12-06 17:14:12 +03:00
parent 649db019de
commit 6fdb57318c
6 changed files with 29 additions and 21 deletions

View File

@@ -134,14 +134,18 @@ class DamagePattern:
@classmethod
def getBuiltins(cls):
if cls._builtins is None:
cls._builtins = OrderedDict()
for id, (name, em, therm, kin, explo) in BUILTINS.items():
pattern = DamagePattern(emAmount=em, thermalAmount=therm, kineticAmount=kin, explosiveAmount=explo)
pattern.ID = id
pattern.name = name
cls._builtins[id] = pattern
cls.__generateBuiltins()
return list(cls._builtins.values())
@classmethod
def __generateBuiltins(cls):
cls._builtins = OrderedDict()
for id, (name, em, therm, kin, explo) in BUILTINS.items():
pattern = DamagePattern(emAmount=em, thermalAmount=therm, kineticAmount=kin, explosiveAmount=explo)
pattern.ID = id
pattern.name = name
cls._builtins[id] = pattern
def calculateEhp(self, fit):
ehp = {}
for (type, attr) in (('shield', 'shieldCapacity'), ('armor', 'armorHP'), ('hull', 'hp')):

View File

@@ -105,16 +105,20 @@ class TargetProfile:
@classmethod
def getBuiltins(cls):
if cls._builtins is None:
cls._builtins = OrderedDict()
for id, data in BUILTINS.items():
name = data[0]
data = data[1:]
profile = TargetProfile(*data)
profile.ID = id
profile.name = name
cls._builtins[id] = profile
cls.__generateBuiltins()
return list(cls._builtins.values())
@classmethod
def __generateBuiltins(cls):
cls._builtins = OrderedDict()
for id, data in BUILTINS.items():
name = data[0]
data = data[1:]
profile = TargetProfile(*data)
profile.ID = id
profile.name = name
cls._builtins[id] = profile
@classmethod
def getIdeal(cls):
if cls._idealTarget is None:

View File

@@ -21,7 +21,7 @@ class TargetProfileAdder(ContextMenuUnconditional):
sTR = svc_TargetProfile.getInstance()
self.callingWindow = callingWindow
self.profiles = sTR.getTargetProfileList()
self.profiles = sTR.getUserTargetProfileList()
self.profiles.sort(key=lambda p: (p.name in ['None'], p.name))
return len(self.profiles) > 0

View File

@@ -20,7 +20,7 @@ class TargetProfileSwitcher(ContextMenuUnconditional):
return False
sTR = svc_TargetProfile.getInstance()
self.profiles = sTR.getTargetProfileList()
self.profiles = sTR.getUserTargetProfileList()
self.profiles.sort(key=lambda p: (p.name in ['None'], p.name))
return len(self.profiles) > 0

View File

@@ -88,7 +88,7 @@ class TargetProfileEntityEditor(EntityEditor):
def getEntitiesFromContext(self):
sTR = TargetProfile.getInstance()
choices = sorted(sTR.getTargetProfileList(), key=lambda p: p.name)
choices = sorted(sTR.getUserTargetProfileList(), key=lambda p: p.name)
return choices
def DoNew(self, name):

View File

@@ -38,12 +38,12 @@ class TargetProfile:
return cls.instance
@staticmethod
def getTargetProfileList():
def getUserTargetProfileList():
return db.getTargetProfileList()
@staticmethod
def getTargetProfile(name):
return db.getTargetProfile(name)
def getBuiltinTargetProfileList():
return es_TargetProfile.getBuiltins()
@staticmethod
def newPattern(name):
@@ -81,6 +81,6 @@ class TargetProfile:
raise ImportError("%d patterns imported from clipboard; %d had errors" % (num, num - lenImports))
def exportPatterns(self):
patterns = self.getTargetProfileList()
patterns = self.getUserTargetProfileList()
patterns.sort(key=lambda p: p.name)
return es_TargetProfile.exportPatterns(*patterns)