void replay_controller::update_replay_ui() { //check if we have all buttons - if someone messed with theme then some buttons may be missing //if any of the buttons is missing, we just disable every one if(!replay_ui_has_all_buttons()) { gui::button *play_b = play_button(), *stop_b = stop_button(), *reset_b = reset_button(), *play_turn_b = play_turn_button(), *play_side_b = play_side_button(); if(play_b) { play_b->enable(false); } if(stop_b) { stop_b->enable(false); } if(reset_b) { reset_b->enable(false); } if(play_turn_b) { play_turn_b->enable(false); } if(play_side_b) { play_side_b->enable(false); } } }
void replay_controller::replay_ui_playback_should_start() { if(!replay_ui_has_all_buttons()) return; play_button()->enable(false); reset_button()->enable(false); play_turn_button()->enable(false); play_side_button()->enable(false); }
void replay_controller::reset_replay_ui() { if(!replay_ui_has_all_buttons()) return; play_button()->enable(true); stop_button()->enable(true); reset_button()->enable(true); play_turn_button()->enable(true); play_side_button()->enable(true); }
void replay_controller::replay_ui_playback_should_stop() { if(!replay_ui_has_all_buttons()) return; if(!recorder.at_end()) { play_button()->enable(true); reset_button()->enable(true); play_turn_button()->enable(true); play_side_button()->enable(true); play_button()->release(); play_turn_button()->release(); play_side_button()->release(); } else { reset_button()->enable(true); stop_button()->enable(false); } if(!is_playing_) { //user interrupted stop_button()->release(); } }
bool replay_ui_has_all_buttons() { return play_button() && stop_button() && reset_button() && play_turn_button() && play_side_button(); }