Beispiel #1
0
void DialogueManager::run() {

	// cache event data
	_mouseButtons = _vm->_input->getLastButtonEvent();
	_vm->_input->getCursorPos(_mousePos);
	_isKeyDown = _vm->_input->getLastKeyDown(_downKey);

	switch (_state) {
	case RUN_QUESTION:
		runQuestion();
		break;

	case NEXT_ANSWER:
		nextAnswer();
		break;

	case NEXT_QUESTION:
		nextQuestion();
		break;

	case RUN_ANSWER:
		runAnswer();
		break;

	case DIALOGUE_OVER:
		break;

	default:
		error("unknown state in DialogueManager");

	}

}
void ContestantApp::onQuestionStateChange( ushort q, ushort t, QUESTION_STATUS s )
{
    if( !loggedIn )
        return;
    if( q >= sd.questions.size() )
        return;

    if( status == CONTEST_RUNNING )
    {
        m_welcome_w->hide();
        time = t;

        qCount = q;
        m_finalsChoice_dlg->time_lbl->setText("");
        m_finalsIdent_dlg->time_lbl->setText("");

        qStatus = s;

        displayQuestionAndChoices();

        if( qStatus == QUESTION_STOPPED )
            stopQuestion();
        else if( qStatus == QUESTION_RUNNING )
            runQuestion();
        else if( qStatus == QUESTION_PAUSED )
            pauseQuestion();
        else
            stopQuestion();
    }    
}