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

fittingTooltipUtils.py (7003B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\station\fitting\fittingTooltipUtils.py
      2 from carbon.common.script.util.logUtil import LogError
      3 from eve.client.script.ui.shared.fittingScreen import BROWSE_MODULES, BROWSE_CHARGES, TAB_CONFIGNAME_SKINS, TAB_CONFIGNAME_BROWSER, TAB_CONFIGNAME_STATS, BROWSE_FITTINGS, TAB_CONFIGNAME_INVENTORY
      4 from eve.client.script.ui.tooltips.tooltipUtil import SetTooltipHeaderAndDescription, SetTooltipDescription
      5 import localization
      6 tooltipLabelPathDict = {'ActiveDefenses': ('Tooltips/FittingWindow/ActiveDefenses', 'Tooltips/FittingWindow/ActiveDefenses_description'),
      7  'BrowseSavedFittings': ('Tooltips/FittingWindow/BrowseSavedFittings', None),
      8  'Calibration': ('Tooltips/FittingWindow/Calibration', 'Tooltips/FittingWindow/Calibration_description'),
      9  'CargoHold': ('Tooltips/FittingWindow/CargoHold', 'Tooltips/FittingWindow/CargoHold_description'),
     10  'CollapseSidePane': ('Tooltips/FittingWindow/CollapseSidePane', None),
     11  'ExpandSidePane': ('Tooltips/FittingWindow/ExpandSidePane', None),
     12  'CPU': ('Tooltips/FittingWindow/CPU', 'Tooltips/FittingWindow/CPU_description'),
     13  'DamagePerSecond': ('Tooltips/FittingWindow/DamagePerSecond', 'Tooltips/FittingWindow/DamagePerSecond_description'),
     14  'DroneBay': ('Tooltips/FittingWindow/DroneBay', 'Tooltips/FittingWindow/DroneBay_description'),
     15  'DroneBayStructure': ('Tooltips/FittingWindow/DroneBay', None),
     16  'FighterBay': ('Tooltips/FittingWindow/FighterBay', 'Tooltips/FittingWindow/FighterBay_description'),
     17  'FighterBayStructure': ('Tooltips/FittingWindow/FighterBay', 'Tooltips/FittingWindow/FighterBayStructure_description'),
     18  'StructureAmmoHold': ('Tooltips/FittingWindow/StructureAmmoHold', 'Tooltips/FittingWindow/StructureAmmoHold_description'),
     19  'EffectiveHitPoints': ('Tooltips/FittingWindow/EffectiveHitPoints', 'Tooltips/FittingWindow/EffectiveHitPoints_description'),
     20  'InertiaModifier': ('Tooltips/FittingWindow/InertiaModifier', 'Tooltips/FittingWindow/InertiaModifier_description'),
     21  'LauncherHardPointBubbles': ('Tooltips/FittingWindow/LauncherHardPointBubbles', 'Tooltips/FittingWindow/LauncherHardPointBubbles_description'),
     22  'LauncherIcon': ('Tooltips/FittingWindow/LauncherIcon', None),
     23  'MaximumVelocity': ('Tooltips/FittingWindow/MaximumVelocity', 'Tooltips/FittingWindow/MaximumVelocity_description'),
     24  'MaxLockedTargets': ('Tooltips/FittingWindow/MaxLockedTargets', 'Tooltips/FittingWindow/MaxLockedTargets_description'),
     25  'MaxTargetingRange': ('Tooltips/FittingWindow/MaxTargetingRange', 'Tooltips/FittingWindow/MaxTargetingRange_description'),
     26  'PowerGrid': ('Tooltips/FittingWindow/PowerGrid', 'Tooltips/FittingWindow/PowerGrid_description'),
     27  'SaveFitting': ('', 'Tooltips/FittingWindow/SaveFitting'),
     28  'ScanResolution': ('Tooltips/FittingWindow/ScanResolution', 'Tooltips/FittingWindow/ScanResolution_description'),
     29  'SensorStrength': ('Tooltips/FittingWindow/SensorStrength', 'Tooltips/FittingWindow/SensorStrength_description'),
     30  'SignatureRadius': ('Tooltips/FittingWindow/SignatureRadius', 'Tooltips/FittingWindow/SignatureRadius_description'),
     31  'StripFitting': ('Tooltips/FittingWindow/StripFitting', None),
     32  'TurretHardPointBubbles': ('Tooltips/FittingWindow/TurretHardPointBubbles', 'Tooltips/FittingWindow/TurretHardPointBubbles_description'),
     33  'TurretIcon': ('Tooltips/FittingWindow/TurretIcon', None),
     34  'EmptyHighSlot': ('Tooltips/FittingWindow/EmptyHighSlot', None),
     35  'EmptyMidSlot': ('Tooltips/FittingWindow/EmptyMidSlot', None),
     36  'EmptyLowSlot': ('Tooltips/FittingWindow/EmptyLowSlot', None),
     37  'ResistanceHeaderEM': ('Tooltips/FittingWindow/ResistanceHeaderEM', 'Tooltips/FittingWindow/ResistanceHeaderEM_description'),
     38  'ResistanceHeaderThermal': ('Tooltips/FittingWindow/ResistanceHeaderThermal', 'Tooltips/FittingWindow/ResistanceHeaderThermal_description'),
     39  'ResistanceHeaderExplosive': ('Tooltips/FittingWindow/ResistanceHeaderExplosive', 'Tooltips/FittingWindow/ResistanceHeaderExplosive_description'),
     40  'ResistanceHeaderKinetic': ('Tooltips/FittingWindow/ResistanceHeaderKinetic', 'Tooltips/FittingWindow/ResistanceHeaderKinetic_description'),
     41  'DamagePerSecondTurrets': ('Tooltips/FittingWindow/DamagePerSecondTurrets', 'Tooltips/FittingWindow/DamagePerSecondTurrets_description'),
     42  'DamagePerSecondDrones': ('Tooltips/FittingWindow/DamagePerSecondDrones', 'Tooltips/FittingWindow/DamagePerSecondDrones_description'),
     43  'DamagePerSecondMissiles': ('Tooltips/FittingWindow/DamagePerSecondMissiles', 'Tooltips/FittingWindow/DamagePerSecondMissiles_description'),
     44  'AlpaStrike': ('Tooltips/FittingWindow/AlphaStrike', 'Tooltips/FittingWindow/AlphaStrike_description'),
     45  'AlignTime': ('Tooltips/FittingWindow/AlignTime', 'Tooltips/FittingWindow/AlignTime_description'),
     46  'FuelUsage': ('Tooltips/FittingWindow/FuelUsage', 'Tooltips/FittingWindow/FuelUsage_description'),
     47  'DroneDps': ('Tooltips/FittingWindow/DamagePerSecondDrones', 'Tooltips/FittingWindow/DamagePerSecondDrones_description'),
     48  'DroneBandwidth': ('Tooltips/FittingWindow/DroneBandwidth', 'Tooltips/FittingWindow/DroneBandwidth_description'),
     49  'DroneControlRange': ('Tooltips/FittingWindow/DroneControlRange', 'Tooltips/FittingWindow/DroneControlRange_description'),
     50  'FitShip': ('', 'Tooltips/FittingWindow/FitShip_description'),
     51  'BuildFitShip': ('', 'Tooltips/FittingWindow/BuildFitShip_description'),
     52  TAB_CONFIGNAME_SKINS: ('Tooltips/FittingWindow/SkinTab', 'Tooltips/FittingWindow/SkinTab_description'),
     53  TAB_CONFIGNAME_BROWSER: ('Tooltips/FittingWindow/BrowserTab', 'Tooltips/FittingWindow/BrowserTab_description'),
     54  TAB_CONFIGNAME_INVENTORY: ('Tooltips/FittingWindow/InvTab', 'Tooltips/FittingWindow/InvTab_description'),
     55  TAB_CONFIGNAME_STATS: ('Tooltips/FittingWindow/AttributesTab', 'Tooltips/FittingWindow/AttributesTab_description'),
     56  '%s_btn' % BROWSE_FITTINGS: ('', 'Tooltips/FittingWindow/ShipFitTab_description'),
     57  '%s_btn' % BROWSE_MODULES: ('', 'Tooltips/FittingWindow/ModulesTab_description'),
     58  '%s_btn' % BROWSE_CHARGES: ('', 'Tooltips/FittingWindow/ChargesTab_description')}
     59 
     60 def SetFittingTooltipInfo(targetObject, tooltipName, includeDesc = True, extraHeader = None):
     61     labelPaths = GetTooltipPathFromTooltipName(tooltipName)
     62     if not labelPaths:
     63         LogError('no valid labelpath for tooltipName=', tooltipName)
     64         return
     65     headerLabelPath, descriptionLabelPath = labelPaths
     66     if includeDesc and descriptionLabelPath:
     67         descriptionText = localization.GetByLabel(descriptionLabelPath)
     68     else:
     69         descriptionText = ''
     70     if headerLabelPath:
     71         headerText = localization.GetByLabel(headerLabelPath)
     72         if extraHeader:
     73             headerText = '%s<br>%s' % (headerText, extraHeader)
     74         return SetTooltipHeaderAndDescription(targetObject, headerText, descriptionText)
     75     if descriptionText:
     76         return SetTooltipDescription(targetObject, descriptionText)
     77 
     78 
     79 def GetTooltipPathFromTooltipName(tooltipName):
     80     labelPaths = tooltipLabelPathDict.get(tooltipName, None)
     81     return labelPaths