aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/levels.c4
-rw-r--r--src/levels.h28
2 files changed, 32 insertions, 0 deletions
diff --git a/src/levels.c b/src/levels.c
new file mode 100644
index 0000000..ff2b2b6
--- /dev/null
+++ b/src/levels.c
@@ -0,0 +1,4 @@
+#include "levels.h"
+
+const LevelInfo levelInfoList[LEVELS_COUNT] = {
+};
diff --git a/src/levels.h b/src/levels.h
new file mode 100644
index 0000000..8630757
--- /dev/null
+++ b/src/levels.h
@@ -0,0 +1,28 @@
+#include "gameCommon.h"
+#include "world.h"
+#include "entity.h"
+
+#ifndef LEVELS_H
+#define LEVELS_H
+
+#define LEVELS_COUNT 1
+
+typedef struct Level Level;
+
+typedef void (*LevelInitCb)(Game * game, Level * level);
+typedef void (*LevelUpdateCb)(Game * game, Level * level);
+
+typedef struct Level {
+ WorldEntry * entries;
+ size_t entriesCount;
+ LevelUpdateCb updateCb;
+} Level;
+
+typedef struct LevelInfo {
+ LevelInitCb initCb;
+ LevelUpdateCb updateCb;
+} LevelInfo;
+
+extern const LevelInfo levelInfoList[LEVELS_COUNT];
+
+#endif