storage.py (1190B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\storage.py 2 import fsdlite 3 4 class BehaviorTree(object): 5 6 @staticmethod 7 def __new__(cls, *more): 8 obj = super(BehaviorTree, cls).__new__(cls, *more) 9 obj.name = None 10 obj.description = None 11 obj.root = None 12 return obj 13 14 def __setstate__(self, data): 15 for key, value in data.iteritems(): 16 if hasattr(self, key): 17 setattr(self, key, value) 18 19 20 MAPPING = () 21 22 def BehaviortreeStorage(): 23 try: 24 return BehaviortreeStorage._storage 25 except AttributeError: 26 BehaviortreeStorage._storage = CreateBehaviortreeStorage() 27 return BehaviortreeStorage._storage 28 29 30 def CreateBehaviortreeStorage(cache = 'behaviortrees.static'): 31 return fsdlite.EveStorage(data='behaviortrees', cache=cache, mapping=MAPPING, indexes=[], coerce=int) 32 33 34 def BehaviortreeStorageWithNoCache(): 35 try: 36 return BehaviortreeStorageWithNoCache._storage 37 except AttributeError: 38 BehaviortreeStorageWithNoCache._storage = CreateBehaviortreeStorage(cache=None) 39 return BehaviortreeStorageWithNoCache._storage