public void Initialize(BehaviourTreeComponent behaviourTreeComponent) { this.BehaviourTreeComponent = behaviourTreeComponent; List <ExposedProperty> expProps = new List <ExposedProperty>(); foreach (Node node in nodes) { node.Initialize(this); if (node is RootTask r) { rootTask = r; } else if (node is ExposedProperty e) { expProps.Add(e); } } exposedProperties = (Lookup <string, ExposedProperty>)expProps.ToLookup(p => p.name); foreach (Node node in nodes) { node.InitializePorts(); } Reset(); foreach (Node node in nodes) { node.Awake(); } }
public void DrawGizmos(BehaviourTreeComponent treeComponent) { BehaviourTreeComponent = treeComponent; foreach (var node in nodes) { node.OnDrawGizmos(this); } }