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

phaseStabilizerBracket.py (3804B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\bracketsAndTargets\phaseStabilizerBracket.py
      2 from carbonui import Align
      3 from carbonui.button.group import ButtonSizeMode, ButtonGroup
      4 from dynamicresources.client.ess.bracket.camera import InFlightCameraReference
      5 from eve.client.script.remote.michelle import GetMichelle
      6 from eve.client.script.ui.control.statefulButton import StatefulButton
      7 from eve.client.script.ui.inflight.bracketsAndTargets.expanded_bracket import ExpandedBracket
      8 from eve.client.script.ui.inflight.bracketsAndTargets.inSpaceBracket import InSpaceBracket
      9 import carbonui.const as uiconst
     10 from spacecomponents.client.ui.phaseStabilizer.connectBtnController import ConnectBtnController
     11 from spacecomponents.client.ui.phaseStabilizer.phaseStabilizerSpaceUiController import PhaseStabilizerSpaceUiController
     12 from spacecomponents.client.ui.rootTransformController import RootTransformController
     13 from carbonui.uiconst import PickState
     14 
     15 class PhaseStabilizerBracket(InSpaceBracket):
     16 
     17     def has_expanded_bracket(self):
     18         return True
     19 
     20     def show_expanded_bracket(self):
     21         if not self.expanded_bracket:
     22             self.expanded_bracket = ExpandedPhaseStabilizerBracket(parent=self.parent, item_id=self.itemID, bracket=self, idx=0, slimItem=self.slimItem)
     23         self.expanded_bracket.CreatePhaseStabilizerContoller(self)
     24 
     25     def update_attached_objects(self):
     26         if self.expanded_bracket:
     27             self.expanded_bracket.update_attached_objects()
     28         super(PhaseStabilizerBracket, self).update_attached_objects()
     29 
     30 
     31 class ExpandedPhaseStabilizerBracket(ExpandedBracket):
     32     showDistance = 0
     33 
     34     def __init__(self, item_id, bracket = None, **kwargs):
     35         self.phaseStabilizerUiController = None
     36         self._button = None
     37         super(ExpandedPhaseStabilizerBracket, self).__init__(item_id=item_id, bracket=bracket, **kwargs)
     38 
     39     def construct_labels(self):
     40         super(ExpandedPhaseStabilizerBracket, self).construct_labels()
     41         btnController = self._GetBtnController()
     42         self.button_group = ButtonGroup(parent=self.layout_grid, align=uiconst.TOTOP_NOPUSH, button_size_mode=ButtonSizeMode.STRETCH)
     43         self._button = StatefulButton(parent=self.button_group, align=uiconst.TOPLEFT, controller=btnController, enabled=False)
     44         if not btnController:
     45             self.button_group.Hide()
     46 
     47     def _GetBtnController(self):
     48         locationBtnController = ConnectBtnController(dockabeLocationID=None, solarSystemID=session.solarsystemid2, typeID=self.slim_item.typeID, itemID=self.slim_item.itemID)
     49         return locationBtnController
     50 
     51     def CreatePhaseStabilizerContoller(self, bracket):
     52         if self.phaseStabilizerUiController is None:
     53             ball = GetMichelle().GetBall(self.item_id)
     54             _scene_manager = sm.GetService('sceneManager')
     55             scene = _scene_manager.GetRegisteredScene('default')
     56             self._root = RootTransformController(ball=ball, scene=scene, name='fromBracket')
     57             _camera = InFlightCameraReference(_scene_manager)
     58             self.phaseStabilizerUiController = PhaseStabilizerSpaceUiController(item_id=self.item_id, type_id=self.slim_item.typeID, camera=_camera, root_transform=self._root.transform, offset_y=0, scale=1500, contentContainer=bracket)
     59 
     60     def update_attached_objects(self):
     61         if self._button:
     62             self._button.controller.UpdateStateIfNeeded()
     63 
     64     def Close(self, *args, **kw):
     65         super(ExpandedPhaseStabilizerBracket, self).Close()
     66         self._KillSpaceController()
     67         self._root = None
     68 
     69     def _KillSpaceController(self):
     70         if self.phaseStabilizerUiController:
     71             self.phaseStabilizerUiController.close()
     72             self.phaseStabilizerUiController = None