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

btnController.py (1648B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\planet\mecDen\btnController.py
      2 from appConst import maxCargoContainerTransferDistance
      3 import eveicon
      4 from eve.client.script.ui.control.statefulButtonLocationController import LocationButtonController
      5 from localization import GetByLabel
      6 STATE_ACCESS_MERC_DEN = -1
      7 
      8 class MercDenButtonController(LocationButtonController, object):
      9 
     10     def _GetButtonStateForLocationInSpace(self):
     11         if self.IsInCurrentSolarSystem():
     12             slimItem = sm.GetService('michelle').GetItem(self.itemID)
     13             if slimItem:
     14                 inRange = sm.GetService('autoPilot').InInteractionRange(self.itemID, maxCargoContainerTransferDistance)
     15                 if inRange:
     16                     return STATE_ACCESS_MERC_DEN
     17         return super(MercDenButtonController, self)._GetButtonStateForLocationInSpace()
     18 
     19     def GetButtonLabel(self):
     20         if self.buttonState == STATE_ACCESS_MERC_DEN:
     21             return GetByLabel('UI/Sovereignty/MercenaryDen/ConfigurationWindow/ConfigureMercenaryDen')
     22         return super(MercDenButtonController, self).GetButtonLabel()
     23 
     24     def GetButtonTexturePath(self):
     25         if self.buttonState == STATE_ACCESS_MERC_DEN:
     26             return eveicon.mercenary_den
     27         return super(MercDenButtonController, self).GetButtonTexturePath()
     28 
     29     def _ExecutePrimaryFunction(self, buttonState):
     30         if self.buttonState == STATE_ACCESS_MERC_DEN:
     31             sm.GetService('menu').OpenMercenaryDen(self.itemID)
     32             return
     33         return super(MercDenButtonController, self)._ExecutePrimaryFunction(buttonState)