Exemplo n.º 1
0
void ChainPlayer::Play() {
	if (get_player_num() == 0) {
		myturn_ = true;
	}
	while(!myturn_) { }
	PlayMySong();
	Log().Debug() << "[MsgFlow] Job " << get_id() << " complete";
	EACH_RECORDER(OnePlayerDone(get_id()));
}
Exemplo n.º 2
0
void JobTracker::UpdateStatusAndNotify(JobStatus::type status) {
	state_->set_status(status);
	repo_.UpdateJobRuntime(*state_);

	if (auto boss = get_bossrecorder().lock()) {

		switch ( status ) {
			case JobStatus::FINISHED:	
				EACH_RECORDER(OnePlayerDone(get_id()));
				boss->OnePlayerDone(get_id());
				break;

			case JobStatus::CANCELED:	
				boss->OnePlayerCanceled(get_id());
				break;

			default:	
				break;
		}				/* -----  end switch  ----- */
	}
}