예제 #1
0
        internal BehaviorTree(BehaviorTreeManager treeManager, IBehaviorTreeOwner owner, BehaviorTreeDesc description, Task parentTask)
        {
            this.treeManager = treeManager;
            this.owner       = owner;
            this.parentTask  = parentTask;

            eventBus      = new EventBus(this);
            timerManager  = new TimerManager(this);
            taskScheduler = new TaskScheduler(this);

            rootTask = treeManager.CreateTask(this, description, parentTask, description.RootTaskId);
        }
예제 #2
0
        public BehaviorTree CreateTree(IBehaviorTreeOwner owner, string path, Task parentTask = null)
        {
            var treeDesc = this.owner.LoadTree(path);

            return(CreateTree(owner, treeDesc, parentTask));
        }
예제 #3
0
 public BehaviorTree CreateTree(IBehaviorTreeOwner owner, BehaviorTreeDesc treeDesc, Task parentTask = null)
 {
     return(new BehaviorTree(this, owner, treeDesc, parentTask));
 }