__init__.py (793B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\decorators\__init__.py 2 from behaviors import status 3 from behaviors.composites import Composite, NoSubTasksError 4 from ccpProfile import TimedFunction 5 6 class Decorator(Composite): 7 8 @TimedFunction('behaviors::decorators::Decorator::OnEnter') 9 def OnEnter(self): 10 if not self._subTasks: 11 raise NoSubTasksError() 12 if len(self._subTasks) > 1: 13 raise TooManySubTasksError() 14 self.SetStatusToSuspended() 15 self.behaviorTree.StartTask(self.GetDecoratedTask()) 16 17 def DoSubTaskCompleted(self, task): 18 self.status = task.status 19 20 def GetDecoratedTask(self): 21 return self._subTasks[0] 22 23 24 class TooManySubTasksError(Exception): 25 pass