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

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()