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

stanceSlot.py (1856B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\station\fitting\stanceSlot.py
      2 import eve.client.script.ui.inflight.ship_stance_button
      3 from carbonui.primitives.container import Container
      4 import carbonui.const as uiconst
      5 from eve.client.script.ui.inflight.ship_stance_button import ShipStanceFittingButton
      6 
      7 class StanceSlots(Container):
      8 
      9     def __init__(self, **kw):
     10         super(StanceSlots, self).__init__(**kw)
     11 
     12     def _GetAngles(self):
     13         return [ 258 - i * 10 for i in xrange(3) ]
     14 
     15     def ApplyAttributes(self, attributes):
     16         Container.ApplyAttributes(self, attributes)
     17         self.controller = attributes.controller
     18         typeID = attributes.typeID
     19         if typeID is None:
     20             typeID = sm.GetService('invCache').GetInventoryFromId(attributes.shipID).GetItem().typeID
     21         self.shipstances = []
     22         for angle in self._GetAngles():
     23             pos = attributes.angleToPos(angle)
     24             newPos = (pos[0],
     25              pos[1],
     26              32,
     27              32)
     28             self.shipstances.append(ShipStanceFittingButton(shipID=attributes.shipID, typeID=typeID, parent=self, pos=newPos, align=uiconst.TOPLEFT, controller=self.controller))
     29 
     30     def ShowStances(self, shipID, typeID):
     31         btnControllerClass = self.controller.GetStanceBtnControllerClass()
     32         if btnControllerClass is None:
     33             return
     34         shipStanceButtonsArgs = btnControllerClass().get_ship_stance_buttons_args(typeID, shipID)
     35         for idx, kwargs in enumerate(shipStanceButtonsArgs):
     36             stanceButton = self.shipstances[idx]
     37             stanceButton.SetAsStance(shipID, typeID, kwargs['stanceID'], kwargs['stance'])
     38 
     39     def GetStanceContainers(self):
     40         return self.shipstances
     41 
     42     def Close(self):
     43         self.controller = None
     44         Container.Close(self)