20    friend class ShaderManagerAttorney;
 
   22    static ShaderManager* ptrInstance;
 
   25    ShaderManager(
const ShaderManager&) = 
delete;
 
   26    ShaderManager& operator=(
const ShaderManager&) = 
delete;
 
   27    ~ShaderManager() = 
default;
 
   29    static ShaderManager& Instance()
 
   31        if (ptrInstance == 
nullptr)
 
   32            ptrInstance = 
new ShaderManager();
 
   54    static void Delete() { Instance().privDelete(); }
 
   57    ShaderObject* privGet(
const std::string& key);
 
   58    void privLoad(
const std::string& key, 
const std::string& path);
 
   72    static ShaderObject* 
Get(
const std::string& key) { 
return Instance().privGet(key); }
 
   80    static void Load(
const std::string& key, 
const std::string& path) { Instance().privLoad(key, path); }
 
 
std::map< std::string, ShaderObject * > storageMap
Map storing ShaderObject objects associated with their keys.
Definition ShaderManager.h:49
static const std::string defaultSpriteShaderKey
Default key for sprite shaders.
Definition ShaderManager.h:64
static ShaderObject * Get(const std::string &key)
Retrieves a ShaderObject object by its key.
Definition ShaderManager.h:72
static void Load(const std::string &key, const std::string &path)
Loads a ShaderObject object from a file path.
Definition ShaderManager.h:80
static const std::string defaultShaderKey
Default key for shaders.
Definition ShaderManager.h:44
static void Delete()
Deletes all managed ShaderObject objects.
Definition ShaderManager.h:54
const std::string defaultPath
Default path for loading shaders.
Definition ShaderManager.h:39