#include <playsingle_controller.hpp>
Public Member Functions | |
playsingle_controller (const config &level, game_state &state_of_game, const int ticks, const int num_turns, const config &game_config, CVideo &video, bool skip_replay) | |
LEVEL_RESULT | play_scenario (const std::vector< config * > &story, upload_log &log, bool skip_replay) |
virtual void | handle_generic_event (const std::string &name) |
virtual void | recruit () |
virtual void | repeat_recruit () |
virtual void | recall () |
virtual bool | can_execute_command (hotkey::HOTKEY_COMMAND command, int index=-1) const |
Check if a command can be executed. | |
virtual void | toggle_shroud_updates () |
virtual void | update_shroud_now () |
virtual void | end_turn () |
virtual void | rename_unit () |
virtual void | create_unit () |
virtual void | change_unit_side () |
virtual void | label_terrain (bool) |
virtual void | continue_move () |
virtual void | unit_hold_position () |
virtual void | end_unit_turn () |
virtual void | user_command () |
virtual void | custom_command () |
virtual void | ai_formula () |
virtual void | clear_messages () |
void | linger (upload_log &log) |
Protected Member Functions | |
virtual void | play_turn (bool no_save) |
virtual void | play_side (const unsigned int team_index, bool save) |
virtual void | before_human_turn (bool save) |
virtual void | play_human_turn () |
virtual void | after_human_turn () |
void | end_turn_record () |
void | end_turn_record_unlock () |
void | play_ai_turn () |
virtual void | init_gui () |
void | check_time_over () |
Protected Attributes | |
const cursor::setter | cursor_setter |
std::deque< config > | data_backlog_ |
gui::floating_textbox | textbox_info_ |
replay_network_sender | replay_sender_ |
bool | end_turn_ |
bool | player_type_changed_ |
bool | replaying_ |
Private Member Functions | |
void | report_victory (std::stringstream &report, end_level_exception &end_level, int player_gold, int remaining_gold, int finishing_bonus_per_turn, int turns_left, int finishing_bonus) |
Private Attributes | |
bool | turn_over_ |
Definition at line 29 of file playsingle_controller.hpp.
playsingle_controller::playsingle_controller | ( | const config & | level, | |
game_state & | state_of_game, | |||
const int | ticks, | |||
const int | num_turns, | |||
const config & | game_config, | |||
CVideo & | video, | |||
bool | skip_replay | |||
) |
Definition at line 35 of file playsingle_controller.cpp.
References play_controller::browse_, game_state::completion, end_turn_, play_controller::linger_, and replaying_.
LEVEL_RESULT playsingle_controller::play_scenario | ( | const std::vector< config * > & | story, | |
upload_log & | log, | |||
bool | skip_replay | |||
) |
Definition at line 211 of file playsingle_controller.cpp.
References _, config::add_child(), game_display::add_overlay(), replay::at_end(), player_info::available_units, game_config::base_income, unit_map::begin(), font::BOLD_TEXT, game_state::campaign_type, end_level_exception::carryover_add, end_level_exception::carryover_percentage, cfg, sound::commit_music_changes(), game_state::completion, upload_log::defeat(), DEFEAT, network::error::disconnect(), proxy::disconnect(), unit_map::end(), game_config::exit_at_end, game_events::fire(), play_controller::fire_prestart(), play_controller::fire_start(), play_controller::first_human_team_, play_controller::first_player_, play_controller::gamestate_, config::get_children(), game_state::get_player(), game_events::get_state_of_game(), game_state::get_variable(), player_info::gold, player_info::gold_add, end_level_exception::gold_bonus, game_config::gold_carryover_add, game_config::gold_carryover_percentage, play_controller::gui_, lg::info, init_gui(), teams_manager::is_observer(), replay::is_skipping(), display::labels(), play_controller::level_, LEVEL_CONTINUE, LEVEL_CONTINUE_NO_SAVE, play_controller::linger_, play_controller::loading_game_, LOG_NG, play_controller::map_, play_controller::menu_handler_, player_info::name, game_state::next_scenario, gamestatus::number_of_turns(), OBSERVER_END, sound::play_music_config(), play_turn(), game_state::players, QUIT, upload_log::quit(), map_labels::read(), display::recalculate_minimap(), recorder, replaying_, report_victory(), end_level_exception::result, events::menu_handler::save_game(), network::send_data(), victory_conditions::set_carryover_add(), victory_conditions::set_carryover_percentage(), replay::set_save_info_completion(), victory_conditions::set_victory_when_enemies_defeated(), show_intro(), SKIP_TO_LINGER, network::error::socket, upload_log::start(), play_controller::status_, utils::string_bool(), play_controller::team_manager_, play_controller::teams_, play_controller::ticks_, gamestatus::turn(), play_controller::units_, upload_log::victory(), VICTORY, game_config::village_income, gamemap::villages(), and gui::YES_NO.
void playsingle_controller::handle_generic_event | ( | const std::string & | name | ) | [virtual] |
Reimplemented from play_controller.
Reimplemented in playmp_controller.
Definition at line 723 of file playsingle_controller.cpp.
References game_display::draw(), play_controller::gui_, and play_controller::play_slice().
Referenced by playmp_controller::handle_generic_event().
void playsingle_controller::recruit | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 69 of file playsingle_controller.cpp.
References play_controller::browse_, events::mouse_handler::get_last_hex(), play_controller::menu_handler_, play_controller::mouse_handler_, play_controller::player_number_, and events::menu_handler::recruit().
void playsingle_controller::repeat_recruit | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 74 of file playsingle_controller.cpp.
References play_controller::browse_, events::mouse_handler::get_last_hex(), play_controller::menu_handler_, play_controller::mouse_handler_, play_controller::player_number_, and events::menu_handler::repeat_recruit().
void playsingle_controller::recall | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 79 of file playsingle_controller.cpp.
References play_controller::browse_, events::mouse_handler::get_last_hex(), play_controller::menu_handler_, play_controller::mouse_handler_, play_controller::player_number_, and events::menu_handler::recall().
bool playsingle_controller::can_execute_command | ( | hotkey::HOTKEY_COMMAND | command, | |
int | index = -1 | |||
) | const [virtual] |
Check if a command can be executed.
Reimplemented from play_controller.
Reimplemented in playmp_controller.
Definition at line 745 of file playsingle_controller.cpp.
References team::auto_shroud_updates(), play_controller::browse_, play_controller::can_execute_command(), events::commands_disabled, play_controller::current_team(), events::menu_handler::current_unit(), game_config::debug, unit_map::end(), unit_map::find(), events::mouse_handler::get_last_hex(), events::mouse_handler::get_selected_hex(), play_controller::gui_, hotkey::HOTKEY_CHANGE_UNIT_SIDE, hotkey::HOTKEY_CONTINUE_MOVE, hotkey::HOTKEY_CREATE_UNIT, hotkey::HOTKEY_DELAY_SHROUD, hotkey::HOTKEY_END_UNIT_TURN, hotkey::HOTKEY_ENDTURN, hotkey::HOTKEY_LABEL_TEAM_TERRAIN, hotkey::HOTKEY_LABEL_TERRAIN, hotkey::HOTKEY_RECALL, hotkey::HOTKEY_RECRUIT, hotkey::HOTKEY_REPEAT_RECRUIT, hotkey::HOTKEY_UNIT_HOLD_POSITION, hotkey::HOTKEY_UPDATE_SHROUD, is_observer(), play_controller::linger_, play_controller::map_, play_controller::menu_handler_, play_controller::mouse_handler_, gamemap::on_board(), display::shrouded(), play_controller::units_, team::uses_fog(), and team::uses_shroud().
Referenced by playmp_controller::can_execute_command().
void playsingle_controller::toggle_shroud_updates | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 84 of file playsingle_controller.cpp.
References play_controller::menu_handler_, play_controller::player_number_, and events::menu_handler::toggle_shroud_updates().
void playsingle_controller::update_shroud_now | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 88 of file playsingle_controller.cpp.
References play_controller::menu_handler_, play_controller::player_number_, and events::menu_handler::update_shroud_now().
void playsingle_controller::end_turn | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 92 of file playsingle_controller.cpp.
References play_controller::browse_, events::menu_handler::end_turn(), end_turn_, play_controller::linger_, play_controller::menu_handler_, and play_controller::player_number_.
Referenced by play_side(), and playmp_controller::play_side().
void playsingle_controller::rename_unit | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 100 of file playsingle_controller.cpp.
References play_controller::menu_handler_, play_controller::mouse_handler_, and events::menu_handler::rename_unit().
void playsingle_controller::create_unit | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 104 of file playsingle_controller.cpp.
References events::menu_handler::create_unit(), play_controller::menu_handler_, and play_controller::mouse_handler_.
void playsingle_controller::change_unit_side | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 108 of file playsingle_controller.cpp.
References events::menu_handler::change_unit_side(), play_controller::menu_handler_, and play_controller::mouse_handler_.
void playsingle_controller::label_terrain | ( | bool | team_only | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 112 of file playsingle_controller.cpp.
References events::menu_handler::label_terrain(), play_controller::menu_handler_, and play_controller::mouse_handler_.
void playsingle_controller::continue_move | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 116 of file playsingle_controller.cpp.
References events::menu_handler::continue_move(), play_controller::menu_handler_, play_controller::mouse_handler_, and play_controller::player_number_.
void playsingle_controller::unit_hold_position | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 120 of file playsingle_controller.cpp.
References play_controller::browse_, play_controller::menu_handler_, play_controller::mouse_handler_, play_controller::player_number_, and events::menu_handler::unit_hold_position().
void playsingle_controller::end_unit_turn | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 125 of file playsingle_controller.cpp.
References play_controller::browse_, events::menu_handler::end_unit_turn(), play_controller::menu_handler_, play_controller::mouse_handler_, and play_controller::player_number_.
void playsingle_controller::user_command | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 130 of file playsingle_controller.cpp.
References play_controller::menu_handler_, and events::menu_handler::user_command().
void playsingle_controller::custom_command | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 134 of file playsingle_controller.cpp.
References events::menu_handler::custom_command(), play_controller::menu_handler_, play_controller::mouse_handler_, and play_controller::player_number_.
void playsingle_controller::ai_formula | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 138 of file playsingle_controller.cpp.
References events::menu_handler::ai_formula(), and play_controller::menu_handler_.
void playsingle_controller::clear_messages | ( | ) | [virtual] |
Reimplemented from hotkey::command_executor.
Definition at line 142 of file playsingle_controller.cpp.
References events::menu_handler::clear_messages(), and play_controller::menu_handler_.
void playsingle_controller::linger | ( | upload_log & | log | ) |
Reimplemented in playmp_controller.
Definition at line 616 of file playsingle_controller.cpp.
References unit_map::begin(), play_controller::browse_, game_state::completion, game_display::draw(), display::enable_menu(), unit_map::end(), end_turn_, play_controller::first_player_, play_controller::gamestate_, display::get_theme(), play_controller::gui_, display::invalidate_theme(), play_controller::linger_, game_display::LINGER_SP, LOG_NG, play_controller::play_slice(), play_controller::player_number_, upload_log::quit(), display::redraw_everything(), theme::refresh_title2(), game_display::RUNNING, game_display::set_game_mode(), play_controller::status_, gamestatus::turn(), and play_controller::units_.
void playsingle_controller::play_turn | ( | bool | no_save | ) | [protected, virtual] |
Definition at line 456 of file playsingle_controller.cpp.
References _, check_time_over(), check_victory(), play_controller::current_team(), do_replay(), replay::end_turn(), play_controller::finish_side_turn(), play_controller::finish_turn(), play_controller::first_player_, play_controller::gamestate_, play_controller::gui_, play_controller::init_side(), display::invalidate_game_status(), team::is_empty(), LOG_NG, play_controller::map_, game_display::new_turn(), non_interactive(), play_side(), play_controller::player_number_, events::raise_draw_event(), recorder, replay_sender_, replaying_, play_controller::status_, turn_info::sync_network(), team_units(), play_controller::teams_, gamestatus::turn(), play_controller::undo_stack_, play_controller::units_, and team::villages().
Referenced by play_scenario().
void playsingle_controller::play_side | ( | const unsigned int | team_index, | |
bool | save | |||
) | [protected, virtual] |
Implements play_controller.
Reimplemented in playmp_controller.
Definition at line 515 of file playsingle_controller.cpp.
References after_human_turn(), before_human_turn(), game_display::clear_debug_highlights(), play_controller::current_team(), game_config::debug, game_display::draw(), end_turn(), end_turn_, play_controller::find_human_team_before(), play_controller::gui_, display::invalidate_all(), LOG_NG, play_ai_turn(), play_human_turn(), play_controller::player_number_, player_type_changed_, display::recalculate_minimap(), end_turn_exception::redo, statistics::reset_turn_stats(), game_display::set_team(), and play_controller::teams_.
Referenced by play_turn().
void playsingle_controller::before_human_turn | ( | bool | save | ) | [protected, virtual] |
Reimplemented in playmp_controller.
Definition at line 561 of file playsingle_controller.cpp.
References _, events::menu_handler::autosave(), unit_map::begin(), play_controller::browse_, game_display::draw(), unit_map::end(), unit_map::find(), g, play_controller::gamestate_, play_controller::gui_, utils::interpolate_variables_into_string(), display::invalidate_all(), game_state::label, play_controller::linger_, log_scope, play_controller::map_, play_controller::menu_handler_, message, play_controller::mouse_handler_, events::menu_handler::move_unit_to_loc(), gamemap::on_board(), sound::play_bell(), play_controller::player_number_, display::recalculate_minimap(), game_display::set_route(), game_display::set_team(), game_state::starting_pos, play_controller::status_, play_controller::teams_, gamestatus::turn(), game_config::sounds::turn_bell, preferences::turn_bell(), preferences::turn_dialog(), and play_controller::units_.
Referenced by playmp_controller::before_human_turn(), and play_side().
void playsingle_controller::play_human_turn | ( | ) | [protected, virtual] |
Reimplemented in playmp_controller.
Definition at line 608 of file playsingle_controller.cpp.
References game_display::draw(), display::enable_menu(), end_turn_, play_controller::gui_, and play_controller::play_slice().
Referenced by play_side().
void playsingle_controller::after_human_turn | ( | ) | [protected, virtual] |
Reimplemented in playmp_controller.
Definition at line 679 of file playsingle_controller.cpp.
References events::menu_handler::clear_undo_stack(), end_turn_record(), end_turn_record_unlock(), play_controller::gui_, play_controller::map_, play_controller::menu_handler_, play_controller::player_number_, recalculate_fog(), game_display::set_route(), play_controller::teams_, game_display::unhighlight_reach(), and play_controller::units_.
Referenced by playmp_controller::after_human_turn(), and play_side().
void playsingle_controller::end_turn_record | ( | ) | [protected] |
Definition at line 666 of file playsingle_controller.cpp.
References replay::end_turn(), recorder, and turn_over_.
Referenced by after_human_turn(), and playmp_controller::after_human_turn().
void playsingle_controller::end_turn_record_unlock | ( | ) | [protected] |
Definition at line 674 of file playsingle_controller.cpp.
References turn_over_.
Referenced by after_human_turn().
void playsingle_controller::play_ai_turn | ( | ) | [protected] |
Definition at line 693 of file playsingle_controller.cpp.
References play_controller::browse_, play_controller::clear_shroud(), create_ai(), play_controller::current_team(), cursor_setter, display::delay(), game_display::draw(), display::enable_menu(), replay::end_turn(), play_controller::gamestate_, play_controller::gui_, display::invalidate_all(), display::invalidate_game_status(), game_display::invalidate_unit(), LOG_NG, play_controller::map_, play_controller::player_number_, display::recalculate_minimap(), recorder, replay_sender_, play_controller::status_, turn_info::sync_network(), play_controller::teams_, play_controller::undo_stack_, play_controller::units_, and cursor::WAIT.
Referenced by play_side(), and playmp_controller::play_side().
void playsingle_controller::init_gui | ( | ) | [protected, virtual] |
Reimplemented from play_controller.
Definition at line 52 of file playsingle_controller.cpp.
References play_controller::clear_shroud(), game_display::draw(), play_controller::first_human_team_, play_controller::gui_, play_controller::init_gui(), replay::is_skipping(), LOG_NG, play_controller::map_, events::raise_draw_event(), recorder, display::scroll_to_tile(), gamemap::starting_position(), play_controller::teams_, play_controller::ticks_, play_controller::units_, display::video(), and display::WARP.
Referenced by play_scenario().
void playsingle_controller::check_time_over | ( | ) | [protected] |
Definition at line 730 of file playsingle_controller.cpp.
References DEFEAT, game_events::fire(), LOG_NG, gamestatus::next_turn(), non_interactive(), and play_controller::status_.
Referenced by play_turn().
void playsingle_controller::report_victory | ( | std::stringstream & | report, | |
end_level_exception & | end_level, | |||
int | player_gold, | |||
int | remaining_gold, | |||
int | finishing_bonus_per_turn, | |||
int | turns_left, | |||
int | finishing_bonus | |||
) | [private] |
Definition at line 156 of file playsingle_controller.cpp.
References _, font::BOLD_TEXT, end_level_exception::carryover_add, end_level_exception::carryover_percentage, end_level_exception::gold_bonus, and vngettext().
Referenced by play_scenario().
const cursor::setter playsingle_controller::cursor_setter [protected] |
std::deque<config> playsingle_controller::data_backlog_ [protected] |
Definition at line 76 of file playsingle_controller.hpp.
Referenced by playmp_controller::play_network_turn().
Definition at line 77 of file playsingle_controller.hpp.
Definition at line 78 of file playsingle_controller.hpp.
Referenced by playmp_controller::before_human_turn(), playmp_controller::handle_generic_event(), playmp_controller::linger(), play_ai_turn(), playmp_controller::play_network_turn(), play_turn(), and playmp_controller::wait_for_upload().
bool playsingle_controller::end_turn_ [protected] |
Definition at line 80 of file playsingle_controller.hpp.
Referenced by end_turn(), linger(), play_human_turn(), playmp_controller::play_human_turn(), play_side(), playmp_controller::play_side(), and playsingle_controller().
bool playsingle_controller::player_type_changed_ [protected] |
Definition at line 81 of file playsingle_controller.hpp.
Referenced by playmp_controller::play_network_turn(), play_side(), and playmp_controller::play_side().
bool playsingle_controller::replaying_ [protected] |
Definition at line 82 of file playsingle_controller.hpp.
Referenced by play_scenario(), play_turn(), and playsingle_controller().
bool playsingle_controller::turn_over_ [private] |
Definition at line 84 of file playsingle_controller.hpp.
Referenced by end_turn_record(), and end_turn_record_unlock().
Generated by doxygen 1.5.5 on 23 May 2008 for The Battle for Wesnoth | Gna! | Forum | Wiki | CIA | devdocs |