#include <game_data.hpp>
Public Types | |
enum | PHASE { INITIAL, PRELOAD, PRESTART, START, PLAY } |
Public Member Functions | |
game_data (const config &level) | |
game_data (const game_data &data) | |
const config & | get_variables () const |
config::attribute_value & | get_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... | |
config & | get_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... | |
config & | add_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_rng & | rng () const |
randomness::mt_rng & | rng () |
PHASE | phase () const |
void | set_phase (PHASE phase) |
const t_string & | cannot_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) |
![]() | |
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_ |
Definition at line 27 of file game_data.hpp.
enum game_data::PHASE |
Enumerator | |
---|---|
INITIAL | |
PRELOAD | |
PRESTART | |
START | |
PLAY |
Definition at line 71 of file game_data.hpp.
|
explicit |
Definition at line 34 of file game_data.cpp.
game_data::game_data | ( | const game_data & | data | ) |
Definition at line 51 of file game_data.cpp.
|
private |
Definition at line 150 of file game_data.cpp.
References utils::reversed_view(), and scoped_variables.
Referenced by get_variable_access_read(), get_variable_access_throw(), get_variable_access_write(), and set_victory_music().
config & game_data::add_variable_cfg | ( | const std::string & | varname, |
const config & | value = config() |
||
) |
throws invalid_variablename_exception if varname is no valid variable name.
Definition at line 97 of file game_data.cpp.
References variable_info_mutable< V >::append_array(), and get_variable_access_write().
Referenced by get_variables(), scoped_wml_variable::store(), and scoped_wml_variable::~scoped_wml_variable().
|
inline |
Definition at line 85 of file game_data.hpp.
References can_end_turn_.
|
inline |
Definition at line 82 of file game_data.hpp.
References cannot_end_turn_reason_.
Referenced by events::menu_handler::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 115 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(), and team::get_village().
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 103 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().
|
inline |
Definition at line 105 of file game_data.hpp.
References defeat_music_.
|
inline |
Definition at line 99 of file game_data.hpp.
References id_.
|
inline |
Definition at line 102 of file game_data.hpp.
References theme_.
config::attribute_value & game_data::get_variable | ( | const std::string & | varname | ) |
throws invalid_variablename_exception if varname is no valid variable name.
Definition at line 63 of file game_data.cpp.
References variable_info< V >::as_scalar(), and get_variable_access_write().
Referenced by battle_context::choose_defender_weapon(), play_controller::do_init_side(), game_events::wmi_manager::fire_item(), play_controller::fire_preload(), play_controller::fire_prestart(), play_controller::fire_start(), game_events::wmi_manager::get_items(), get_variables(), team::get_village(), game_events::wml_event_pump::operator()(), tod_manager::set_turn(), set_variable(), and actions::undo_action::undo_action().
|
inlinevirtual |
returns a variable_access that cannot be used to change the game variables
Implements variable_set.
Definition at line 46 of file game_data.hpp.
References activate_scope_variable(), and variables_.
Referenced by get_variable_const(), and game_events::WML_HANDLER_FUNCTION().
|
inlineprivate |
Used to delete variables.
Definition at line 114 of file game_data.hpp.
References activate_scope_variable(), and variables_.
Referenced by clear_variable(), and clear_variable_cfg().
|
inline |
returns a variable_access that can be used to change the game variables
Definition at line 52 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(), 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 80 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().
|
virtual |
returns a blank attribute value if varname is no valid variable name.
Implements variable_set.
Definition at line 68 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().
|
inline |
Definition at line 34 of file game_data.hpp.
References add_variable_cfg(), get_variable(), get_variable_cfg(), get_variable_const(), set_variable(), and variables_.
Referenced by set_global_variable(), and lua_gui2::show_gamestate_inspector().
|
inline |
Definition at line 108 of file game_data.hpp.
References victory_music_.
|
inline |
Definition at line 96 of file game_data.hpp.
References next_scenario_.
Referenced by playmp_controller::hotkey_handler::can_execute_command(), playmp_controller::maybe_linger(), turn_info::process_network_data(), set_next_scenario(), and campaign_controller::show_carryover_message().
|
inline |
Definition at line 79 of file game_data.hpp.
References phase_.
Referenced by advance_unit_at(), mp_sync::get_user_choice(), user_choice_manager::get_user_choice_internal(), play_controller::is_browsing(), set_phase(), wait_ingame(), game_events::WML_HANDLER_FUNCTION(), and game_state::write().
|
inline |
Definition at line 68 of file game_data.hpp.
References rng_.
Referenced by synced_context::get_rng_for_action(), and game_state::init().
|
inline |
Definition at line 69 of file game_data.hpp.
References rng_.
|
inline |
Definition at line 86 of file game_data.hpp.
References can_end_turn_, and cannot_end_turn_reason_.
|
inline |
Definition at line 106 of file game_data.hpp.
References defeat_music_.
|
inline |
Definition at line 100 of file game_data.hpp.
References id_.
|
inline |
Definition at line 97 of file game_data.hpp.
References next_scenario(), and next_scenario_.
|
inline |
Definition at line 80 of file game_data.hpp.
References phase(), and phase_.
Referenced by play_controller::fire_prestart(), play_controller::fire_start(), play_controller::init(), play_controller::reset_gamestate(), and play_controller::start_game().
|
inline |
Definition at line 103 of file game_data.hpp.
References theme_.
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 85 of file game_data.cpp.
References ERR_NG, and get_variable().
Referenced by get_global_variable(), get_variables(), and SYNCED_COMMAND_HANDLER_FUNCTION().
|
inline |
Definition at line 109 of file game_data.hpp.
References activate_scope_variable(), and victory_music_.
void game_data::write_snapshot | ( | config & | cfg | ) | const |
Definition at line 127 of file game_data.cpp.
References config::add_child(), can_end_turn_, cannot_end_turn_reason_, defeat_music_, randomness::mt_rng::get_random_calls(), randomness::mt_rng::get_random_seed_str(), id_, utils::join(), next_scenario_, rng_, theme_, variables_, and victory_music_.
Referenced by game_state::write().
|
private |
Definition at line 123 of file game_data.hpp.
Referenced by allow_end_turn(), set_allow_end_turn(), and write_snapshot().
|
private |
Definition at line 124 of file game_data.hpp.
Referenced by cannot_end_turn_reason(), set_allow_end_turn(), and write_snapshot().
|
private |
Definition at line 130 of file game_data.hpp.
Referenced by get_defeat_music(), set_defeat_music(), and write_snapshot().
|
private |
Definition at line 128 of file game_data.hpp.
Referenced by get_id(), set_id(), 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 92 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().
|
private |
the scenario coming next (for campaigns)
Definition at line 126 of file game_data.hpp.
Referenced by next_scenario(), set_next_scenario(), and write_snapshot().
|
private |
Definition at line 122 of file game_data.hpp.
Referenced by phase(), and set_phase().
|
private |
Definition at line 120 of file game_data.hpp.
Referenced by rng(), and write_snapshot().
std::vector<scoped_wml_variable*> game_data::scoped_variables |
Definition at line 32 of file game_data.hpp.
Referenced by activate_scope_variable(), scoped_wml_variable::scoped_wml_variable(), and scoped_wml_variable::~scoped_wml_variable().
|
private |
Definition at line 129 of file game_data.hpp.
Referenced by get_theme(), set_theme(), and write_snapshot().
|
private |
Definition at line 121 of file game_data.hpp.
Referenced by get_variable_access_read(), get_variable_access_throw(), get_variable_access_write(), get_variables(), and write_snapshot().
|
private |
Definition at line 131 of file game_data.hpp.
Referenced by get_victory_music(), set_victory_music(), and write_snapshot().