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

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