The Battle for Wesnoth  1.13.10+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
ai::aspect Class Referenceabstract

#include <aspect.hpp>

Inheritance diagram for ai::aspect:
Inheritance graph

Public Member Functions

 aspect (readonly_context &context, const config &cfg, const std::string &id)
 
virtual ~aspect ()
 
void invalidate () const
 
virtual const wfl::variantget_variant () const =0
 
virtual std::shared_ptr
< wfl::variant
get_variant_ptr () const =0
 
virtual void recalculate () const =0
 
virtual void on_create ()
 
virtual bool redeploy (const config &cfg, const std::string &id)
 
virtual config to_config () const
 
virtual bool delete_all_facets ()
 
void handle_generic_event (const std::string &)
 
virtual bool active () const
 
virtual std::string get_name () const
 
virtual std::string get_id () const
 
virtual std::string get_engine () const
 
- 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
 
virtual int get_recursion_count () const override
 Get the value of the recursion counter. More...
 
defensive_position const & best_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_aspect
get_advancements () const override
 
virtual double get_aggression () const override
 
virtual int get_attack_depth () 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 bool get_leader_ignores_keep () const override
 
virtual double get_leader_value () const override
 
virtual bool get_passive_leader () const override
 
virtual bool 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 const std::vector
< unit_ptr > & 
get_recall_list () const override
 
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_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_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::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::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 events::observer
virtual ~observer ()
 
- 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 lg::log_domainlog ()
 

Protected Attributes

std::string time_of_day_
 
std::string turns_
 
bool valid_
 
bool valid_variant_
 
bool valid_lua_
 
config cfg_
 
bool invalidate_on_turn_start_
 
bool invalidate_on_tod_change_
 
bool invalidate_on_gamestate_change_
 
bool invalidate_on_minor_gamestate_change_
 
std::string engine_
 
std::string name_
 
std::string id_
 

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 41 of file aspect.hpp.

Constructor & Destructor Documentation

ai::aspect::aspect ( readonly_context context,
const config cfg,
const std::string &  id 
)
ai::aspect::~aspect ( )
virtual

Member Function Documentation

bool ai::aspect::active ( ) const
virtual

Definition at line 136 of file aspect.cpp.

References ai::readonly_context_proxy::is_active(), time_of_day_, and turns_.

bool ai::aspect::delete_all_facets ( )
virtual

Reimplemented in ai::composite_aspect< T >.

Definition at line 141 of file aspect.cpp.

virtual std::string ai::aspect::get_engine ( ) const
inlinevirtual

Implements ai::component.

Definition at line 90 of file aspect.hpp.

References engine_.

virtual std::string ai::aspect::get_id ( ) const
inlinevirtual

Implements ai::component.

Definition at line 87 of file aspect.hpp.

References id_.

virtual std::string ai::aspect::get_name ( ) const
inlinevirtual

Implements ai::component.

Definition at line 84 of file aspect.hpp.

References name_.

virtual const wfl::variant& ai::aspect::get_variant ( ) const
pure virtual
virtual std::shared_ptr<wfl::variant> ai::aspect::get_variant_ptr ( ) const
pure virtual
void ai::aspect::handle_generic_event ( const std::string &  )
inlinevirtual

Implements events::observer.

Definition at line 76 of file aspect.hpp.

References invalidate().

void ai::aspect::invalidate ( ) const
inline

Definition at line 47 of file aspect.hpp.

References valid_, valid_lua_, and valid_variant_.

Referenced by handle_generic_event().

lg::log_domain & ai::aspect::log ( )
static
void ai::aspect::on_create ( )
virtual

Definition at line 69 of file aspect.cpp.

virtual void ai::aspect::recalculate ( ) const
pure virtual
bool ai::aspect::redeploy ( const config cfg,
const std::string &  id 
)
virtual
config ai::aspect::to_config ( ) const
virtual

Member Data Documentation

config ai::aspect::cfg_
protected
std::string ai::aspect::engine_
protected

Definition at line 108 of file aspect.hpp.

Referenced by aspect(), get_engine(), redeploy(), and to_config().

std::string ai::aspect::id_
protected

Definition at line 110 of file aspect.hpp.

Referenced by aspect(), get_id(), redeploy(), and to_config().

bool ai::aspect::invalidate_on_gamestate_change_
protected

Definition at line 106 of file aspect.hpp.

Referenced by redeploy(), to_config(), and ~aspect().

bool ai::aspect::invalidate_on_minor_gamestate_change_
protected

Definition at line 107 of file aspect.hpp.

Referenced by redeploy(), to_config(), and ~aspect().

bool ai::aspect::invalidate_on_tod_change_
protected

Definition at line 105 of file aspect.hpp.

Referenced by redeploy(), to_config(), and ~aspect().

bool ai::aspect::invalidate_on_turn_start_
protected

Definition at line 104 of file aspect.hpp.

Referenced by redeploy(), to_config(), and ~aspect().

std::string ai::aspect::name_
protected
std::string ai::aspect::time_of_day_
protected

Definition at line 96 of file aspect.hpp.

Referenced by active(), aspect(), and to_config().

std::string ai::aspect::turns_
protected

Definition at line 97 of file aspect.hpp.

Referenced by active(), aspect(), and to_config().

bool ai::aspect::valid_
mutableprotected
bool ai::aspect::valid_lua_
mutableprotected
bool ai::aspect::valid_variant_
mutableprotected

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