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); }
public BehaviorTree CreateTree(IBehaviorTreeOwner owner, string path, Task parentTask = null) { var treeDesc = this.owner.LoadTree(path); return(CreateTree(owner, treeDesc, parentTask)); }
public BehaviorTree CreateTree(IBehaviorTreeOwner owner, BehaviorTreeDesc treeDesc, Task parentTask = null) { return(new BehaviorTree(this, owner, treeDesc, parentTask)); }