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

navigation.py (2245B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\structure\navigation.py
      2 import evecamera
      3 import carbonui.const as uiconst
      4 from carbonui.uicore import uicore
      5 from carbonui.control.layer import LayerCore
      6 from eve.client.script.ui.camera.structureCameraController import StructureCameraController
      7 from eveservices.menu import GetMenuService
      8 
      9 class StructureLayer(LayerCore):
     10     __notifyevents__ = ['OnActiveCameraChanged']
     11     __guid__ = 'uicls.StructureLayer'
     12 
     13     def __init__(self, *args, **kwargs):
     14         self.cameraController = None
     15         LayerCore.__init__(self, *args, **kwargs)
     16 
     17     def OnOpenView(self, **kwargs):
     18         sm.GetService('sceneManager').SetPrimaryCamera(evecamera.CAM_STRUCTURE)
     19         self.OnActiveCameraChanged(evecamera.CAM_SHIPORBIT)
     20 
     21     def OnActiveCameraChanged(self, cameraID):
     22         if cameraID == evecamera.CAM_STRUCTURE:
     23             self.cameraController = StructureCameraController()
     24 
     25     def OnMouseDown(self, *args):
     26         if self.cameraController:
     27             self.cameraController.OnMouseDown(*args)
     28         if uicore.uilib.leftbtn:
     29             self.SetCursor(uiconst.UICURSOR_DRAGGABLE, True)
     30 
     31     def OnMouseUp(self, button, *args):
     32         if self.cameraController:
     33             self.cameraController.OnMouseUp(button, *args)
     34         if not uicore.uilib.leftbtn:
     35             self.SetCursor(None, False)
     36 
     37     def OnMouseMove(self, *args):
     38         if uicore.IsDragging():
     39             return
     40         if self.cameraController:
     41             self.cameraController.OnMouseMove(*args)
     42 
     43     def OnMouseWheel(self, *args):
     44         if self.cameraController:
     45             self.cameraController.OnMouseWheel(*args)
     46 
     47     def OnDblClick(self, *args):
     48         uicore.cmd.GetCommandAndExecute('OpenInventory')
     49 
     50     def GetMenu(self):
     51         return GetMenuService().CelestialMenu(session.structureid)
     52 
     53     def SetCursor(self, cursor, clip):
     54         self.cursor = cursor
     55         if clip:
     56             uicore.uilib.ClipCursor(0, 0, uicore.desktop.width, uicore.desktop.height)
     57             uicore.uilib.SetCapture(self)
     58         else:
     59             uicore.uilib.UnclipCursor()
     60             if uicore.uilib.GetCapture() == self:
     61                 uicore.uilib.ReleaseCapture()