diff options
author | nathansmithsmith <nathansmith7@mailfence.com> | 2023-10-01 19:46:39 -0600 |
---|---|---|
committer | nathansmithsmith <nathansmith7@mailfence.com> | 2023-10-01 19:46:39 -0600 |
commit | f22a4557c99a8541d2ce3e3f8b61db5a33f4240b (patch) | |
tree | 18c357ac65d1e006307160fb693e9cdfe71ea401 /src/levels.h | |
parent | 939c371224e94f0ea4bdfb5f67e50b7ab943127c (diff) |
Better design for level handling
Diffstat (limited to 'src/levels.h')
-rw-r--r-- | src/levels.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/levels.h b/src/levels.h index d349a93..5d0546f 100644 --- a/src/levels.h +++ b/src/levels.h @@ -7,9 +7,12 @@ #define LEVELS_COUNT 1 +#define NO_LEVEL -1 + typedef struct Levels Levels; typedef void (*LevelInitCb)(Game * game, Levels * levels); +typedef void (*LevelCloseCb)(Levels * levels); typedef bool (*LevelUpdateCb)(Game * game, Levels * levels); // Returns true when level is complete typedef struct Levels { @@ -19,15 +22,15 @@ typedef struct Levels { typedef struct LevelInfo { LevelInitCb initCb; + LevelCloseCb closeCb; LevelUpdateCb updateCb; } LevelInfo; extern const LevelInfo levelInfoList[LEVELS_COUNT]; void initLevels(Levels * levels); -void freeLevels(Levels * levels); - void startLevel(Game * game, Levels * levels, int levelNum); +void updateLevel(Game * game, Levels * levels); void endLevel(Levels * levels); #endif |