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

mapMarkerSpaceObjectRadialMenu.py (2289B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\markers\mapMarkerSpaceObjectRadialMenu.py
      2 from eve.client.script.ui.shared.radialMenu.radialMenu import RadialMenuSpace
      3 from eve.client.script.ui.shared.radialMenu.radialMenuUtils import SimpleRadialMenuAction
      4 from carbonui.uicore import uicore
      5 
      6 class MapMarkerSpaceObjectRadialMenu(RadialMenuSpace):
      7 
      8     def SetSpecificValues(self, attributes):
      9         RadialMenuSpace.SetSpecificValues(self, attributes)
     10         self.markerObject = attributes.markerObject
     11         self.scanSvc = sm.GetService('directionalScanSvc')
     12 
     13     def LoadButtons(self, parentLayer, optionsInfo, alternate = False, startingDegree = 0, animate = False, doReset = False):
     14         if getattr(self, 'busyReloading', False):
     15             return
     16         self.busyReloading = True
     17         try:
     18             filteredOptions = []
     19             for each in optionsInfo.allWantedMenuOptions:
     20                 if each.option1Path in ('UI/Inflight/LockTarget', 'UI/Inflight/UnlockTarget'):
     21                     dScanAction = SimpleRadialMenuAction(option1='UI/Inflight/Scanner/DirectionalScan', alwaysAvailable=True, func=self.DirectionalScan, funcArgs=(self.itemID,))
     22                     filteredOptions.append(dScanAction)
     23                     optionsInfo.activeSingleOptions['UI/Inflight/Scanner/DirectionalScan'] = dScanAction
     24                 elif each.option1Path in ('UI/Inflight/OrbitObject', 'UI/Inflight/Submenus/KeepAtRange', 'UI/Inflight/LookAtObject', 'UI/Inflight/ResetCamera'):
     25                     filteredOptions.append(SimpleRadialMenuAction())
     26                 else:
     27                     filteredOptions.append(each)
     28 
     29             optionsInfo.allWantedMenuOptions = filteredOptions
     30             parentLayer.LoadButtons(self.itemID, self.stepSize, alternate, animate, doReset, optionsInfo, startingDegree, self.GetIconTexturePath)
     31             self.OnGlobalMove()
     32         finally:
     33             self.busyReloading = False
     34 
     35     def DirectionalScan(self, itemID, *args, **kwds):
     36         if itemID:
     37             uicore.cmd.GetCommandAndExecute('OpenDirectionalScanner', toggle=False)
     38             markerPosition = self.markerObject.position
     39             self.scanSvc.ScanTowardsItem(itemID, mapPosition=markerPosition)