var Player = require('./Player.js'); var PlayerCamera = require('./PlayerCamera.js'); var TestPlane = require('./TestPlane.js'); var TestUIElement = require('./TestUIElement.js'); var FpsCounter = require('./FpsCounter.js'); var ConsoleOverlay = require('./ConsoleOverlay.js'); class OverworldScene { constructor() { } init() { this.player = new Player(); this.plane = new TestPlane(); this.camera = new PlayerCamera(this.player); this.testUi = new TestUIElement(); UI.add(this.testUi); this.fpsCounter = new FpsCounter(); UI.addOverlay(this.fpsCounter); this.consoleOverlay = new ConsoleOverlay(); UI.addOverlay(this.consoleOverlay); } lateUpdate() { this.camera.update(); } dispose() { this.camera.dispose(); this.player.dispose(); this.plane.dispose(); // testUi.dispose() cascades to its background/label children and // removes itself from UI's render roots -- no separate UI.remove() // needed. this.testUi.dispose(); this.fpsCounter.dispose(); this.consoleOverlay.dispose(); this.camera = null; this.player = null; this.plane = null; this.testUi = null; this.fpsCounter = null; this.consoleOverlay = null; } } module.exports = OverworldScene;