diff options
author | nathansmithsmith <thenathansmithsmith@gmail.com> | 2023-12-22 17:28:41 -0700 |
---|---|---|
committer | nathansmithsmith <thenathansmithsmith@gmail.com> | 2023-12-22 17:28:41 -0700 |
commit | 2fb4b9a9b8f1de6d22a356ad58cd6ebef15126c5 (patch) | |
tree | 29d0a51788deea1f35dd07904e02deb735e5ced6 /src/screens/gameScreen.c | |
parent | af1c26fa866a290eeace75fdf4e0bac8b43e09c5 (diff) |
Finally added the end button lol
Diffstat (limited to 'src/screens/gameScreen.c')
-rw-r--r-- | src/screens/gameScreen.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/screens/gameScreen.c b/src/screens/gameScreen.c index de650c5..8fe141a 100644 --- a/src/screens/gameScreen.c +++ b/src/screens/gameScreen.c @@ -198,7 +198,23 @@ void drawGameScreenGui(Game * game) { drawRadar(game, &gameScreen->radar); } +void resetGame(Game * game, GameScreen * gameScreen) { + gameScreen->gameOver = false; + gameScreen->lastLevel = 0; + gameScreen->levelComplete = false; + gameScreen->gameComplete = false; + resetKillLog(&game->killLog); + + startLevel(game, &game->levels, 0); +} + void handleGameScreenInput(Game * game, GameScreen * gameScreen) { + if (IsKeyPressed(KEY_E)) { + resetGame(game, gameScreen); + closeGameScreen(game); + game->screenId = SCREEN_MAIN_MENU; + } + switch(GetKeyPressed()) { case KEY_ONE: gameScreen->mainCamera = FIRST_PERSON_CAMERA; @@ -385,16 +401,6 @@ void drawGameOverGameScreen(Game * game, GameScreen * gameScreen) { DrawText(gameOverMsg, position.x, position.y, GAME_SCREEN_GAME_OVER_FONT_SIZE, GREEN); } -void resetGame(Game * game, GameScreen * gameScreen) { - gameScreen->gameOver = false; - gameScreen->lastLevel = 0; - gameScreen->levelComplete = false; - gameScreen->gameComplete = false; - resetKillLog(&game->killLog); - - startLevel(game, &game->levels, 0); -} - bool handleGameOver(Game * game, GameScreen * gameScreen) { Entity * player = getEntityFromWorld(game->world, 0); |