incursionSystemContentPiece.py (2808B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\agencyNew\contentPieces\incursionSystemContentPiece.py 2 from eve.client.script.ui.shared.agencyNew import agencyConst 3 from eve.client.script.ui.shared.agencyNew.contentPieces.baseContentPiece import BaseContentPiece 4 from eve.client.script.ui.shared.agencyNew.contentPieces.incursionSiteContentPiece import IncursionSiteContentPiece 5 from eve.client.script.ui.shared.incursions.incursionConst import SCENETYPE_DATA 6 from eve.common.lib import appConst 7 from localization import GetByLabel 8 from talecommon.const import scenesTypes 9 10 class IncursionSystemContentPiece(BaseContentPiece): 11 contentType = agencyConst.CONTENTTYPE_INCURSIONS 12 13 def __init__(self, sceneType = None, hasFinalEncounter = False, *args, **kwargs): 14 super(IncursionSystemContentPiece, self).__init__(*args, **kwargs) 15 self.sceneType = sceneType 16 self.contentPieces = self._ConstructSiteContentPieces() 17 self.hasFinalEncounter = hasFinalEncounter 18 19 def HasFinalEncounter(self): 20 return self.sceneType == scenesTypes.headquarters and self.hasFinalEncounter 21 22 def GetSiteContentPieces(self): 23 return self.contentPieces 24 25 def _ConstructSiteContentPieces(self): 26 if self.solarSystemID == session.solarsystemid2: 27 return [ self.ConstructContentPieceIncursionSite(slimItem, ball) for slimItem, ball in self.GetAllIncursionSites() ] 28 else: 29 return [] 30 31 def ConstructContentPieceIncursionSite(self, slimItem, ball): 32 return IncursionSiteContentPiece(solarSystemID=session.solarsystemid2, ownerID=appConst.factionCONCORDAssembly, enemyOwnerID=slimItem.ownerID, itemID=slimItem.itemID, locationID=slimItem.itemID, slimItem=slimItem, ball=ball) 33 34 def GetAllIncursionSites(self): 35 bp = sm.GetService('michelle').GetBallpark() 36 ret = [] 37 if not bp: 38 return ret 39 for slimItem in bp.slimItems.values(): 40 archetypeID = getattr(slimItem, 'archetypeID', None) 41 if archetypeID and archetypeID in appConst.dunArchetypesIncursionSites: 42 ret.append((slimItem, bp.GetBall(slimItem.itemID))) 43 44 return ret 45 46 def GetMenu(self): 47 return sm.GetService('menu').GetMenuFromItemIDTypeID(self.solarSystemID, appConst.typeSolarSystem) 48 49 def GetSceneType(self): 50 return self.sceneType 51 52 def GetSceneTypeName(self): 53 return GetByLabel(SCENETYPE_DATA[self.sceneType].subTitle) 54 55 def GetSceneTypeHint(self): 56 return GetByLabel(SCENETYPE_DATA[self.sceneType].hint) 57 58 def GetSceneTypeIcon(self): 59 return SCENETYPE_DATA[self.sceneType].severityIcon 60 61 def GetCardID(self): 62 return (self.contentType, self.itemID, self.solarSystemID)