summaryrefslogtreecommitdiff
path: root/src/floor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/floor.h')
-rw-r--r--src/floor.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/floor.h b/src/floor.h
new file mode 100644
index 0000000..4f112fa
--- /dev/null
+++ b/src/floor.h
@@ -0,0 +1,37 @@
+#ifndef __FLOOR_H_
+#define __FLOOR_H_
+
+#include "editor.h"
+#include "raylib.h"
+#include "tileset.h"
+
+typedef struct {
+ int id;
+ Vector2 position;
+ TilesetTile *tilesetTile;
+} Tile;
+
+typedef struct {
+ int index;
+ int tileCount;
+ Tile *tiles[];
+} TileLayer;
+
+typedef struct {
+ int width, height;
+ int layerCount;
+ TileLayer *layers[];
+} TileFloor;
+
+Tile *SE_CreateTile(TileLayer *layer, TilesetTile *tilesetTile);
+void SE_RemoveTile(TileLayer *layer, Tile *tile);
+Tile *SE_FindTileAtPosition(TileLayer *layer, Vector2 position);
+
+TileLayer *SE_CreateTileLayer(TileFloor *floor);
+
+TileFloor *SE_CreateTileFloor(int width, int height);
+void SE_UpdateTileFloor(EditorState *state, TileFloor *floor, Camera2D *camera);
+void SE_DrawTileFloor(TileFloor *floor, EditorState *state, Camera2D *camera);
+void SE_UnloadTileFloor(TileFloor *floor);
+
+#endif \ No newline at end of file