aboutsummaryrefslogtreecommitdiff
path: root/source/Texture.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Texture.hpp')
-rw-r--r--source/Texture.hpp15
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);
+};