NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

pirateInsurgencySystemContentPiece.py (3471B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\agencyNew\contentPieces\pirateInsurgencySystemContentPiece.py
      2 from carbonui.util.bunch import Bunch
      3 from eve.client.script.ui.shared.agencyNew import agencyConst
      4 from eve.client.script.ui.shared.agencyNew.contentPieces.baseContentPiece import BaseContentPiece
      5 from eve.client.script.ui.shared.agencyNew.contentPieces.pirateInsurgencySiteContentPiece import PirateInsurgencySiteContentPiece
      6 from eve.client.script.ui.shared.agencyNew.ui import agencyUIConst
      7 from eve.common.lib import appConst
      8 from eve.common.script.sys.idCheckers import IsCorporation
      9 from localization import GetByLabel
     10 
     11 class PirateInsurgencySystemContentPiece(BaseContentPiece):
     12     contentType = agencyConst.CONTENTTYPE_PIRATEINSURGENCESYSTEM
     13 
     14     def __init__(self, dungeonInstances = None, pirateFactionID = None, isFobSystem = False, **kwargs):
     15         super(PirateInsurgencySystemContentPiece, self).__init__(**kwargs)
     16         self.pirateFactionID = pirateFactionID
     17         self.isFobSystem = isFobSystem
     18         self.corruptionSuppressionSvc = sm.GetService('corruptionSuppressionSvc')
     19         self.contentPieces = self._ConstructPirateInsurgencySiteContentPieces(dungeonInstances)
     20 
     21     def _ConstructPirateInsurgencySiteContentPieces(self, dungeonInstances):
     22         return filter(None, [ self.ConstructPirateInsurgencySiteContentPiece(site) for site in dungeonInstances ])
     23 
     24     def ConstructPirateInsurgencySiteContentPiece(self, site):
     25         return PirateInsurgencySiteContentPiece(solarSystemID=self.solarSystemID, ownerID=site.factionID, enemyOwnerID=site.factionID, itemID=site.siteID, locationID=site.siteID, site=site, dungeonNameID=site.dungeonNameID, position=site.position)
     26 
     27     def _GetButtonState(self):
     28         return agencyUIConst.ACTION_SETDESTINATION
     29 
     30     def GetCardID(self):
     31         return (self.contentType, self.solarSystemID)
     32 
     33     def GetOwnerTypeID(self, ownerID):
     34         if IsCorporation(ownerID):
     35             return appConst.typeCorporation
     36         return appConst.typeFaction
     37 
     38     def GetDragData(self):
     39         dragData = Bunch()
     40         dragData.__guid__ = 'xtriui.ListSurroundingsBtn'
     41         dragData.itemID = self.itemID
     42         dragData.typeID = self.typeID
     43         dragData.label = cfg.evelocations.Get(self.solarSystemID).name
     44         return [dragData]
     45 
     46     def GetCorruptionStageText(self):
     47         stage = self.corruptionSuppressionSvc.GetSystemCorruptionStage(self.solarSystemID)
     48         if stage is None:
     49             return ''
     50         return GetByLabel('UI/Agency/PirateIncursions/CorruptionStageX', stage=stage)
     51 
     52     def GetSuppressionStageText(self):
     53         stage = self.corruptionSuppressionSvc.GetSystemSuppressionStage(self.solarSystemID)
     54         if stage is None:
     55             return ''
     56         return GetByLabel('UI/Agency/PirateIncursions/SuppressionStageX', stage=stage)
     57 
     58     def GetPirateText(self):
     59         if not self.pirateFactionID:
     60             return ''
     61         factionName = cfg.eveowners.Get(self.pirateFactionID).name
     62         if self.isFobSystem:
     63             return GetByLabel('UI/PirateInsurgencies/FOBSystem', factionName=factionName)
     64         return GetByLabel('UI/PirateInsurgencies/FactionInsurgencySystem', factionName=factionName)
     65 
     66     def GetPirateFactionID(self):
     67         return self.pirateFactionID
     68 
     69     def GetFobOwnerInSystem(self):
     70         if not self.isFobSystem:
     71             return
     72         return self.pirateFactionID