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

mapCameraController.py (1905B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\camera\mapCameraController.py
      2 from eve.client.script.ui.camera.baseCameraController import BaseCameraController
      3 from eve.client.script.ui.camera.cameraUtil import GetZoomDz, CheckInvertZoom
      4 from carbonui.uicore import uicore
      5 from eve.client.script.ui.shared.mapView.mapViewSettings import IsAbstractModeActive
      6 import geo2
      7 
      8 class MapCameraController(BaseCameraController):
      9     kPan = 5.0
     10 
     11     def __init__(self, mapViewID = None, cameraID = None):
     12         self.cameraID = cameraID
     13         self.mapViewID = mapViewID
     14         BaseCameraController.__init__(self)
     15 
     16     def GetViewport(self):
     17         return self.GetCamera().GetViewport()
     18 
     19     def OnMouseWheel(self, *args):
     20         camera = self.GetCamera()
     21         if camera:
     22             dz = GetZoomDz()
     23             camera.Zoom(dz * 0.0005)
     24 
     25     def OnMouseMove(self, *args):
     26         camera = self.GetCamera()
     27         if uicore.uilib.leftbtn and uicore.uilib.rightbtn:
     28             camera.Zoom(-CheckInvertZoom(uicore.uilib.dy) * 0.005)
     29         elif uicore.uilib.leftbtn:
     30             if IsAbstractModeActive(self.mapViewID):
     31                 self.PanAxis(camera)
     32             else:
     33                 k = 0.01
     34                 camera.Orbit(k * self.GetMouseDX(), k * self.GetMouseDY())
     35         elif uicore.uilib.rightbtn:
     36             if IsAbstractModeActive(self.mapViewID):
     37                 self.PanAxis(camera)
     38             else:
     39                 self.Pan(camera)
     40 
     41     def Pan(self, camera):
     42         k = self.kPan
     43         camera.Pan(-k * self.GetMouseDX(), k * self.GetMouseDY(), 0)
     44 
     45     def PanAxis(self, camera):
     46         k = self.kPan
     47         dx = k * self.GetMouseDX()
     48         dy = k * self.GetMouseDY()
     49         xAxis = camera.GetXAxis()
     50         yAxis = geo2.Vec3Cross(xAxis, camera.upDirection)
     51         camera.PanAxis(xAxis, -dx)
     52         camera.PanAxis(yAxis, -dy)