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)