You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gamejam-22/core/src/main/kotlin/com/last/commit/Game.kt

62 lines
1.6 KiB
Kotlin

package com.last.commit
import GameState
import com.badlogic.gdx.Game
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.assets.AssetManager
import com.last.commit.audio.SoundEngine
import com.last.commit.config.GameSettings
import com.last.commit.config.TimeTravelAssetManager
import com.last.commit.inventory.Inventory
import com.last.commit.screen.*
import com.last.commit.map.MapState
import java.awt.AWTEventMulticaster
import java.sql.Time
/** [com.badlogic.gdx.ApplicationListener] implementation shared by all platforms. */
class Game : Game() {
lateinit var state: GameState
lateinit var menu : TimeTravelScreen
lateinit var gameplay: TimeTravelScreen
lateinit var settings: TimeTravelScreen
lateinit var inputProcessor: GameInputProcessor
override fun create() {
createState()
createScreens()
inputProcessor = GameInputProcessor(this)
Gdx.input.inputProcessor = inputProcessor
changeScreen(Screens.MAIN_MENU)
}
private fun createScreens() {
menu = MainMenu(this)
gameplay = FirstScreen(this)
settings = Settings(this)
}
fun changeScreen(screen : Screens) {
println("changing screen to $screen")
when (screen) {
Screens.MAIN_MENU -> setScreen(menu)
Screens.SETTINGS -> setScreen(settings)
Screens.GAME -> setScreen(gameplay)
}
inputProcessor.activeScreen = getScreen() as TimeTravelScreen
}
fun createState() {
state = GameState(
Inventory(),
GameSettings(),
SoundEngine(),
TimeTravelAssetManager()
)
}
}