#ifndef ASSET_MANAGER_H #define ASSET_MANAGER_H #include "Renderer.h" #include "SDL_mixer.h" #include "SDL_render.h" #include "reusable_ids.h" #include typedef enum { ASSET_TYPE_IMAGE, ASSET_TYPE_AUDIO_FX, ASSET_TYPE_MUSIC, ASSET_TYPE_COUNT } AssetType; typedef struct asset_manager AssetManager; AssetManager *create_asset_manager(); AssetID load_asset_to_manager(AssetManager *am, const char *path, AssetType type, Renderer *renderer); void remove_asset_from_manager(AssetManager *am, AssetID id); SDL_Texture *get_texture(AssetManager *am, AssetID id); Mix_Chunk *get_audio_chunk(AssetManager *am, AssetID id); Mix_Music *get_music(AssetManager *am, AssetID id); void destroy_asset_manager(AssetManager *am); #endif // !ASSET_MANAGER_H