/// /// /// /// namespace game { export class MainController extends ScreenManager { loadingScreen: Screen; constructor(container: HTMLElement, configUrl: string) { super(container); let self = this; let bgLayer: HTMLElement = container.querySelector('#background'); let gameContext: GameContext = { container: container, audioManager: new audio.AudioManager(), bgManager: new background.BackgroundManager(bgLayer), assets: null, config: null, switchScreen(screen: Screen): void { self.switchScreen(screen); } } this.loadingScreen = new LoadingScreen(gameContext, configUrl); document.addEventListener('keydown', (event) => { if (!event.ctrlKey && !event.metaKey) { this.activeScreen.handleInput(event.key); } }); } start(): void { this.switchScreen(this.loadingScreen); } } }