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