У меня есть игра. У меня есть 3 файла app.js, game.js, modal.js.
Модал устанавливает прослушиватель событий на кнопку «Далее» на модале и отслеживает «currentStep». То есть модал имеет несколько шагов. Теперь я хочу в файле app.js запустить игру, только после того, как пользователь завершил модал. В моем модале у меня есть:
constructor(){
this.currentStep = 0;
}
complete() {
return (this.currentStep >= 4 ? true : false);
}
activate() {
....
nextButton.addEventListener( 'click' , (e) => {
if (this.currentStep === 0) {
firstInstructions.classList.add('hideMe');
firstGif.classList.remove("hideMe");
....
}else if (this.currentStep === 4) {
modal.classList.add("hideMe");
}
this.currentStep++;
});
}
Теперь, суть в том, что я каким-то образом хочу, чтобы мой app.js знал, когда пользователь завершил модальную работу, чтобы я мог запустить game.play ();
Так что-то вроде:
const game = new Game();
const modal = new Modal();
modal.activate();
// game.play() WHEN modal.complete
Может ли кто-нибудь предложить правильный способ для Модала сообщить приложению, что оно завершено, когда бы это ни происходило. Я знаю, что могу использовать цикл while и продолжать проверять, является ли modal.complete () и когда он запускается game.play (), но это кажется неправильным.
Спасибо.