diff options
Diffstat (limited to 'src/gameScreen.c')
-rw-r--r-- | src/gameScreen.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gameScreen.c b/src/gameScreen.c index 609f145..d35a05d 100644 --- a/src/gameScreen.c +++ b/src/gameScreen.c @@ -1,6 +1,7 @@ #include "gameScreen.h" #include "game.h" #include "world.h" +#include "entity.h" #include "bullets.h" #include "assets.h" #include "killLog.h" @@ -42,6 +43,7 @@ void initGameScreen(Game * game, GameScreen * gameScreen) { gameScreen->gameOver = false; gameScreen->mainCamera = THIRD_PERSON_CAMERA; gameScreen->levelComplete = false; + gameScreen->healthAtLevelEnd = ENTITY_MAX_HEALTH; // Gyroscope indeed initGyroscope(&gameScreen->gyroscope); @@ -238,6 +240,7 @@ void gameScreenHandleLevels(Game * game, GameScreen * gameScreen) { if (GetTime() - gameScreen->timeAtLevelComplete >= GAME_SCREEN_NEXT_LEVEL_DELAY) { gameScreen->levelComplete = false; startLevel(game, &game->levels, gameScreen->lastLevel + 1); + getEntityFromWorld(game->world, 0)->health = gameScreen->healthAtLevelEnd; } return; @@ -248,6 +251,7 @@ void gameScreenHandleLevels(Game * game, GameScreen * gameScreen) { // This fucker been completed. if (complete) { gameScreen->lastLevel = game->levels.currentLevel; + gameScreen->healthAtLevelEnd = getEntityFromWorld(game->world, 0)->health; endLevel(game, &game->levels); gameScreen->levelComplete = true; gameScreen->timeAtLevelComplete = GetTime(); |