#ifndef _fencer_level_h #define _fencer_level_h #include "asset.h" #include "sprite.h" #include #include typedef struct Tilemap Tilemap; typedef struct Level Level; extern void world_init(); extern void world_close(); extern Level* level_from_json(cJSON* json); extern Level* level_load(const char* level_id); extern void level_destroy(Level* self); extern void level_draw(Level* self); extern Tilemap* level_get_tilemap_layer(Level* self, size_t layer); extern size_t level_get_tilemap_count(Level* self); extern asset_id level_get_asset_id(Level* self); extern void level_set_asset_id(Level* self, asset_id id); extern void _internal_level_destroy(Level* self); impl_Drop_for(Level, _internal_level_destroy ) impl_Asset_for(Level, level_get_asset_id, level_set_asset_id ) #endif // !_fencer_level_h