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

mapMarkerBookmark.py (2981B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\markers\mapMarkerBookmark.py
      2 import eve.client.script.ui.shared.mapView.mapViewConst as mapViewConst
      3 import localization
      4 from eve.client.script.parklife import states as state
      5 from eve.client.script.ui.shared.mapView.markers.mapMarkerBase_Icon import MarkerIconBase
      6 from eve.client.script.ui.shared.mapView.markers.mapMarkerSpaceObjectRadialMenu import MapMarkerSpaceObjectRadialMenu
      7 from eveservices.menu import GetMenuService
      8 from localization import GetByLabel
      9 
     10 class MarkerBookmarkUniverseLevel(MarkerIconBase):
     11     texturePath = 'res:/UI/Texture/Icons/38_16_150.png'
     12     distanceFadeAlphaNearFar = (mapViewConst.MAX_MARKER_DISTANCE * 0.01, mapViewConst.MAX_MARKER_DISTANCE)
     13     overlapEnabled = False
     14     distanceSortEnabled = False
     15 
     16     def __init__(self, *args, **kwds):
     17         MarkerIconBase.__init__(self, *args, **kwds)
     18         self.bookmarksData = kwds['bookmarksData']
     19         self.showChanges = kwds.get('showChanges', False)
     20 
     21     def GetLabelText(self):
     22         return GetByLabel('UI/Map/LocationsInSolarSystem', locationName=cfg.evelocations.Get(self.solarSystemID).name, amount=len(self.bookmarksData))
     23 
     24     def GetMenu(self):
     25         return GetMenuService().BookmarkMenu(self.bookmarksData[0])
     26 
     27 
     28 class MarkerBookmark(MarkerIconBase):
     29     texturePath = 'res:/UI/Texture/Icons/38_16_150.png'
     30     distanceFadeAlphaNearFar = (0.0, mapViewConst.MAX_MARKER_DISTANCE * 0.1)
     31 
     32     def __init__(self, *args, **kwds):
     33         MarkerIconBase.__init__(self, *args, **kwds)
     34         self.bookmarkData = kwds['bookmarkData']
     35         isPersonal = kwds.get('isPersonal', None)
     36         if not isPersonal:
     37             self.texturePath = 'res:/ui/Texture/classes/Bookmarks/sharedBookmarkSensorOverlay.png'
     38         self.itemID = self.bookmarkData.itemID or self.bookmarkData.locationID
     39         self.typeID = self.bookmarkData.typeID
     40         self.CreateClientBall()
     41 
     42     def GetDisplayText(self):
     43         caption, note = sm.GetService('bookmarkSvc').UnzipMemo(self.bookmarkData.memo)
     44         return localization.GetByLabel('UI/Map/StarMap/hintSystemBookmark', memo=caption)
     45 
     46     def GetMenu(self):
     47         return GetMenuService().BookmarkMenu(self.bookmarkData)
     48 
     49     def OnClick(self, *args):
     50         doDScan = self.CheckDirectionalScanItem()
     51         if not doDScan:
     52             sm.GetService('stateSvc').SetState(self.itemID, state.selected, 1)
     53             MarkerIconBase.OnClick(self, *args)
     54 
     55     def OnMouseDown(self, *args):
     56         bookMarkInfo = self.bookmarkData
     57         if bookMarkInfo is None:
     58             return
     59         if self.clientBall:
     60             GetMenuService().TryExpandActionMenu(itemID=self.clientBall.id, clickedObject=self, bookmarkInfo=self.bookmarkData, radialMenuClass=MapMarkerSpaceObjectRadialMenu, markerObject=self)
     61 
     62     def _GetSolarSystemPosition(self):
     63         bookmark = self.bookmarkData
     64         return (bookmark.x, bookmark.y, bookmark.z)