import { ObservableAtomTutorialScreen } from '@ulangi/ulangi-observable' ; import { AtomAnswerDelegate } from '../../delegates/atom/AtomAnswerDelegate' ; import { AtomArcDelegate } from '../../delegates/atom/AtomArcDelegate' ; import { AtomOriginDelegate } from '../../delegates/atom/AtomOriginDelegate' ; import { AtomParticleDelegate } from '../../delegates/atom/AtomParticleDelegate' ; import { AtomSettingsDelegate } from '../../delegates/atom/AtomSettingsDelegate' ; import { AtomShellDelegate } from '../../delegates/atom/AtomShellDelegate' ; import { AtomTutorialScreenDelegate } from '../../delegates/atom/AtomTutorialScreenDelegate' ; import { ScreenFactory } from '../ScreenFactory' ; export class AtomTutorialScreenFactory extends ScreenFactory { public createAtomSettingsDelegate ( ) { return new AtomSettingsDelegate ( ) ; } public createScreenDelegate ( observableScreen ) { const navigatorDelegate = this . createNavigatorDelegate ( ) ; const originDelegate = new AtomOriginDelegate ( observableScreen ) ; const particleDelegate = new AtomParticleDelegate ( this . observer , observableScreen ) ; const shellDelegate = new AtomShellDelegate ( observableScreen ) ; const answerDelegate = new AtomAnswerDelegate ( observableScreen , particleDelegate ) ; const arcDelegate = new AtomArcDelegate ( this . observer , observableScreen , answerDelegate ) ; return new AtomTutorialScreenDelegate ( observableScreen , originDelegate , particleDelegate , shellDelegate , arcDelegate , answerDelegate , navigatorDelegate ) ; } }