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

__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