mapMarkerUtil.py (4357B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\markers\mapMarkerUtil.py 2 import evetypes 3 import inventorycommon.const as invconst 4 from eve.common.lib import appConst 5 from probescanning.const import probeResultInformative, probeResultGood 6 import dogma.const as dogmaConst 7 COLOR_RED = (1.0, 0.0, 0.0, 1.0) 8 COLOR_ORANGE = (0.9, 0.5, 0.0, 1.0) 9 COLOR_YELLOW = (1.0, 1.0, 0.1, 1.0) 10 COLOR_GREEN = (0.0, 0.8, 0.0, 1.0) 11 ICONS_BY_SCANGROUP = {dogmaConst.attributeScanGravimetricStrength: 'res:/UI/Texture/Shared/Brackets/ore_site_16.png', 12 dogmaConst.attributeScanLadarStrength: 'res:/UI/Texture/Shared/Brackets/harvestableCloud.png', 13 dogmaConst.attributeScanMagnetometricStrength: 'res:/UI/Texture/Shared/Brackets/relic_site_16.png', 14 dogmaConst.attributeScanRadarStrength: 'res:/UI/Texture/Shared/Brackets/data_site_16.png', 15 dogmaConst.attributeScanWormholeStrength: 'res:/UI/Texture/Shared/Brackets/wormhole.png', 16 dogmaConst.attributeScanAllStrength: 'res:/UI/Texture/Shared/Brackets/combatSite_16.png'} 17 18 def GetSiteBracketIcon(archetypeID): 19 if archetypeID in (appConst.dunArchetypeOreAnomaly, appConst.dunArchetypeIceBelt): 20 return 'res:/UI/Texture/Shared/Brackets/ore_site_16.png' 21 elif archetypeID == appConst.dunArchetypeGasClouds: 22 return ('res:/UI/Texture/Shared/Brackets/harvestableCloud.png',) 23 elif archetypeID in (appConst.dunArchetypeRelicSites, appConst.dunArchetypeSitesOfInterest): 24 return 'res:/UI/Texture/Shared/Brackets/relic_site_16.png' 25 elif archetypeID in (appConst.dunArchetypeDataSites, appConst.dunArchetypeCombatHacking): 26 return 'res:/UI/Texture/Shared/Brackets/data_site_16.png' 27 elif archetypeID in (appConst.dunArchetypeCombatSites, 28 appConst.dunArchetypeDrifterSites, 29 appConst.dunArchetypeGhostSites, 30 appConst.dunArchetypeEventSites, 31 appConst.dunArchetypeHomefrontSites): 32 return 'res:/UI/Texture/Shared/Brackets/combatSite_16.png' 33 elif archetypeID == appConst.dunArchetypeWormhole: 34 return 'res:/UI/Texture/Shared/Brackets/wormhole.png' 35 else: 36 return 'res:/UI/Texture/classes/MapView/scanResultLocation.png' 37 38 39 def GetResultTexturePath(resultData): 40 if isinstance(resultData.data, float) or not isinstance(resultData.data, (tuple, list)): 41 return 'res:/UI/Texture/classes/MapView/scanResultLocation.png' 42 elif resultData.strengthAttributeID and resultData.strengthAttributeID in ICONS_BY_SCANGROUP: 43 return ICONS_BY_SCANGROUP[resultData.strengthAttributeID] 44 else: 45 typeID, groupID, categoryID = GetTypeGroupCategoryID(resultData) 46 return GetIconByCertainty(typeID, groupID, categoryID, resultData.certainty) 47 48 49 def GetTypeGroupCategoryID(resultData): 50 if resultData.certainty >= probeResultInformative: 51 typeID = resultData.Get('typeID', None) 52 groupID = resultData.groupID 53 categoryID = None 54 elif resultData.certainty >= probeResultGood: 55 typeID = None 56 groupID = resultData.Get('groupID', None) 57 categoryID = evetypes.GetCategoryIDByGroup(groupID) 58 else: 59 typeID = None 60 groupID = None 61 categoryID = None 62 return (typeID, groupID, categoryID) 63 64 65 def GetIconByCertainty(typeID, groupID, categoryID, certainty): 66 if groupID in (invconst.groupCosmicAnomaly, invconst.groupCosmicSignature): 67 bracketData = sm.GetService('bracket').GetBracketDataByGroupID(invconst.groupBeacon) 68 elif categoryID == const.categoryShip and groupID is None: 69 bracketData = sm.GetService('bracket').GetBracketDataByGroupID(invconst.groupFrigate) 70 elif typeID: 71 bracketIconPath = sm.GetService('bracket').GetBracketIcon(typeID) 72 if bracketIconPath: 73 return bracketIconPath 74 elif groupID: 75 bracketData = sm.GetService('bracket').GetBracketDataByGroupID(groupID) 76 else: 77 bracketData = None 78 if bracketData: 79 texturePath = bracketData.texturePath 80 else: 81 texturePath = 'res:/UI/Texture/Shared/Brackets/planet.png' 82 return texturePath 83 84 85 def GetResultColor(certainty): 86 if certainty is None or certainty <= 0.25: 87 return COLOR_RED 88 elif 0.25 < certainty <= 0.75: 89 return COLOR_ORANGE 90 elif 0.75 < certainty < 1.0: 91 return COLOR_YELLOW 92 else: 93 return COLOR_GREEN