57 virtual std::string
get_id()
const = 0;
static bool delete_component(component *root, const std::string &path)
static component * get_component(component *root, const std::string &path)
static bool change_component(component *root, const std::string &path, const config &cfg)
static bool add_component(component *root, const std::string &path, const config &cfg)
static std::string print_component_tree(component *root, const std::string &path)
virtual bool delete_child(const path_element &child)
virtual std::string get_engine() const =0
virtual bool change_child(const path_element &child, const config &cfg)
virtual component * get_child(const path_element &child)
virtual std::string get_name() const =0
virtual bool add_child(const path_element &child, const config &cfg)
virtual std::vector< component * > get_children(const std::string &type)
virtual std::string get_id() const =0
property_handler_map & property_handlers()
virtual std::vector< std::string > get_children_types()
property_handler_map property_handlers_
A config object defines a single node in a WML file, with access to child nodes.
std::ostream & operator<<(std::ostream &o, const ai::path_element &e)
A small explanation about what's going on here: Each action has access to two game_info objects First...
std::shared_ptr< base_property_handler > property_handler_ptr
std::map< std::string, property_handler_ptr > property_handler_map