36 namespace ai {
class lua_ai_action_handler; }
37 namespace ai {
class lua_ai_context; }
38 namespace ai {
struct target; }
48 virtual void add_targets(std::back_insert_iterator< std::vector< target >> target_list);
53 virtual void on_create(std::shared_ptr<ai::lua_ai_context>);
58 virtual std::string
get_id()
const;
59 virtual std::string
get_name()
const;
75 virtual void add_targets(std::back_insert_iterator< std::vector< target >> target_list);
91 virtual void add_targets(std::back_insert_iterator< std::vector< target >> target_list);
108 virtual void add_targets(std::back_insert_iterator< std::vector< target >> target_list);
144 virtual void add_targets(std::back_insert_iterator< std::vector< target >> target_list);
145 void on_create(std::shared_ptr<ai::lua_ai_context>);
153 bool is_duplicate(
const std::string &name);
160 static factory_map *goal_factories;
161 if (goal_factories==
nullptr) {
162 goal_factories =
new factory_map;
164 return *goal_factories;
171 if (is_duplicate(name)) {
174 factory_ptr ptr_to_this(
this);
175 get_list().emplace(name,ptr_to_this);
190 goal_ptr a = std::make_shared<GOAL>(context, cfg);
virtual void add_targets(std::back_insert_iterator< std::vector< target >> target_list)
protect_location_goal(readonly_context &context, const config &cfg)
virtual std::string get_id() const
static factory_map & get_list()
goal(readonly_context &context, const config &cfg)
goal_factory(const std::string &name)
std::shared_ptr< lua_ai_action_handler > handler_
std::map< std::string, factory_ptr > factory_map
Definitions for the interface to Wesnoth Markup Language (WML).
virtual goal_ptr get_new_instance(readonly_context &context, const config &cfg)
std::shared_ptr< terrain_filter > filter_ptr_
A small explanation about what's going on here: Each action has access to two game_info objects First...
virtual std::string get_engine() const
register_goal_factory(const std::string &name)
std::shared_ptr< goal > goal_ptr
A component of the AI framework.
protect_unit_goal(readonly_context &context, const config &cfg)
bool redeploy(const config &cfg)
Game information for the AI.
std::shared_ptr< terrain_filter > filter_ptr_
std::pair< const std::string, factory_ptr > factory_map_pair
A config object defines a single node in a WML file, with access to child nodes.
virtual std::string get_name() const
virtual config to_config() const
std::shared_ptr< goal_factory > factory_ptr