#ifndef ASSETS_ASSETS_H_ #define ASSETS_ASSETS_H_ #include "../graphics/TextureAnimation.h" #include #include #include #include class Texture; class Shader; class Font; class Atlas; class Assets { std::unordered_map> textures; std::unordered_map> shaders; std::unordered_map> fonts; std::unordered_map> atlases; std::vector animations; public: ~Assets(); Texture* getTexture(std::string name) const; void store(Texture* texture, std::string name); Shader* getShader(std::string name) const; void store(Shader* shader, std::string name); Font* getFont(std::string name) const; void store(Font* font, std::string name); Atlas* getAtlas(std::string name) const; void store(Atlas* atlas, std::string name); const std::vector& getAnimations(); void store(const TextureAnimation& animation); void extend(const Assets& assets); }; #endif /* ASSETS_ASSETS_H_ */