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

baseController.py (4600B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\dockedUI\controllers\baseController.py
      2 from eve.client.script.environment.invControllers import StationCorpHangar
      3 from eve.client.script.ui.shared.inventory.invConst import GetInventoryContainerClass
      4 from eve.client.script.ui.station import stationServiceConst
      5 from eve.common.lib import appConst as const
      6 from eve.common.script.sys.idCheckers import IsStation
      7 from utillib import KeyVal
      8 from globalConfig.getFunctions import IsContentComplianceControlSystemActive
      9 
     10 class BaseStationController(object):
     11 
     12     def __init__(self, itemID = None):
     13         self.serviceAccessCache = {}
     14         self.officeManager = sm.GetService('officeManager')
     15 
     16     @property
     17     def corpOffice(self):
     18         return self.officeManager.GetCorpOfficeAtLocation()
     19 
     20     def Undock(self):
     21         sm.GetService('undocking').UndockBtnClicked()
     22 
     23     def ChangeDockedMode(self, viewState):
     24         pass
     25 
     26     def CorpsWithOffices(self):
     27         return self.officeManager.GetCorporationsWithOffices()
     28 
     29     def GetNumberOfUnrentedOffices(self):
     30         return self.officeManager.GetNumberOfUnrentedOffices()
     31 
     32     def CanRent(self):
     33         return self._HasRole(const.corpRoleCanRentOffice)
     34 
     35     def CanMoveHQ(self):
     36         return self._HasRole(const.corpRoleDirector)
     37 
     38     def CanUnrent(self):
     39         return self._HasRole(const.corpRoleDirector)
     40 
     41     def IsHqAllowed(self):
     42         return True
     43 
     44     def _HasRole(self, corpRole):
     45         return session.corprole & corpRole == corpRole
     46 
     47     def IsMyHQ(self):
     48         return False
     49 
     50     def MyCorpIsOwner(self):
     51         return False
     52 
     53     def GetCostForOpeningOffice(self):
     54         return self.officeManager.GetPriceQuote()
     55 
     56     def RentOffice(self, cost):
     57         self.officeManager.RentOffice(cost)
     58 
     59     def GetMyCorpOffice(self):
     60         return self.corpOffice
     61 
     62     def IsEmptyOffice(self):
     63         return len(StationCorpHangar(divisionID=None).GetItems()) == 0
     64 
     65     def UnrentOffice(self):
     66         self.officeManager.UnrentOffice()
     67 
     68     def SetHQ(self):
     69         pass
     70 
     71     def GetCostForGettingCorpJunkBack(self):
     72         return self.officeManager.GetImpoundReleasePrice()
     73 
     74     def ReleaseImpoundedItems(self, cost):
     75         self.officeManager.GetItemsFromImpound(cost)
     76 
     77     def GetServices(self):
     78         if IsStation(self.itemID):
     79             return self.GetServicesInStation()
     80         else:
     81             return self.GetServicesInStructure()
     82 
     83     def GetGuests(self):
     84         return {}
     85 
     86     def PerformAndGetErrorForStandingCheck(self, stationServiceID):
     87         return None
     88 
     89     def RemoveServiceFromCache(self, serviceID):
     90         pass
     91 
     92     def GetAgents(self):
     93         return []
     94 
     95     def GetOwnerID(self):
     96         return None
     97 
     98     def HasCorpItemsImpounded(self):
     99         return self.officeManager.HasCorpImpoundedItemsAtStation()
    100 
    101     def GetStationItemsAndShipsClasses(self):
    102         return (None, None)
    103 
    104     def GetShipInventoryClass(self):
    105         return GetInventoryContainerClass(self._GetShipInventoryType())
    106 
    107     def GetItemInventoryClass(self):
    108         return GetInventoryContainerClass(self._GetItemInventoryType())
    109 
    110     def _GetShipInventoryType(self):
    111         return None
    112 
    113     def _GetItemInventoryType(self):
    114         return None
    115 
    116     def GetItemID(self):
    117         return None
    118 
    119     def InProcessOfUndocking(self):
    120         return False
    121 
    122     def HasDockModes(self):
    123         return False
    124 
    125     def IsExiting(self):
    126         return sm.GetService('undocking').IsExiting()
    127 
    128     def GetDisabledDockingModeHint(self):
    129         return None
    130 
    131     def GetDockedModeTextPath(self, viewName = None):
    132         return None
    133 
    134     def GetCurrentStateForService(self, serviceID):
    135         return KeyVal(isEnabled=True)
    136 
    137     def _GetServiceInfoAvailable(self, servicesAtLocation):
    138         haveServices = []
    139         for serviceData in stationServiceConst.serviceData:
    140             if not serviceData.command:
    141                 continue
    142             if serviceData.name == 'charcustomization' and IsContentComplianceControlSystemActive(sm.GetService('machoNet')):
    143                 continue
    144             if stationServiceConst.serviceIDAlwaysPresent in serviceData.stationServiceIDs:
    145                 haveServices.append(serviceData)
    146             elif serviceData.serviceID in servicesAtLocation:
    147                 haveServices.append(serviceData)
    148 
    149         return haveServices
    150 
    151     def IsControlable(self):
    152         return False
    153 
    154     def TakeControl(self):
    155         pass
    156 
    157     def MayTakeControl(self, structureID):
    158         return False
    159 
    160     def GetStructurePilot(self, structureID):
    161         return None