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)