Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var nextScreen = AppScreens.MENU
- var currentScreen = AppScreens.MENU
- var isExit = true
- class M3lMain() : Game() {
- private lateinit var data: GeneralData
- var sprVis = true
- override fun create() {
- data = GeneralData()
- isExit = false
- if (this::data.isInitialized) {
- setScreen(screenActivate())
- }
- }
- override fun render() {
- if (nextScreen != currentScreen) {
- screen.dispose()
- data.stage.clear()
- screensPool.add(currentScreen)
- setScreen(screenActivate())
- }
- super.render()
- if (isExit) {
- Gdx.app.exit()
- }
- isExit = Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)
- }
- override fun dispose() {
- super.dispose()
- screen.dispose()
- }
- override fun resume() {
- super.resume()
- }
- override fun pause() {
- super.pause()
- }
- private fun screenActivate(): Screen = when (nextScreen) {
- AppScreens.GAME -> {
- currentScreen = nextScreen
- Display(data)
- }
- AppScreens.MENU -> {
- currentScreen = nextScreen
- MenuScreen(data)
- }
- AppScreens.LEVEL_EDITOR -> {
- currentScreen = nextScreen
- LevelEditorScreen(data)
- }
- }.also {
- Gdx.app.log("Launch screen", currentScreen.name)
- Gdx.app.log("Screens Pool", screensPool.toString())
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment