20 friend class TextureManagerAttorney;
22 static TextureManager* ptrInstance;
25 TextureManager(
const TextureManager&) =
delete;
26 TextureManager& operator=(
const TextureManager&) =
delete;
27 ~TextureManager() =
default;
29 static TextureManager& Instance()
31 if (ptrInstance ==
nullptr)
32 ptrInstance =
new TextureManager();
49 static void Delete() { Instance().privDelete(); }
52 Texture* privGet(
const std::string& key);
53 void privLoad(
const std::string& key,
const std::string& path);
54 void privLoad(
const std::string& key,
const unsigned char& red,
const unsigned char& green,
const unsigned char& blue);
63 static Texture*
Get(
const std::string& key) {
return Instance().privGet(key); }
71 static void Load(
const std::string& key,
const std::string& path) { Instance().privLoad(key, path); }
81 static void Load(
const std::string& key,
const unsigned char& red,
const unsigned char& green,
const unsigned char& blue) { Instance().privLoad(key, red, green, blue); }
std::map< std::string, Texture * > storageMap
Map storing Texture objects associated with their keys.
Definition TextureManager.h:44
static Texture * Get(const std::string &key)
Retrieves a Texture object by its key.
Definition TextureManager.h:63
static void Delete()
Deletes all managed Texture objects.
Definition TextureManager.h:49
const std::string defaultPath
Default path for loading textures.
Definition TextureManager.h:39
static void Load(const std::string &key, const std::string &path)
Loads a Texture object from a file path.
Definition TextureManager.h:71
static void Load(const std::string &key, const unsigned char &red, const unsigned char &green, const unsigned char &blue)
Loads a single pixel Texture object with specified color.
Definition TextureManager.h:81