diff options
Diffstat (limited to 'source/Texture.hpp')
-rw-r--r-- | source/Texture.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/Texture.hpp b/source/Texture.hpp index c372998..c330bb3 100644 --- a/source/Texture.hpp +++ b/source/Texture.hpp @@ -2,6 +2,7 @@ #include "RcPtr.hpp" +#include <absl/container/flat_hash_map.h> #include <glad/glad.h> #include <glm/glm.hpp> #include <memory> @@ -64,3 +65,17 @@ struct Subregion { struct TextureSubregion : public Subregion { RcPtr<Texture> atlasTexture; }; + +class TextureManager { +public: + static inline TextureManager* instance = nullptr; + +private: + absl::flat_hash_map<std::string_view, RcPtr<Texture>> mTextures; + +public: + void DiscoverTextures(); + + const auto& GetTextures() const { return mTextures; } + Texture* FindTexture(std::string_view name); +}; |