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

data.py (1753B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\evedungeons\client\data.py
      2 from fsdBuiltData.common.base import BuiltDataLoader
      3 try:
      4     import dungeonsLoader
      5 except ImportError:
      6     dungeonsLoader = None
      7 
      8 try:
      9     import dungeonObjectivesLoader
     10 except ImportError:
     11     dungeonObjectivesLoader = None
     12 
     13 class DungeonsLoader(BuiltDataLoader):
     14     __resBuiltFile__ = 'res:/staticdata/dungeons.fsdbinary'
     15     __clientAutobuildBuiltFile__ = 'eve/autobuild/staticdata/client/dungeons.fsdbinary'
     16     __loader__ = dungeonsLoader
     17 
     18 
     19 class DungeonObjectivesLoader(BuiltDataLoader):
     20     __resBuiltFile__ = 'res:/staticdata/dungeonObjectives.fsdbinary'
     21     __serverAutobuildBuiltFile__ = 'eve/autobuild/staticData/client/dungeonObjectives.fsdbinary'
     22     __loader__ = dungeonObjectivesLoader
     23 
     24 
     25 def GetDungeons():
     26     return DungeonsLoader.GetData()
     27 
     28 
     29 def GetDungeon(dungeonID):
     30     return GetDungeons().get(int(dungeonID), None)
     31 
     32 
     33 def GetAssetManipulations(dungeonID, objectID):
     34     dungeon = GetDungeon(dungeonID)
     35     for room in dungeon.rooms.values():
     36         obj = room.objects.get(objectID)
     37         if obj is not None:
     38             return getattr(obj, 'assetManipulations', {})
     39 
     40     return {}
     41 
     42 
     43 def GetControllerReadyData(manipulationData):
     44     if not isinstance(manipulationData, float) and not isinstance(manipulationData, str):
     45         manipulationData = float(manipulationData)
     46     return manipulationData
     47 
     48 
     49 def GetDungeonObjectivesData(dungeonID):
     50     dungeon = GetDungeon(dungeonID)
     51     if not dungeon or not dungeon.objectivesID:
     52         return
     53     allData = DungeonObjectivesLoader.GetData()
     54     data = allData.get(dungeon.objectivesID, None)
     55     if data:
     56         return data.clientObjectives
     57     else:
     58         return