The Battle for Wesnoth  1.15.2+dev
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
unit_type_data Class Reference

#include <types.hpp>

Public Types

typedef std::map< std::string, unit_typeunit_type_map
 

Public Member Functions

 unit_type_data (const unit_type_data &)=delete
 
unit_type_dataoperator= (const unit_type_data &)=delete
 
 unit_type_data ()
 
const unit_type_maptypes () const
 
const race_mapraces () const
 
const config::const_child_itors traits () const
 
void set_config (config &cfg)
 Resets all data based on the provided config. More...
 
const unit_typefind (const std::string &key, unit_type::BUILD_STATUS status=unit_type::FULL) const
 Finds a unit_type by its id() and makes sure it is built to the specified level. More...
 
void check_types (const std::vector< std::string > &types) const
 
const unit_racefind_race (const std::string &) const
 
void build_all (unit_type::BUILD_STATUS status)
 Makes sure the all unit_types are built to the specified level. More...
 
void build_unit_type (const unit_type &ut, unit_type::BUILD_STATUS status) const
 Makes sure the provided unit_type is built to the specified level. More...
 
bool hide_help (const std::string &type_id, const std::string &race_id) const
 Checks if the [hide_help] tag contains these IDs. More...
 
void apply_scenario_fix (const config &cfg)
 
void remove_scenario_fixes ()
 

Private Member Functions

void read_hide_help (const config &cfg)
 Parses the [hide_help] tag. More...
 
void clear ()
 
void add_advancefrom (const config &unit_cfg) const
 
void add_advancement (unit_type &to_unit) const
 

Private Attributes

unit_type_map types_
 
movement_type_map movement_types_
 
race_map races_
 
bool hide_help_all_
 True if [hide_help] contains a 'all=yes' at its root. More...
 
std::vector< std::set< std::string > > hide_help_type_
 
std::vector< std::set< std::string > > hide_help_race_
 
const configunit_cfg_
 
unit_type::BUILD_STATUS build_status_
 

Detailed Description

Definition at line 356 of file types.hpp.

Member Typedef Documentation

◆ unit_type_map

typedef std::map<std::string,unit_type> unit_type_data::unit_type_map

Definition at line 364 of file types.hpp.

Constructor & Destructor Documentation

◆ unit_type_data() [1/2]

unit_type_data::unit_type_data ( const unit_type_data )
delete

◆ unit_type_data() [2/2]

unit_type_data::unit_type_data ( )

Member Function Documentation

◆ add_advancefrom()

void unit_type_data::add_advancefrom ( const config unit_cfg) const
private

◆ add_advancement()

void unit_type_data::add_advancement ( unit_type to_unit) const
private

Definition at line 1392 of file types.cpp.

References config::child_range(), DBG_UT, error(), unit_type::get_cfg(), unit_type::log_id(), wfl::msg(), and types_.

Referenced by build_all().

◆ apply_scenario_fix()

void unit_type_data::apply_scenario_fix ( const config cfg)

Definition at line 1462 of file types.cpp.

References types_.

Referenced by play_controller::play_controller().

◆ build_all()

void unit_type_data::build_all ( unit_type::BUILD_STATUS  status)

Makes sure the all unit_types are built to the specified level.

Definition at line 1317 of file types.cpp.

References add_advancement(), build_status_, build_unit_type(), unit_type::CREATED, gui2::dialogs::loading_screen::progress(), types_, and unit_cfg_.

Referenced by unit_type::advances_from(), ai::formula_ai::get_value(), set_config(), and help::show_help().

◆ build_unit_type()

void unit_type_data::build_unit_type ( const unit_type ut,
unit_type::BUILD_STATUS  status 
) const
inline

◆ check_types()

void unit_type_data::check_types ( const std::vector< std::string > &  types) const

Definition at line 1296 of file types.cpp.

References find().

Referenced by unit::set_advances_to(), and unit::set_recruits().

◆ clear()

void unit_type_data::clear ( )
private

◆ find()

const unit_type * unit_type_data::find ( const std::string &  key,
unit_type::BUILD_STATUS  status = unit_type::FULL 
) const

Finds a unit_type by its id() and makes sure it is built to the specified level.

Definition at line 1271 of file types.cpp.

References build_unit_type(), DBG_CF, DBG_UT, and types_.

Referenced by advancement_tree_internal(), unit::advances_to_translated(), unit::apply_builtin_effect(), events::menu_handler::can_recruit(), check_types(), battle_context::choose_defender_weapon(), ai::default_recruitment::recruitment::compare_unit_types(), actions::undo_list::create_action(), wb::recruit::create_corresponding_unit(), events::menu_handler::current_unit(), wfl::gamestate::DEFINE_WFL_FUNCTION(), ai::default_recruitment::recruitment::do_combat_analysis(), events::console_handler::do_create(), ai::recruit_result::do_execute(), ai::default_recruitment::recruitment::do_similarity_penalty(), ai::default_recruitment::recruitment::execute(), unit_filter_impl::unit_filter_compound::fill(), ng::flg_manager::flg_manager(), help::generate_faction_topics(), gui2::dialogs::mp_join_game::generate_side_list(), get_advanced_unit(), ai::default_recruitment::recruitment::get_average_defense(), ai::default_recruitment::recruitment::get_cheapest_unit_cost_for_leader(), ai::default_recruitment::recruitment::get_cost_map_of_side(), get_unit_type(), ai::recruit_result::get_unit_type_known(), ai::formula_ai::get_value(), ai::helper_advance_unit(), impl_unit_type_lookup(), intf_add_known_unit(), game_lua_kernel::intf_find_cost_map(), intf_transform_unit(), help::make_unit_link(), team::minimum_recruit_price(), editor::mouse_action_unit::move(), gui2::dialogs::faction_select::on_faction_select(), gui2::dialogs::faction_select::on_leader_select(), gui2::dialogs::statistics_dialog::on_primary_list_select(), help::unit_topic_generator::operator()(), gui2::dialogs::faction_select::profile_button_callback(), ai::default_recruitment::recruitment::recall_unit_value(), wb::recruit::recruit(), events::menu_handler::recruit(), ai::default_recruitment::recruitment::recruit_matches_type(), ng::flg_manager::resolve_random(), help::show_unit_description(), statistics::sum_cost_str_int_map(), SYNCED_COMMAND_HANDLER_FUNCTION(), editor::mouse_action_unit::up_left(), ng::flg_manager::update_available_genders(), ai::default_recruitment::recruitment::update_average_local_cost(), gui2::dialogs::mp_staging::update_leader_display(), and gui2::dialogs::faction_select::update_leader_image().

◆ find_race()

const unit_race * unit_type_data::find_race ( const std::string &  key) const

◆ hide_help()

bool unit_type_data::hide_help ( const std::string &  type_id,
const std::string &  race_id 
) const

Checks if the [hide_help] tag contains these IDs.

Definition at line 1375 of file types.cpp.

References hide_help_all_, hide_help_race_, and hide_help_type_.

Referenced by unit_type::hide_help(), and set_config().

◆ operator=()

unit_type_data& unit_type_data::operator= ( const unit_type_data )
delete

◆ races()

const race_map& unit_type_data::races ( ) const
inline

Definition at line 367 of file types.hpp.

Referenced by luaW_pushracetable(), read_hide_help(), and editor::unit_palette::setup().

◆ read_hide_help()

void unit_type_data::read_hide_help ( const config cfg)
private

Parses the [hide_help] tag.

Definition at line 1344 of file types.cpp.

References config::child(), hide_help_race_, hide_help_type_, races(), utils::split(), types(), and types_.

Referenced by set_config().

◆ remove_scenario_fixes()

void unit_type_data::remove_scenario_fixes ( )

Definition at line 1496 of file types.cpp.

References types_.

Referenced by play_controller::~play_controller().

◆ set_config()

void unit_type_data::set_config ( config cfg)

Resets all data based on the provided config.

This includes some processing of the config, such as expanding base units. A pointer to the config is stored, so the config must be persistent.

Definition at line 1117 of file types.cpp.

References config::attribute_range(), build_all(), config::child(), config::child_range(), clear(), unit_type::CREATED, DBG_UT, ERR_CF, config::has_attribute(), config::has_child(), hide_help(), hide_help_all_, unit_race::id(), lg::info(), LOG_CONFIG, movement_types_, gui2::dialogs::loading_screen::progress(), races_, read_hide_help(), gui2::terrain, types_, and unit_cfg_.

Referenced by test_utils::game_config_manager::game_config_manager(), and game_config_manager::set_unit_data().

◆ traits()

const config::const_child_itors unit_type_data::traits ( ) const
inline

◆ types()

const unit_type_map& unit_type_data::types ( ) const
inline

Member Data Documentation

◆ build_status_

unit_type::BUILD_STATUS unit_type_data::build_status_
private

Definition at line 407 of file types.hpp.

Referenced by build_all(), and clear().

◆ hide_help_all_

bool unit_type_data::hide_help_all_
private

True if [hide_help] contains a 'all=yes' at its root.

Definition at line 401 of file types.hpp.

Referenced by clear(), hide_help(), and set_config().

◆ hide_help_race_

std::vector< std::set<std::string> > unit_type_data::hide_help_race_
private

Definition at line 404 of file types.hpp.

Referenced by clear(), hide_help(), and read_hide_help().

◆ hide_help_type_

std::vector< std::set<std::string> > unit_type_data::hide_help_type_
private

Definition at line 403 of file types.hpp.

Referenced by clear(), hide_help(), and read_hide_help().

◆ movement_types_

movement_type_map unit_type_data::movement_types_
private

Definition at line 397 of file types.hpp.

Referenced by clear(), and set_config().

◆ races_

race_map unit_type_data::races_
private

Definition at line 398 of file types.hpp.

Referenced by clear(), find_race(), and set_config().

◆ types_

unit_type_map unit_type_data::types_
mutableprivate

◆ unit_cfg_

const config* unit_type_data::unit_cfg_
private

Definition at line 406 of file types.hpp.

Referenced by build_all(), and set_config().


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