aboutsummaryrefslogtreecommitdiff
path: root/src/levels.c
blob: 221da159cfcad14fcdf9899223dd2a4d8a9eff30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "levels.h"

const LevelInfo levelInfoList[LEVELS_COUNT] = {
};

void initLevels(Levels * levels) {
    levels->currentLevel = NO_LEVEL;
    levels->data = NULL;
}

void startLevel(Game * game, Levels * levels, int levelNum) {
    levels->currentLevel = levelNum;
    levelInfoList[levelNum].initCb(game, levels);
}

void updateLevel(Game * game, Levels * levels) {
    if (levels->currentLevel != NO_LEVEL)
        levelInfoList[levels->currentLevel].updateCb(game, levels);
}

void endLevel(Levels * levels) {
   if (levels->currentLevel != NO_LEVEL)
        levelInfoList[levels->currentLevel].closeCb(levels);

    levels->currentLevel = NO_LEVEL;
    levels->data = NULL;
}