The Battle for Wesnoth  1.13.4+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 ()
 
 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 rand_rng::mt_rngrng () const
 
rand_rng::mt_rngrng ()
 
PHASE phase () const
 
void set_phase (PHASE phase)
 
bool allow_end_turn () const
 
void set_allow_end_turn (bool value)
 
void write_snapshot (config &cfg) const
 
const std::stringnext_scenario () const
 
void set_next_scenario (const std::string &next_scenario)
 
- 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

rand_rng::mt_rng rng_
 
config variables_
 
PHASE phase_
 
bool can_end_turn_
 
std::string next_scenario_
 the scenario coming next (for campaigns) More...
 

Detailed Description

Definition at line 29 of file game_data.hpp.

Member Enumeration Documentation

Enumerator
INITIAL 
PRELOAD 
PRESTART 
START 
PLAY 

Definition at line 70 of file game_data.hpp.

Constructor & Destructor Documentation

game_data::game_data ( )

Definition at line 36 of file game_data.cpp.

game_data::game_data ( const config level)
explicit

Definition at line 47 of file game_data.cpp.

game_data::game_data ( const game_data data)

Definition at line 59 of file game_data.cpp.

Member Function Documentation

void game_data::activate_scope_variable ( std::string  var_name) const
private
config & game_data::add_variable_cfg ( const std::string varname,
const config value = config() 
)
bool game_data::allow_end_turn ( ) const
inline

Definition at line 81 of file game_data.hpp.

References can_end_turn_.

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 122 of file game_data.cpp.

References non_const_variable_info< vit >::clear(), and get_variable_access_throw().

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

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 110 of file game_data.cpp.

References non_const_variable_info< vit >::clear(), and get_variable_access_throw().

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

config::attribute_value & game_data::get_variable ( const std::string varname)
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 49 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().

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

Used to delete variables.

Definition at line 95 of file game_data.hpp.

References activate_scope_variable(), and variables_.

Referenced by clear_variable(), and clear_variable_cfg().

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 55 of file game_data.hpp.

References activate_scope_variable(), and variables_.

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

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

throws invalid_variablename_exception if varname is no valid variable name.

Definition at line 87 of file game_data.cpp.

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

Referenced by game_events::WML_HANDLER_FUNCTION().

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 75 of file game_data.cpp.

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

Referenced by events::console_handler::do_show_var(), storyscreen::controller::resolve_wml(), and storyscreen::part::resolve_wml().

const config& game_data::get_variables ( ) const
inline
const std::string& game_data::next_scenario ( ) const
inline
PHASE game_data::phase ( ) const
inline
const rand_rng::mt_rng& game_data::rng ( ) const
inline

Definition at line 67 of file game_data.hpp.

References rng_.

Referenced by game_state::init().

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

Definition at line 68 of file game_data.hpp.

References rng_.

void game_data::set_allow_end_turn ( bool  value)
inline

Definition at line 82 of file game_data.hpp.

References can_end_turn_.

Referenced by game_lua_kernel::intf_allow_end_turn().

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

Definition at line 90 of file game_data.hpp.

References next_scenario(), and next_scenario_.

Referenced by game_lua_kernel::intf_set_next_scenario().

void game_data::set_phase ( PHASE  phase)
inline
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 92 of file game_data.cpp.

References ERR_NG, and get_variable().

Referenced by get_global_variable(), and SYNCED_COMMAND_HANDLER_FUNCTION().

void game_data::write_snapshot ( config cfg) const

Member Data Documentation

bool game_data::can_end_turn_
private

Definition at line 104 of file game_data.hpp.

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

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 85 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::t_pump::process_event().

std::string game_data::next_scenario_
private

the scenario coming next (for campaigns)

Definition at line 105 of file game_data.hpp.

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

PHASE game_data::phase_
private

Definition at line 103 of file game_data.hpp.

Referenced by phase(), and set_phase().

rand_rng::mt_rng game_data::rng_
private

Definition at line 101 of file game_data.hpp.

Referenced by rng(), and write_snapshot().

std::vector<scoped_wml_variable*> game_data::scoped_variables
config game_data::variables_
private

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