diff options
author | nathansmithsmith <nathansmith7@mailfence.com> | 2023-10-02 11:51:45 -0600 |
---|---|---|
committer | nathansmithsmith <nathansmith7@mailfence.com> | 2023-10-02 11:51:45 -0600 |
commit | 5b03b11020a39790b81a00cf5cae8f04bc4caffa (patch) | |
tree | 51648dc53d017c613bbffad56fca6fc7133a761f /src/levels.c | |
parent | f22a4557c99a8541d2ce3e3f8b61db5a33f4240b (diff) |
Started using the level handler
Diffstat (limited to 'src/levels.c')
-rw-r--r-- | src/levels.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/levels.c b/src/levels.c index 221da15..c5083eb 100644 --- a/src/levels.c +++ b/src/levels.c @@ -1,4 +1,6 @@ #include "levels.h" +#include "game.h" +#include "world.h" const LevelInfo levelInfoList[LEVELS_COUNT] = { }; @@ -10,19 +12,22 @@ void initLevels(Levels * levels) { void startLevel(Game * game, Levels * levels, int levelNum) { levels->currentLevel = levelNum; + initWorld(&game->world); levelInfoList[levelNum].initCb(game, levels); } -void updateLevel(Game * game, Levels * levels) { +bool updateLevel(Game * game, Levels * levels) { if (levels->currentLevel != NO_LEVEL) - levelInfoList[levels->currentLevel].updateCb(game, levels); + return levelInfoList[levels->currentLevel].updateCb(game, levels); + + return false; } -void endLevel(Levels * levels) { +void endLevel(Game * game, Levels * levels) { if (levels->currentLevel != NO_LEVEL) levelInfoList[levels->currentLevel].closeCb(levels); + freeWorld(&game->world); levels->currentLevel = NO_LEVEL; levels->data = NULL; } - |