void action_result::execute() { is_execution_ = true; init_for_execution(); check_before(); if (is_success()){ try { do_execute(); } catch (return_to_play_side_exception&) { if (!is_ok()) { DBG_AI_ACTIONS << "Return value of AI ACTION was not checked." << std::endl; } //Demotes to DBG "unchecked result" warning throw; } } if (is_success()){ check_after(); } is_execution_ = false; }
void action_result::execute() { is_execution_ = true; init_for_execution(); check_before(); if (is_success()){ do_execute(); try { resources::controller->check_victory(); } catch (...) { is_ok(); //Silences "unchecked result" warning throw; } } if (is_success()){ check_after(); } is_execution_ = false; }