Use a function to update "End Turn" button's and menu item's state.
This commit is contained in:
parent
f57b29fc13
commit
e3ceed9ee2
3 changed files with 15 additions and 12 deletions
|
@ -163,8 +163,9 @@ void playmp_controller::play_human_turn(){
|
|||
show_turn_dialog();
|
||||
execute_gotos();
|
||||
|
||||
if ((!linger_) || (is_host_))
|
||||
gui_->enable_menu("endturn", true);
|
||||
if (!linger_ || is_host_) {
|
||||
end_turn_enable(true);
|
||||
}
|
||||
while(!end_turn_) {
|
||||
|
||||
try {
|
||||
|
@ -292,7 +293,6 @@ void playmp_controller::linger()
|
|||
reset_countdown();
|
||||
|
||||
set_end_scenario_button();
|
||||
set_button_state(*gui_);
|
||||
|
||||
if ( get_end_level_data_const().transient.reveal_map ) {
|
||||
// Change the view of all players and observers
|
||||
|
@ -420,7 +420,7 @@ void playmp_controller::finish_side_turn(){
|
|||
void playmp_controller::play_network_turn(){
|
||||
LOG_NG << "is networked...\n";
|
||||
|
||||
gui_->enable_menu("endturn", false);
|
||||
end_turn_enable(false);
|
||||
turn_info turn_data(player_number_, replay_sender_);
|
||||
turn_data.host_transfer().attach_handler(this);
|
||||
|
||||
|
@ -512,8 +512,7 @@ void playmp_controller::handle_generic_event(const std::string& name){
|
|||
else if (name == "host_transfer"){
|
||||
is_host_ = true;
|
||||
if (linger_){
|
||||
gui::button* btn_end = gui_->find_action_button("button-endturn");
|
||||
btn_end->enable(true);
|
||||
end_turn_enable(true);
|
||||
gui_->invalidate_theme();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -697,8 +697,6 @@ void playsingle_controller::before_human_turn(bool save)
|
|||
browse_ = false;
|
||||
linger_ = false;
|
||||
|
||||
set_button_state(*gui_);
|
||||
|
||||
ai::manager::raise_turn_started();
|
||||
|
||||
if(save && level_result_ == NONE) {
|
||||
|
@ -729,7 +727,7 @@ void playsingle_controller::play_human_turn() {
|
|||
show_turn_dialog();
|
||||
execute_gotos();
|
||||
|
||||
gui_->enable_menu("endturn", true);
|
||||
end_turn_enable(true);
|
||||
while(!end_turn_) {
|
||||
play_slice();
|
||||
check_end_level();
|
||||
|
@ -778,8 +776,7 @@ void playsingle_controller::linger()
|
|||
try {
|
||||
// Same logic as single-player human turn, but
|
||||
// *not* the same as multiplayer human turn.
|
||||
gui_->enable_menu("endturn", true);
|
||||
set_button_state(*gui_);
|
||||
end_turn_enable(true);
|
||||
end_turn_ = false;
|
||||
while(!end_turn_) {
|
||||
// Reset the team number to make sure we're the right team.
|
||||
|
@ -818,6 +815,12 @@ void playsingle_controller::end_turn_record_unlock()
|
|||
turn_over_ = false;
|
||||
}
|
||||
|
||||
void playsingle_controller::end_turn_enable(bool enable)
|
||||
{
|
||||
gui_->enable_menu("endturn", enable);
|
||||
set_button_state(*gui_);
|
||||
}
|
||||
|
||||
hotkey::ACTION_STATE playsingle_controller::get_action_state(hotkey::HOTKEY_COMMAND command, int index) const
|
||||
{
|
||||
switch(command) {
|
||||
|
@ -843,7 +846,7 @@ void playsingle_controller::after_human_turn()
|
|||
|
||||
void playsingle_controller::play_ai_turn(){
|
||||
LOG_NG << "is ai...\n";
|
||||
gui_->enable_menu("endturn", false);
|
||||
end_turn_enable(false);
|
||||
browse_ = true;
|
||||
gui_->recalculate_minimap();
|
||||
|
||||
|
|
|
@ -79,6 +79,7 @@ protected:
|
|||
virtual void after_human_turn();
|
||||
void end_turn_record();
|
||||
void end_turn_record_unlock();
|
||||
void end_turn_enable(bool enable);
|
||||
virtual hotkey::ACTION_STATE get_action_state(hotkey::HOTKEY_COMMAND command, int index) const;
|
||||
void play_ai_turn();
|
||||
virtual void play_network_turn();
|
||||
|
|
Loading…
Add table
Reference in a new issue