readjust some mode logic

This commit is contained in:
blitzmann
2014-12-10 22:04:12 -05:00
parent d5ce666d8d
commit 85608616dd
2 changed files with 11 additions and 6 deletions

View File

@@ -29,6 +29,7 @@ class Ship(ItemAttrShortcut, HandledItem):
self.__item = item
self.__itemModifiedAttributes = ModifiedAttributeDict()
self.__modeItems = self._getModeItems()
if not isinstance(item, int):
self.__buildOriginal()
@@ -76,7 +77,7 @@ class Ship(ItemAttrShortcut, HandledItem):
@todo: rename this
"""
items = self.getModeItems()
items = self.__modeItems
if items != None:
if item == None or item not in items:
@@ -87,11 +88,15 @@ class Ship(ItemAttrShortcut, HandledItem):
return Mode(item)
return None
def getModes(self):
items = self.getModeItems()
return [Mode(item) for item in items] if items else None
@property
def modeItems(self):
return self.__modeItems
def getModeItems(self):
@property
def modes(self):
return [Mode(item) for item in self.__modeItems] if self.__modeItems else None
def _getModeItems(self):
"""
Returns a list of valid mode items for ship. Note that this returns the
valid Item objects, not the Mode objects. Returns None if not a

View File

@@ -16,7 +16,7 @@ class TacticalMode(ContextMenu):
fitID = self.mainFrame.getActiveFit()
fit = sFit.getFit(fitID)
self.modes = fit.ship.getModes()
self.modes = fit.ship.modes
self.currMode = fit.mode
return srcContext == "fittingShip" and self.modes is not None