33 class base_candidate_action;
A config object defines a single node in a WML file, with access to child nodes.
Container associating units to locations.
attack_candidate_action(const std::string &name, const std::string &type, const config &cfg, function_symbol_table *function_table)
virtual void evaluate(ai::formula_ai *ai, unit_map &units)
virtual void update_callable_map(map_formula_callable &callable)
const std::string & get_name() const
const_formula_ptr action_
virtual void update_callable_map(map_formula_callable &)
virtual void evaluate(ai::formula_ai *, unit_map &)
const_formula_ptr & get_action()
int execute_formula(const const_formula_ptr &formula, const formula_callable &callable, const ai::formula_ai *ai)
const std::string & get_type() const
base_candidate_action(const std::string &name, const std::string &type, const config &cfg, function_symbol_table *function_table)
virtual ~base_candidate_action()
variant do_filtering(ai::formula_ai *ai, variant &input, const_formula_ptr formula)
candidate_action_with_filters(const std::string &name, const std::string &type, const config &cfg, function_symbol_table *function_table)
candidate_action_filters filter_map_
move_candidate_action(const std::string &name, const std::string &type, const config &cfg, function_symbol_table *function_table)
virtual void update_callable_map(map_formula_callable &callable)
virtual void evaluate(ai::formula_ai *ai, unit_map &units)
A small explanation about what's going on here: Each action has access to two game_info objects First...
std::shared_ptr< const formula > const_formula_ptr
std::shared_ptr< base_candidate_action > candidate_action_ptr
std::map< std::string, const_formula_ptr > candidate_action_filters