From f22a4557c99a8541d2ce3e3f8b61db5a33f4240b Mon Sep 17 00:00:00 2001 From: nathansmithsmith Date: Sun, 1 Oct 2023 19:46:39 -0600 Subject: Better design for level handling --- src/levels.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/levels.h') 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 -- cgit v1.2.3