void AI_Manager::init() { Xml xml; const Json::Value &server_misc = SERVER_CONFIG->server_misc(); xml.load_xml(server_misc["ai_behavior_path"].asString().c_str()); TiXmlNode *node = xml.get_root_node(); XML_LOOP_BEGIN(node) std::string label = xml.get_key(node); int monster_id = xml.get_attr_int(node, "id"); Behavior_Tree *tree = new Behavior_Tree(monster_id); tree->init(xml, xml.enter_node(node, label.c_str())); behavior_tree_map_[tree->monster_id()] = tree; XML_LOOP_END(node) }