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

podGuideUtil.py (1855B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\podGuide\podGuideUtil.py
      2 from collections import OrderedDict, defaultdict
      3 import fsd.schemas.binaryLoader as fsdBinaryLoader
      4 
      5 def GetTerms():
      6     groupDict = defaultdict(set)
      7     fsdData = GetFSDInfoForTerms()
      8     for eachTermID, eachTerm in fsdData.iteritems():
      9         groupDict[eachTerm.groupID].add(eachTerm)
     10 
     11     return groupDict
     12 
     13 
     14 def GetTermByID(termID):
     15     allTerms = GetFSDInfoForTerms()
     16     return allTerms.Get(termID)
     17 
     18 
     19 def GetTermShortText(termID):
     20     term = GetTermByID(termID)
     21     return term.shortTextID
     22 
     23 
     24 def GetFSDInfoForTerms():
     25     data = fsdBinaryLoader.LoadFSDDataForCFG('res:/staticdata/podGuide.static')
     26     return data
     27 
     28 
     29 def GetFSDInfoForGroups():
     30     data = fsdBinaryLoader.LoadFSDDataForCFG('res:/staticdata/podGuideGroups.static')
     31     return data
     32 
     33 
     34 def GetGroupNames(groupKey):
     35     groupsInfo = GetFSDInfoForGroups()
     36     groupNameID = groupsInfo.Get(groupKey).groupName
     37     return groupNameID
     38 
     39 
     40 def GetCategories():
     41     groupsByCategory = defaultdict(set)
     42     allGroupsInfo = GetFSDInfoForGroups()
     43     for groupID, groupInfo in allGroupsInfo.iteritems():
     44         if groupInfo.groupType == 'group':
     45             groupsByCategory[groupInfo.belongsToGroup].add(groupInfo)
     46 
     47     categoryInfo = defaultdict(dict)
     48     for groupID, groupInfo in allGroupsInfo.iteritems():
     49         if groupInfo.groupType == 'category':
     50             categoryInfo[groupID]['categoryInfo'] = groupInfo
     51             categoryInfo[groupID]['subgroups'] = groupsByCategory.get(groupID, [])
     52 
     53     return categoryInfo
     54 
     55 
     56 def OpenPodGuide(termID = None):
     57     from eve.client.script.ui.podGuide.podGuideUI import PodGuideWindow
     58     wnd = PodGuideWindow.GetIfOpen()
     59     if wnd:
     60         wnd.LoadPanelByID(termID=termID)
     61     else:
     62         PodGuideWindow.Open(termID=termID)