コード例 #1
0
        public static bool build_behavior_tree(BehaviorTree bt)
        {
            bt.SetClassNameString("BehaviorTree");
            bt.SetId(-1);
            bt.SetName("subtree_task");
            bt.IsFSM = false;
#if !BEHAVIAC_RELEASE
            bt.SetAgentType("FirstAgent");
#endif
            // locals
            bt.AddLocal("FirstAgent", "int", "_$local_task_param_$_0", "0");
            // children
            {
                Task_bt_subtree_task_node0 node0 = new Task_bt_subtree_task_node0();
                node0.SetClassNameString("Task");
                node0.SetId(0);
#if !BEHAVIAC_RELEASE
                node0.SetAgentType("FirstAgent");
#endif
                bt.AddChild(node0);
                {
                    Sequence node1 = new Sequence();
                    node1.SetClassNameString("Sequence");
                    node1.SetId(1);
#if !BEHAVIAC_RELEASE
                    node1.SetAgentType("FirstAgent");
#endif
                    node0.AddChild(node1);
                    {
                        Condition_bt_subtree_task_node2 node2 = new Condition_bt_subtree_task_node2();
                        node2.SetClassNameString("Condition");
                        node2.SetId(2);
#if !BEHAVIAC_RELEASE
                        node2.SetAgentType("FirstAgent");
#endif
                        node1.AddChild(node2);
                        node1.SetHasEvents(node1.HasEvents() | node2.HasEvents());
                    }
                    {
                        Action_bt_subtree_task_node3 node3 = new Action_bt_subtree_task_node3();
                        node3.SetClassNameString("Action");
                        node3.SetId(3);
#if !BEHAVIAC_RELEASE
                        node3.SetAgentType("FirstAgent");
#endif
                        node1.AddChild(node3);
                        node1.SetHasEvents(node1.HasEvents() | node3.HasEvents());
                    }
                    node0.SetHasEvents(node0.HasEvents() | node1.HasEvents());
                }
                bt.SetHasEvents(bt.HasEvents() | node0.HasEvents());
            }
            return(true);
        }