mapViewWorldNavigation.py (1830B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\mapViewWorldNavigation.py 2 import gametime 3 import logging 4 from eve.client.script.ui.shared.mapView.mapViewNavigation import MapViewNavigation 5 from carbonui.uicore import uicore 6 logger = logging.getLogger(__name__) 7 THRESHOLD = 1000000 8 9 class MapViewWorldNavigation(MapViewNavigation): 10 pickPositionNearMouse = (0, 0) 11 nearMouseError = False 12 lastPickTimeStamp = 0 13 14 def CheckPick(self): 15 if uicore.uilib.leftbtn or uicore.uilib.rightbtn: 16 return 17 super(MapViewWorldNavigation, self).CheckPick() 18 if self.mapView.ShouldShowPreviewForAll(): 19 return 20 try: 21 currentMouseOver = uicore.uilib.mouseOver 22 if currentMouseOver != self and not currentMouseOver.IsUnder(self.mapView): 23 self.ClearNearMouse() 24 return 25 self._CheckPickNearMouse() 26 self.nearMouseError = False 27 except Exception: 28 if not self.nearMouseError: 29 logger.exception('Failure in _CheckPickNearMouse') 30 self.nearMouseError = True 31 32 def _CheckPickNearMouse(self): 33 mx, my = uicore.uilib.x, uicore.uilib.y 34 if self.pickPositionNearMouse: 35 dX = abs(mx - self.pickPositionNearMouse[0]) 36 dY = abs(my - self.pickPositionNearMouse[1]) 37 if dX > 10 or dY > 10: 38 now = gametime.GetWallclockTime() 39 if now - self.lastPickTimeStamp < THRESHOLD: 40 return 41 self.lastPickTimeStamp = now 42 self.mapView.PickSceneNearMouse() 43 self.pickPositionNearMouse = (mx, my) 44 return 45 46 def ClearNearMouse(self): 47 self.mapView.ClearNearMouse()