#ifndef __EDITOR_H__ #define __EDITOR_H__ #include #include #include "xd.h" #define TEXTURE_WIDTH 16.0f #define TEXTURE_HEIGHT 16.0f typedef struct { bool isFloor, isWall; char *upFilePath, *sideFilePath, *cornerFilePath; Texture2D upTexture, sideTexture, cornerTexture; } EditorCreateBlockState; typedef struct { XdTileData data; Texture2D texture; } EditorTileData; typedef struct { EditorTileData *tile; Vector2 position; } EditorTile; typedef struct { int tileDataSize; int tilesCount; EditorTileData *tileData[200]; EditorTile *tiles[]; } EditorCache; typedef struct { int currentLevel, currentLayer, activeMainTab; EditorCreateBlockState *createBlockState; Rectangle panelView; Vector2 panelScroll; EditorTileData *selectedTile; EditorCache cache; } EditorState; typedef struct { XdData *data; EditorState state; } Editor; void SE_DrawEditor(Editor *editor, Camera2D *camera); void SE_DrawEditorToolkit(Editor *editor); void SE_RebuildEditorCache(Editor *editor); #endif