void UpdateBehaviorTree() { if (rootNode == null) { rootNode = GetRootNode <BehaviorTreeNode>(); } if (navigator == null) { if (string.IsNullOrEmpty(navigatorPath)) { navigator = GetRootNode <INavAgent>(); } else { navigator = GetNode(navigatorPath) as INavAgent; } } if (rootNode != null) { rootNode.AssignChildNodes(); AssignBehaviorTreeOnChildren(rootNode); } else { GD.Print("The Behavior Tree '" + GetName() + "' needs a root BehaviorTreeNode!"); } }