diff options
author | romangraef <roman.graef@gmail.com> | 2018-05-30 12:06:31 +0200 |
---|---|---|
committer | romangraef <roman.graef@gmail.com> | 2018-05-30 12:06:31 +0200 |
commit | 2ac18d91635b023db7ff3918f5041cb51ed1c968 (patch) | |
tree | 8caffe3c5807e105eb474e2277ece57dc82823c3 /src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt | |
download | pluggabledino-2ac18d91635b023db7ff3918f5041cb51ed1c968.tar.gz pluggabledino-2ac18d91635b023db7ff3918f5041cb51ed1c968.tar.bz2 pluggabledino-2ac18d91635b023db7ff3918f5041cb51ed1c968.zip |
Initial commit
Diffstat (limited to 'src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt')
-rw-r--r-- | src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt b/src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt new file mode 100644 index 0000000..f10a470 --- /dev/null +++ b/src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt @@ -0,0 +1,52 @@ +package de.romjaki.pluggabledino.states + +import de.romjaki.pluggabledino.* +import de.romjaki.pluggabledino.api.Button +import org.newdawn.slick.Color +import org.newdawn.slick.GameContainer +import org.newdawn.slick.Graphics +import org.newdawn.slick.Input +import org.newdawn.slick.state.BasicGameState +import org.newdawn.slick.state.StateBasedGame + +class MainMenu : BasicGameState() { + override fun init(container: GameContainer?, game: StateBasedGame?) { + game!! + settingsButton.addClickHandler { + game.enterState(SETTINGS) + } + playButton.addClickHandler { + game.enterState(GAME) + } + } + + override fun enter(container: GameContainer?, game: StateBasedGame?) { + settingsButton.enter() + playButton.enter() + } + + override fun update(container: GameContainer?, game: StateBasedGame?, delta: Int) { + container!! + game!! + dinoAnimated.update(delta.toLong()) + if (container.input.isKeyDown(Input.KEY_Q)) { + System.exit(0) + } + settingsButton.update(container.input) + playButton.update(container.input) + } + + override fun getID(): Int = + MAINMENU + + val playButton = Button("PLAY", WIDTH / 2f, HEIGHT / 2f + 50) + val settingsButton = Button("SETTINGS", WIDTH / 2f, HEIGHT / 2f + 100) + override fun render(container: GameContainer?, game: StateBasedGame?, g: Graphics?) { + g!! + g.background = Color.lightGray + g.drawImage(dinoAnimated.currentFrame, WIDTH / 2f - 16, HEIGHT / 2f - 16f) + playButton.draw(g) + settingsButton.draw(g) + } + +} |