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(); } }