Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
 public void DrawGizmos(BehaviourTreeComponent treeComponent)
 {
     BehaviourTreeComponent = treeComponent;
     foreach (var node in nodes)
     {
         node.OnDrawGizmos(this);
     }
 }