The Battle for Wesnoth  1.19.0-dev
Classes | Namespaces | Functions
property_handler.hpp File Reference

Composite AI component. More...

#include <functional>
#include "config.hpp"
#include "ai/composite/component.hpp"
#include <algorithm>
Include dependency graph for property_handler.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ai::path_element_matches< T >
 
class  ai::base_property_handler
 
class  ai::vector_property_handler< T >
 
class  ai::facets_property_handler< T >
 
class  ai::aspect_property_handler< T >
 

Namespaces

 ai
 A small explanation about what's going on here: Each action has access to two game_info objects First is 'info' - real information Second is 'subjective info' - AIs perception of what's going on So, when we check_before action, we use 'subjective info' and don't touch real 'info' at all.
 

Functions

template<typename X >
static void ai::register_vector_property (property_handler_map &property_handlers, const std::string &property, std::vector< std::shared_ptr< X >> &values, std::function< void(std::vector< std::shared_ptr< X >> &, const config &)> construction_factory)
 
template<typename X >
static void ai::register_facets_property (property_handler_map &property_handlers, const std::string &property, std::vector< std::shared_ptr< X >> &values, std::shared_ptr< X > &def, std::function< void(std::vector< std::shared_ptr< X >> &, const config &)> construction_factory)
 
template<typename X >
static void ai::register_aspect_property (property_handler_map &property_handlers, const std::string &property, std::map< std::string, std::shared_ptr< X >> &aspects, std::function< void(std::map< std::string, std::shared_ptr< X >> &, const config &, std::string)> construction_factory)
 

Detailed Description

Composite AI component.

Definition in file property_handler.hpp.