#pragma once #include #include #include #include #include #include #include "Entity.h" class Vector2D; class Manager; enum class PowerupType { HEART, WALKINGSPEED, SHOOTINGSPEED }; class AssetManager { public: AssetManager(Manager* manager); ~AssetManager(); void createProjectile(Vector2D pos, Vector2D velocity, int scale, int range, float speed, Textures textureEnum, Entity* owner); void createPowerup(Vector2D pos, std::function pickupFunc, Textures texture); Vector2D calculateSpawnPosition(); PowerupType calculateType(); // sound management void addSoundEffect(std::string id, const char* path); void addMusic(std::string id, const char* path); void addFont(std::string id, const char* path); Mix_Chunk* getSound(std::string id); // ??? do we not have a getsound implemented????? too busy to look now, where do we get the soundeffects??? Mix_Music* getMusic(std::string id); TTF_Font* getFont(std::string id); private: Manager* man; std::map soundEffects; std::map music; std::map fonts; };