shipSlot.py (1656B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\shipHud\shipSlot.py 2 import telemetry 3 from carbonui import uiconst 4 from carbonui.primitives.container import Container 5 from carbonui.primitives.sprite import Sprite 6 from carbonui.uicore import uicore 7 from inventorycommon.util import IsFittingModule 8 9 class ShipSlot(Container): 10 default_pickRadius = 24 11 12 def OnDropData(self, dragObj, nodes): 13 flag1 = self.sr.slotFlag 14 for node in nodes: 15 decoClass = node.Get('__guid__', None) 16 if decoClass == 'xtriui.ShipUIModule': 17 flag2 = node.slotFlag 18 if flag2 is not None: 19 uicore.layer.shipui.SwapSlots(flag1, node.slotFlag) 20 break 21 elif decoClass in ('xtriui.InvItem', 'listentry.InvItem'): 22 item = node.rec 23 if item.flagID == const.flagCargo and IsFittingModule(item.categoryID): 24 sm.GetService('invCache').GetInventoryFromId(session.shipid).Add(item.itemID, item.locationID, qty=None, flag=flag1) 25 break 26 27 @telemetry.ZONE_METHOD 28 def ApplyAttributes(self, attributes): 29 Container.ApplyAttributes(self, attributes) 30 overloadBtn = Sprite(parent=self, name='overloadBtn', pos=(16, 6, 32, 16), align=uiconst.TOPLEFT, state=uiconst.UI_NORMAL, texturePath='res:/UI/Texture/classes/ShipUI/slotOverloadDisabled.png') 31 self.mainShape = Sprite(parent=self, name='mainshape', pos=(0, 0, 0, 0), align=uiconst.TOALL, state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/ShipUI/slotMainCombined.png')