The Battle for Wesnoth  1.19.7+dev
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
ai::ai_composite Class Reference

#include <ai.hpp>

Inheritance diagram for ai::ai_composite:

Public Member Functions

 ai_composite (default_ai_context &context, const config &cfg)
 Constructor. More...
 
virtual ~ai_composite ()
 Destructor. More...
 
void play_turn ()
 Play the turn. More...
 
virtual std::string evaluate (const std::string &str)
 Evaluate command (using fai) More...
 
virtual void new_turn ()
 On new turn. More...
 
std::string describe_self () const
 
virtual config to_config () const
 serialize More...
 
int get_recursion_count () const
 Get the value of the recursion counter. More...
 
void switch_side (side_number side)
 
virtual bool add_goal (const config &cfg)
 
virtual bool add_stage (const config &cfg)
 
void create_stage (std::vector< stage_ptr > &stages, const config &cfg)
 
void create_goal (std::vector< goal_ptr > &goals, const config &cfg)
 
void create_engine (std::vector< engine_ptr > &engines, const config &cfg)
 
void replace_aspect (std::map< std::string, aspect_ptr > &aspects, const config &cfg, const std::string &id)
 
void on_create ()
 
virtual ai_contextget_ai_context ()
 unwrap More...
 
virtual std::string get_id () const
 
virtual std::string get_name () const
 
virtual std::string get_engine () const
 
- Public Member Functions inherited from ai::default_ai_context
 default_ai_context ()
 Constructor. More...
 
virtual ~default_ai_context ()
 Destructor. More...
 
- Public Member Functions inherited from ai::readwrite_context
 readwrite_context ()
 
virtual ~readwrite_context ()
 
- Public Member Functions inherited from ai::readonly_context
 readonly_context ()
 
virtual ~readonly_context ()
 
- Public Member Functions inherited from ai::side_context
virtual ~side_context ()
 empty destructor More...
 
 side_context ()
 empty constructor More...
 
- Public Member Functions inherited from ai::default_ai_context_proxy
int count_free_hexes_in_castle (const map_location &loc, std::set< map_location > &checked_hexes)
 
 default_ai_context_proxy ()
 
virtual ~default_ai_context_proxy ()
 
virtual const std::vector< target > & additional_targets () const
 
virtual void add_target (const target &t) const
 
virtual void clear_additional_targets () const
 
virtual default_ai_contextget_default_ai_context ()
 
virtual std::vector< targetfind_targets (const move_map &enemy_dstsrc)
 
void init_default_ai_context_proxy (default_ai_context &target)
 
virtual int rate_terrain (const unit &u, const map_location &loc) const
 
virtual config to_default_ai_context_config () const
 
- Public Member Functions inherited from ai::readwrite_context_proxy
 readwrite_context_proxy ()
 
void init_readwrite_context_proxy (readwrite_context &target)
 
virtual readwrite_contextget_readwrite_context () override
 
virtual attack_result_ptr execute_attack_action (const map_location &attacker_loc, const map_location &defender_loc, int attacker_weapon) override
 
virtual move_result_ptr execute_move_action (const map_location &from, const map_location &to, bool remove_movement=true, bool unreach_is_ok=false) override
 
virtual recall_result_ptr execute_recall_action (const std::string &id, const map_location &where=map_location::null_location(), const map_location &from=map_location::null_location()) override
 
virtual recruit_result_ptr execute_recruit_action (const std::string &unit_name, const map_location &where=map_location::null_location(), const map_location &from=map_location::null_location()) override
 
virtual stopunit_result_ptr execute_stopunit_action (const map_location &unit_location, bool remove_movement=true, bool remove_attacks=false) override
 
virtual synced_command_result_ptr execute_synced_command_action (const std::string &lua_code, const map_location &location=map_location::null_location()) override
 
virtual teamcurrent_team_w () override
 
virtual void raise_gamestate_changed () const override
 
virtual game_infoget_info_w () override
 
virtual config to_readwrite_context_config () const override
 serialize this context to config More...
 
- Public Member Functions inherited from ai::readonly_context_proxy
 readonly_context_proxy ()
 
virtual ~readonly_context_proxy ()
 
void init_readonly_context_proxy (readonly_context &target)
 
virtual readonly_contextget_readonly_context () override
 
virtual void on_readonly_context_create () override
 
virtual const teamcurrent_team () const override
 
virtual void diagnostic (const std::string &msg) override
 
virtual void log_message (const std::string &msg) override
 
virtual attack_result_ptr check_attack_action (const map_location &attacker_loc, const map_location &defender_loc, int attacker_weapon) override
 
virtual move_result_ptr check_move_action (const map_location &from, const map_location &to, bool remove_movement=true, bool unreach_is_ok=false) override
 
virtual recall_result_ptr check_recall_action (const std::string &id, const map_location &where=map_location::null_location(), const map_location &from=map_location::null_location()) override
 
virtual recruit_result_ptr check_recruit_action (const std::string &unit_name, const map_location &where=map_location::null_location(), const map_location &from=map_location::null_location()) override
 
virtual stopunit_result_ptr check_stopunit_action (const map_location &unit_location, bool remove_movement=true, bool remove_attacks=false) override
 
virtual synced_command_result_ptr check_synced_command_action (const std::string &lua_code, const map_location &location=map_location::null_location()) override
 
virtual void calculate_possible_moves (std::map< map_location, pathfind::paths > &possible_moves, move_map &srcdst, move_map &dstsrc, bool enemy, bool assume_full_movement=false, const terrain_filter *remove_destinations=nullptr) const override
 
virtual void calculate_moves (const unit_map &units, std::map< map_location, pathfind::paths > &possible_moves, move_map &srcdst, move_map &dstsrc, bool enemy, bool assume_full_movement=false, const terrain_filter *remove_destinations=nullptr, bool see_all=false) const override
 
virtual const game_infoget_info () const override
 
virtual void raise_user_interact () const override
 
const defensive_positionbest_defensive_position (const map_location &unit, const move_map &dstsrc, const move_map &srcdst, const move_map &enemy_dstsrc) const override
 
virtual std::map< map_location, defensive_position > & defensive_position_cache () const override
 
virtual const unit_advancements_aspectget_advancements () const override
 
virtual double get_aggression () const override
 
virtual bool get_allow_ally_villages () const override
 
virtual const aspect_mapget_aspects () const override
 
virtual aspect_mapget_aspects () override
 
virtual void add_aspects (std::vector< aspect_ptr > &aspects) override
 
virtual void add_facet (const std::string &id, const config &cfg) const override
 
virtual const attacks_vectorget_attacks () const override
 
virtual const wfl::variantget_attacks_as_variant () const override
 
virtual const terrain_filterget_avoid () const override
 
virtual double get_caution () const override
 
virtual const move_mapget_dstsrc () const override
 
virtual const move_mapget_enemy_dstsrc () const override
 
virtual const moves_mapget_enemy_possible_moves () const override
 
virtual const move_mapget_enemy_srcdst () const override
 
virtual engine_ptr get_engine_by_cfg (const config &cfg) override
 get engine by cfg, creating it if it is not created yet but known More...
 
virtual const std::vector< engine_ptr > & get_engines () const override
 
virtual std::vector< engine_ptr > & get_engines () override
 
virtual std::string get_grouping () const override
 
virtual const std::vector< goal_ptr > & get_goals () const override
 
virtual std::vector< goal_ptr > & get_goals () override
 
virtual double get_leader_aggression () const override
 
virtual config get_leader_goal () const override
 
virtual utils::variant< bool, std::vector< std::string > > get_leader_ignores_keep () const override
 
virtual double get_leader_value () const override
 
virtual utils::variant< bool, std::vector< std::string > > get_passive_leader () const override
 
virtual utils::variant< bool, std::vector< std::string > > get_passive_leader_shares_keep () const override
 
virtual const moves_mapget_possible_moves () const override
 
virtual double power_projection (const map_location &loc, const move_map &dstsrc) const override
 Function which finds how much 'power' a side can attack a certain location with. More...
 
virtual double get_recruitment_diversity () const override
 
virtual const config get_recruitment_instructions () const override
 
virtual const std::vector< std::string > get_recruitment_more () const override
 
virtual const std::vector< std::string > get_recruitment_pattern () const override
 
virtual int get_recruitment_randomness () const override
 
virtual const config get_recruitment_save_gold () const override
 
virtual const move_mapget_srcdst () const override
 
virtual double get_retreat_enemy_weight () const override
 
virtual double get_retreat_factor () const override
 
virtual double get_scout_village_targeting () const override
 
virtual bool get_simple_targeting () const override
 
virtual bool get_support_villages () const override
 
virtual double get_village_value () const override
 
virtual int get_villages_per_scout () const override
 
virtual bool is_active (const std::string &time_of_day, const std::string &turns) const override
 
virtual bool is_keep_ignoring_leader (const std::string &id) const override
 
virtual bool is_passive_leader (const std::string &id) const override
 
virtual bool is_passive_keep_sharing_leader (const std::string &id) const override
 
virtual bool is_dst_src_valid_lua () const override
 
virtual bool is_dst_src_enemy_valid_lua () const override
 
virtual bool is_src_dst_valid_lua () const override
 
virtual bool is_src_dst_enemy_valid_lua () const override
 
virtual void invalidate_defensive_position_cache () const override
 
virtual void invalidate_move_maps () const override
 
virtual void invalidate_keeps_cache () const override
 
virtual const std::set< map_location > & keeps () const override
 
virtual bool leader_can_reach_keep () const override
 
virtual const map_locationnearest_keep (const map_location &loc) const override
 
virtual void recalculate_move_maps () const override
 
virtual void recalculate_move_maps_enemy () const override
 
virtual void set_dst_src_valid_lua () override
 
virtual void set_dst_src_enemy_valid_lua () override
 
virtual void set_src_dst_valid_lua () override
 
virtual void set_src_dst_enemy_valid_lua () override
 
virtual const map_locationsuitable_keep (const map_location &leader_location, const pathfind::paths &leader_paths) const override
 get most suitable keep for leader - nearest free that can be reached in 1 turn, if none - return nearest occupied that can be reached in 1 turn, if none - return nearest keep, if none - return null_location More...
 
virtual config to_readonly_context_config () const override
 serialize to config More...
 
virtual unit_stats_cache_tunit_stats_cache () const override
 
- Public Member Functions inherited from ai::side_context_proxy
 side_context_proxy ()
 
virtual ~side_context_proxy ()
 
void init_side_context_proxy (side_context &target)
 
virtual side_number get_side () const override
 Get the side number. More...
 
virtual void set_side (side_number side) override
 Set the side number. More...
 
virtual side_contextget_side_context () override
 unwrap More...
 
virtual config to_side_context_config () const override
 serialize this context to config More...
 
- Public Member Functions inherited from ai::component
 component ()
 
virtual ~component ()
 
virtual componentget_child (const path_element &child)
 
virtual std::vector< component * > get_children (const std::string &type)
 
virtual std::vector< std::string > get_children_types ()
 
virtual bool change_child (const path_element &child, const config &cfg)
 
virtual bool add_child (const path_element &child, const config &cfg)
 
virtual bool delete_child (const path_element &child)
 
property_handler_mapproperty_handlers ()
 

Static Public Member Functions

static config preparse_cfg (ai_context &ctx, const config &cfg)
 

Protected Attributes

const configcfg_
 Config of the AI. More...
 
std::vector< stage_ptrstages_
 Stages of the composite AI. More...
 
recursion_counter recursion_counter_
 Recursion counter. More...
 

Additional Inherited Members

- Public Types inherited from ai::readonly_context
typedef std::map< std::pair< map_location, const unit_type * >, std::pair< battle_context_unit_stats, battle_context_unit_stats > > unit_stats_cache_t
 

Detailed Description

Definition at line 29 of file ai.hpp.

Constructor & Destructor Documentation

◆ ai_composite()

ai::ai_composite::ai_composite ( default_ai_context context,
const config cfg 
)

Constructor.

Definition at line 48 of file ai.cpp.

References ai::default_ai_context_proxy::init_default_ai_context_proxy().

◆ ~ai_composite()

ai::ai_composite::~ai_composite ( )
virtual

Destructor.

Definition at line 112 of file ai.cpp.

Member Function Documentation

◆ add_goal()

bool ai::ai_composite::add_goal ( const config cfg)
virtual

Definition at line 128 of file ai.cpp.

References b, create_goal(), and ai::readonly_context_proxy::get_goals().

◆ add_stage()

bool ai::ai_composite::add_stage ( const config cfg)
virtual

Definition at line 116 of file ai.cpp.

References b, create_stage(), and stages_.

Referenced by on_create().

◆ create_engine()

void ai::ai_composite::create_engine ( std::vector< engine_ptr > &  engines,
const config cfg 
)

Definition at line 100 of file ai.cpp.

References ai::engine::parse_engine_from_config().

Referenced by on_create().

◆ create_goal()

void ai::ai_composite::create_goal ( std::vector< goal_ptr > &  goals,
const config cfg 
)

Definition at line 95 of file ai.cpp.

References ai::engine::parse_goal_from_config().

Referenced by add_goal(), and on_create().

◆ create_stage()

void ai::ai_composite::create_stage ( std::vector< stage_ptr > &  stages,
const config cfg 
)

Definition at line 90 of file ai.cpp.

References ai::engine::parse_stage_from_config().

Referenced by add_stage(), and on_create().

◆ describe_self()

std::string ai::ai_composite::describe_self ( ) const

Definition at line 43 of file ai.cpp.

◆ evaluate()

std::string ai::ai_composite::evaluate ( const std::string &  str)
virtual

Evaluate command (using fai)

Definition at line 162 of file ai.cpp.

References ai::readonly_context_proxy::get_engine_by_cfg().

◆ get_ai_context()

ai_context & ai::ai_composite::get_ai_context ( )
virtual

unwrap

Implements ai::ai_context.

Definition at line 193 of file ai.cpp.

Referenced by intf_debug_ai().

◆ get_engine()

std::string ai::ai_composite::get_engine ( ) const
virtual

Implements ai::component.

Definition at line 157 of file ai.cpp.

References cfg_.

◆ get_id()

std::string ai::ai_composite::get_id ( ) const
virtual

Implements ai::component.

Definition at line 146 of file ai.cpp.

References cfg_.

◆ get_name()

std::string ai::ai_composite::get_name ( ) const
virtual

Implements ai::component.

Definition at line 152 of file ai.cpp.

References cfg_.

◆ get_recursion_count()

int ai::ai_composite::get_recursion_count ( ) const
virtual

Get the value of the recursion counter.

Reimplemented from ai::readwrite_context_proxy.

Definition at line 183 of file ai.cpp.

References ai::recursion_counter::get_count(), and recursion_counter_.

◆ new_turn()

void ai::ai_composite::new_turn ( )
virtual

◆ on_create()

void ai::ai_composite::on_create ( )

◆ play_turn()

void ai::ai_composite::play_turn ( )

Play the turn.

Definition at line 140 of file ai.cpp.

References s, and stages_.

Referenced by ai::manager::play_turn().

◆ preparse_cfg()

config ai::ai_composite::preparse_cfg ( ai_context ctx,
const config cfg 
)
static

◆ replace_aspect()

void ai::ai_composite::replace_aspect ( std::map< std::string, aspect_ptr > &  aspects,
const config cfg,
const std::string &  id 
)

Definition at line 105 of file ai.cpp.

References id, and ai::engine::parse_aspect_from_config().

Referenced by on_create().

◆ switch_side()

void ai::ai_composite::switch_side ( side_number  side)

Definition at line 188 of file ai.cpp.

References ai::side_context_proxy::set_side().

◆ to_config()

config ai::ai_composite::to_config ( ) const
virtual

serialize

Definition at line 198 of file ai.cpp.

References config::add_child(), s, and stages_.

Member Data Documentation

◆ cfg_

const config& ai::ai_composite::cfg_
protected

Config of the AI.

Definition at line 98 of file ai.hpp.

Referenced by get_engine(), get_id(), get_name(), and on_create().

◆ recursion_counter_

recursion_counter ai::ai_composite::recursion_counter_
protected

Recursion counter.

Definition at line 108 of file ai.hpp.

Referenced by get_recursion_count().

◆ stages_

std::vector< stage_ptr > ai::ai_composite::stages_
protected

Stages of the composite AI.

Definition at line 103 of file ai.hpp.

Referenced by add_stage(), on_create(), play_turn(), and to_config().


The documentation for this class was generated from the following files: