import { ObservableQuizMultipleChoiceScreen } from '@ulangi/ulangi-observable' ; import { MultipleChoiceFormDelegate } from '../../delegates/multiple-choice/MultipleChoiceFormDelegate' ; import { QuizMultipleChoiceScreenDelegate } from '../../delegates/quiz/QuizMultipleChoiceScreenDelegate' ; import { MultipleChoiceQuestionIterator } from '../../iterators/MultipleChoiceQuestionIterator' ; import { ScreenFactory } from '../ScreenFactory' ; export class QuizMultipleChoiceScreenFactory extends ScreenFactory { public createScreenDelegate ( questionIterator , observableScreen , startMultipleChoiceQuiz ) { const navigatorDelegate = this . createNavigatorDelegate ( ) ; const multipleChoiceFormDelegate = new MultipleChoiceFormDelegate ( this . observer , observableScreen . multipleChoiceFormState , observableScreen . multipleChoiceResult ) ; return new QuizMultipleChoiceScreenDelegate ( this . observer , questionIterator , observableScreen , multipleChoiceFormDelegate , navigatorDelegate , startMultipleChoiceQuiz ) ; } }