vito-Z80

ScreensEnum

Apr 4th, 2019
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.50 KB | None | 0 0
  1.  
  2. var nextScreen = AppScreens.MENU
  3. var currentScreen = AppScreens.MENU
  4. var isExit = true
  5.  
  6. class M3lMain() : Game() {
  7.  
  8.     private lateinit var data: GeneralData
  9.     var sprVis = true
  10.  
  11.     override fun create() {
  12.         data = GeneralData()
  13.         isExit = false
  14.         if (this::data.isInitialized) {
  15.             setScreen(screenActivate())
  16.         }
  17.     }
  18.  
  19.  
  20.     override fun render() {
  21.         if (nextScreen != currentScreen) {
  22.             screen.dispose()
  23.             data.stage.clear()
  24.             screensPool.add(currentScreen)
  25.             setScreen(screenActivate())
  26.         }
  27.         super.render()
  28.         if (isExit) {
  29.             Gdx.app.exit()
  30.         }
  31.         isExit = Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)
  32.     }
  33.  
  34.     override fun dispose() {
  35.         super.dispose()
  36.         screen.dispose()
  37.     }
  38.  
  39.     override fun resume() {
  40.         super.resume()
  41.     }
  42.  
  43.     override fun pause() {
  44.         super.pause()
  45.     }
  46.  
  47.     private fun screenActivate(): Screen = when (nextScreen) {
  48.         AppScreens.GAME -> {
  49.             currentScreen = nextScreen
  50.             Display(data)
  51.         }
  52.         AppScreens.MENU -> {
  53.             currentScreen = nextScreen
  54.             MenuScreen(data)
  55.         }
  56.         AppScreens.LEVEL_EDITOR -> {
  57.             currentScreen = nextScreen
  58.             LevelEditorScreen(data)
  59.         }
  60.     }.also {
  61.         Gdx.app.log("Launch screen", currentScreen.name)
  62.         Gdx.app.log("Screens Pool", screensPool.toString())
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment