MCPcopy Create free account
hub / github.com/BehaviorTree/BehaviorTree.CPP / main

Function main

examples/t07_load_multiple_xml.cpp:46–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44using namespace BT;
45
46int main()
47{
48 BT::BehaviorTreeFactory factory;
49 factory.registerNodeType<DummyNodes::SaySomething>("SaySomething");
50
51 // Register the behavior tree definitions, but do not instantiate them yet.
52 // Order is not important.
53 factory.registerBehaviorTreeFromText(xml_text_subA);
54 factory.registerBehaviorTreeFromText(xml_text_subB);
55 factory.registerBehaviorTreeFromText(xml_text_main);
56
57 //Check that the BTs have been registered correctly
58 std::cout << "Registered BehaviorTrees:" << std::endl;
59 for(const std::string& bt_name : factory.registeredBehaviorTrees())
60 {
61 std::cout << " - " << bt_name << std::endl;
62 }
63
64 // You can create the MainTree and the subtrees will be added automatically.
65 std::cout << "----- MainTree tick ----" << std::endl;
66 auto main_tree = factory.createTree("MainTree");
67 main_tree.tickWhileRunning();
68
69 // ... or you can create only one of the subtree
70 std::cout << "----- SubA tick ----" << std::endl;
71 auto subA_tree = factory.createTree("SubA");
72 subA_tree.tickWhileRunning();
73
74 return 0;
75}
76/* Expected output:
77
78Registered BehaviorTrees:

Callers

nothing calls this directly

Calls 4

createTreeMethod · 0.80
tickWhileRunningMethod · 0.80

Tested by

no test coverage detected