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

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')