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

slotControllerGhostFittingExtension.py (1229B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\fittingScreen\slotControllerGhostFittingExtension.py
      2 import carbonui.const as uiconst
      3 from carbonui.uicore import uicore
      4 
      5 def FitCharges(flagID, chargeItems):
      6     chargeTypeID = chargeItems[0].typeID
      7     ghostFittingSvc = sm.GetService('ghostFittingSvc')
      8     chargeItem = ghostFittingSvc.FitAmmoToLocation(flagID, chargeTypeID)
      9     if chargeItem:
     10         _TryUnfitChargeFromOldLocation(chargeItems)
     11     ghostFittingSvc.SendFittingSlotsChangedEvent()
     12 
     13 
     14 def _TryUnfitChargeFromOldLocation(chargeItems):
     15     if len(chargeItems) != 1:
     16         return
     17     item = chargeItems[0]
     18     itemID = getattr(item, 'itemID', None)
     19     wasFitted = getattr(item, 'isFitted', False)
     20     if wasFitted and itemID and not uicore.uilib.Key(uiconst.VK_SHIFT):
     21         sm.GetService('ghostFittingSvc').UnfitModule(itemID)
     22 
     23 
     24 def UnfitFromSlot(charge, module):
     25     itemID = None
     26     if charge:
     27         itemID = charge.itemID
     28     elif module:
     29         itemID = module.itemID
     30     if itemID:
     31         _UnfitModuleOrAmmo(itemID)
     32 
     33 
     34 def _UnfitModuleOrAmmo(itemID):
     35     ghostFittingSvc = sm.GetService('ghostFittingSvc')
     36     ghostFittingSvc.UnfitModule(itemID)