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

#include <game_data.hpp>

Inheritance diagram for game_data:
Inheritance graph

Public Types

enum  PHASE {
  INITIAL, PRELOAD, PRESTART, START,
  PLAY
}
 

Public Member Functions

 game_data (const config &level)
 
 game_data (const game_data &data)
 
const configget_variables () const
 
config::attribute_valueget_variable (const std::string &varname)
 throws invalid_variablename_exception if varname is no valid variable name. More...
 
virtual config::attribute_value get_variable_const (const std::string &varname) const
 returns a blank attribute value if varname is no valid variable name. More...
 
configget_variable_cfg (const std::string &varname)
 throws invalid_variablename_exception if varname is no valid variable name. More...
 
void set_variable (const std::string &varname, const t_string &value)
 does nothing if varname is no valid variable name. More...
 
configadd_variable_cfg (const std::string &varname, const config &value=config())
 throws invalid_variablename_exception if varname is no valid variable name. More...
 
variable_access_const get_variable_access_read (const std::string &varname) const
 returns a variable_access that cannot be used to change the game variables More...
 
variable_access_create get_variable_access_write (const std::string &varname)
 returns a variable_access that can be used to change the game variables More...
 
void clear_variable (const std::string &varname)
 Clears attributes config children does nothing if varname is no valid variable name. More...
 
void clear_variable_cfg (const std::string &varname)
 Clears only the config children does nothing if varname is no valid variable name. More...
 
const randomness::mt_rngrng () const
 
randomness::mt_rngrng ()
 
PHASE phase () const
 
void set_phase (PHASE phase)
 
const t_stringcannot_end_turn_reason ()
 
bool allow_end_turn () const
 
void set_allow_end_turn (bool value, const t_string &reason="")
 
void write_snapshot (config &cfg) const
 
const std::string & next_scenario () const
 
void set_next_scenario (const std::string &next_scenario)
 
const std::string & get_id () const
 
void set_id (const std::string &value)
 
const std::string & get_theme () const
 
void set_theme (const std::string &value)
 
const std::vector< std::string > & get_defeat_music () const
 
void set_defeat_music (std::vector< std::string > value)
 
const std::vector< std::string > & get_victory_music () const
 
void set_victory_music (std::vector< std::string > value)
 
- Public Member Functions inherited from variable_set
virtual ~variable_set ()
 

Public Attributes

std::vector< scoped_wml_variable * > scoped_variables
 
map_location last_selected
 the last location where a select event fired. More...
 

Private Member Functions

void activate_scope_variable (std::string var_name) const
 
variable_access_throw get_variable_access_throw (const std::string &varname)
 Used to delete variables. More...
 

Private Attributes

randomness::mt_rng rng_
 
config variables_
 
PHASE phase_
 
bool can_end_turn_
 
t_string cannot_end_turn_reason_
 
std::string next_scenario_
 the scenario coming next (for campaigns) More...
 
std::string id_
 
std::string theme_
 
std::vector< std::string > defeat_music_
 
std::vector< std::string > victory_music_
 

Detailed Description

Definition at line 28 of file game_data.hpp.

Member Enumeration Documentation

◆ PHASE

Enumerator
INITIAL 
PRELOAD 
PRESTART 
START 
PLAY 

Definition at line 68 of file game_data.hpp.

Constructor & Destructor Documentation

◆ game_data() [1/2]

game_data::game_data ( const config level)
explicit

Definition at line 34 of file game_data.cpp.

◆ game_data() [2/2]

game_data::game_data ( const game_data data)

Definition at line 50 of file game_data.cpp.

Member Function Documentation

◆ activate_scope_variable()

void game_data::activate_scope_variable ( std::string  var_name) const
private

◆ add_variable_cfg()

config & game_data::add_variable_cfg ( const std::string &  varname,
const config value = config() 
)

◆ allow_end_turn()

bool game_data::allow_end_turn ( ) const
inline

Definition at line 82 of file game_data.hpp.

References can_end_turn_.

◆ cannot_end_turn_reason()

const t_string& game_data::cannot_end_turn_reason ( )
inline

Definition at line 79 of file game_data.hpp.

References cannot_end_turn_reason_.

Referenced by events::menu_handler::end_turn().

◆ clear_variable()

void game_data::clear_variable ( const std::string &  varname)

Clears attributes config children does nothing if varname is no valid variable name.

Definition at line 114 of file game_data.cpp.

References variable_info_mutable< V >::clear(), and get_variable_access_throw().

Referenced by battle_context::choose_defender_weapon(), get_global_variable(), get_variable_access_write(), team::get_village(), and game_lua_kernel::intf_set_variable().

◆ clear_variable_cfg()

void game_data::clear_variable_cfg ( const std::string &  varname)

Clears only the config children does nothing if varname is no valid variable name.

Definition at line 102 of file game_data.cpp.

References variable_info_mutable< V >::clear(), and get_variable_access_throw().

Referenced by get_variable_access_write(), scoped_wml_variable::store(), and scoped_wml_variable::~scoped_wml_variable().

◆ get_defeat_music()

const std::vector<std::string>& game_data::get_defeat_music ( ) const
inline

Definition at line 102 of file game_data.hpp.

References defeat_music_.

◆ get_id()

const std::string& game_data::get_id ( ) const
inline

Definition at line 96 of file game_data.hpp.

References id_.

◆ get_theme()

const std::string& game_data::get_theme ( ) const
inline

Definition at line 99 of file game_data.hpp.

References theme_.

◆ get_variable()

config::attribute_value & game_data::get_variable ( const std::string &  varname)

◆ get_variable_access_read()

variable_access_const game_data::get_variable_access_read ( const std::string &  varname) const
inline

returns a variable_access that cannot be used to change the game variables

Definition at line 47 of file game_data.hpp.

References activate_scope_variable(), and variables_.

Referenced by get_variable_const(), game_lua_kernel::intf_get_variable(), vconfig::all_children_iterator::operator++(), and game_events::WML_HANDLER_FUNCTION().

◆ get_variable_access_throw()

variable_access_throw game_data::get_variable_access_throw ( const std::string &  varname)
inlineprivate

Used to delete variables.

Definition at line 111 of file game_data.hpp.

References activate_scope_variable(), and variables_.

Referenced by clear_variable(), and clear_variable_cfg().

◆ get_variable_access_write()

variable_access_create game_data::get_variable_access_write ( const std::string &  varname)
inline

returns a variable_access that can be used to change the game variables

Definition at line 53 of file game_data.hpp.

References activate_scope_variable(), clear_variable(), clear_variable_cfg(), and variables_.

Referenced by add_variable_cfg(), get_variable(), get_variable_cfg(), game_lua_kernel::intf_set_variable(), and game_events::WML_HANDLER_FUNCTION().

◆ get_variable_cfg()

config & game_data::get_variable_cfg ( const std::string &  varname)

throws invalid_variablename_exception if varname is no valid variable name.

Definition at line 79 of file game_data.cpp.

References variable_info< V >::as_container(), and get_variable_access_write().

Referenced by get_variables(), and game_events::WML_HANDLER_FUNCTION().

◆ get_variable_const()

config::attribute_value game_data::get_variable_const ( const std::string &  varname) const
virtual

returns a blank attribute value if varname is no valid variable name.

Implements variable_set.

Definition at line 67 of file game_data.cpp.

References variable_info< V >::as_scalar(), and get_variable_access_read().

Referenced by get_variables(), storyscreen::story_parser::resolve_wml(), and game_events::builtin_conditions::variable_matches().

◆ get_variables()

const config& game_data::get_variables ( ) const
inline

◆ get_victory_music()

const std::vector<std::string>& game_data::get_victory_music ( ) const
inline

Definition at line 105 of file game_data.hpp.

References victory_music_.

◆ next_scenario()

const std::string& game_data::next_scenario ( ) const
inline

◆ phase()

PHASE game_data::phase ( ) const
inline

◆ rng() [1/2]

const randomness::mt_rng& game_data::rng ( ) const
inline

Definition at line 65 of file game_data.hpp.

References rng_.

Referenced by synced_context::get_rng_for_action(), and game_state::init().

◆ rng() [2/2]

randomness::mt_rng& game_data::rng ( )
inline

Definition at line 66 of file game_data.hpp.

References rng_.

◆ set_allow_end_turn()

void game_data::set_allow_end_turn ( bool  value,
const t_string reason = "" 
)
inline

Definition at line 83 of file game_data.hpp.

References can_end_turn_, and cannot_end_turn_reason_.

Referenced by game_lua_kernel::intf_allow_end_turn().

◆ set_defeat_music()

void game_data::set_defeat_music ( std::vector< std::string >  value)
inline

Definition at line 103 of file game_data.hpp.

References defeat_music_.

◆ set_id()

void game_data::set_id ( const std::string &  value)
inline

Definition at line 97 of file game_data.hpp.

References id_.

◆ set_next_scenario()

void game_data::set_next_scenario ( const std::string &  next_scenario)
inline

Definition at line 94 of file game_data.hpp.

References next_scenario(), and next_scenario_.

Referenced by game_lua_kernel::intf_set_next_scenario().

◆ set_phase()

void game_data::set_phase ( PHASE  phase)
inline

◆ set_theme()

void game_data::set_theme ( const std::string &  value)
inline

Definition at line 100 of file game_data.hpp.

References theme_.

◆ set_variable()

void game_data::set_variable ( const std::string &  varname,
const t_string value 
)

does nothing if varname is no valid variable name.

Definition at line 84 of file game_data.cpp.

References ERR_NG, and get_variable().

Referenced by get_global_variable(), get_variables(), and SYNCED_COMMAND_HANDLER_FUNCTION().

◆ set_victory_music()

void game_data::set_victory_music ( std::vector< std::string >  value)
inline

Definition at line 106 of file game_data.hpp.

References activate_scope_variable(), and victory_music_.

◆ write_snapshot()

void game_data::write_snapshot ( config cfg) const

Member Data Documentation

◆ can_end_turn_

bool game_data::can_end_turn_
private

Definition at line 120 of file game_data.hpp.

Referenced by allow_end_turn(), set_allow_end_turn(), and write_snapshot().

◆ cannot_end_turn_reason_

t_string game_data::cannot_end_turn_reason_
private

Definition at line 121 of file game_data.hpp.

Referenced by cannot_end_turn_reason(), and set_allow_end_turn().

◆ defeat_music_

std::vector<std::string> game_data::defeat_music_
private

Definition at line 127 of file game_data.hpp.

Referenced by get_defeat_music(), set_defeat_music(), and write_snapshot().

◆ id_

std::string game_data::id_
private

Definition at line 125 of file game_data.hpp.

Referenced by get_id(), set_id(), and write_snapshot().

◆ last_selected

map_location game_data::last_selected

the last location where a select event fired.

Used by wml menu items with needs_select=yes

Definition at line 89 of file game_data.hpp.

Referenced by game_events::wml_menu_item::can_show(), game_events::wml_menu_item::fire_event(), play_controller::init_side_begin(), and game_events::wml_event_pump::process_event().

◆ next_scenario_

std::string game_data::next_scenario_
private

the scenario coming next (for campaigns)

Definition at line 123 of file game_data.hpp.

Referenced by next_scenario(), set_next_scenario(), and write_snapshot().

◆ phase_

PHASE game_data::phase_
private

Definition at line 119 of file game_data.hpp.

Referenced by phase(), and set_phase().

◆ rng_

randomness::mt_rng game_data::rng_
private

Definition at line 117 of file game_data.hpp.

Referenced by rng(), and write_snapshot().

◆ scoped_variables

std::vector<scoped_wml_variable*> game_data::scoped_variables

◆ theme_

std::string game_data::theme_
private

Definition at line 126 of file game_data.hpp.

Referenced by get_theme(), set_theme(), and write_snapshot().

◆ variables_

config game_data::variables_
private

◆ victory_music_

std::vector<std::string> game_data::victory_music_
private

Definition at line 128 of file game_data.hpp.

Referenced by get_victory_music(), set_victory_music(), and write_snapshot().


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