19 friend class ModelManagerAttorney;
21 static ModelManager* ptrInstance;
24 ModelManager(
const ModelManager&) =
delete;
25 ModelManager& operator=(
const ModelManager&) =
delete;
26 ~ModelManager() =
default;
28 static ModelManager& Instance()
30 if (ptrInstance ==
nullptr)
31 ptrInstance =
new ModelManager();
48 static void Delete() { Instance().privDelete(); }
51 Model* privGet(
const std::string& key);
52 void privLoad(
const std::string& key,
const Model::PreMadeModels model);
53 void privLoad(
const std::string& key,
const std::string& path);
54 void privLoad(
const std::string& key,
int planeSize,
int u,
int v);
68 static Model*
Get(
const std::string& key) {
return Instance().privGet(key); }
76 static void Load(
const std::string& key,
const Model::PreMadeModels model) { Instance().privLoad(key, model); }
84 static void Load(
const std::string& key,
const std::string& path) { Instance().privLoad(key, path); }
94 static void Load(
const std::string& key,
int planeSize,
int u,
int v) { Instance().privLoad(key, planeSize, u, v); }
static Model * Get(const std::string &key)
Retrieves a Model object by its key (private implementation).
Definition ModelManager.h:68
static void Load(const std::string &key, const Model::PreMadeModels model)
Loads a pre-made Model object (private implementation).
Definition ModelManager.h:76
static const std::string defaultSpriteModelKey
Default key for sprite models.
Definition ModelManager.h:60
const std::string DefaultPath
Default path for loading models.
Definition ModelManager.h:38
static void Load(const std::string &key, int planeSize, int u, int v)
Loads a Model object with specified parameters (private implementation).
Definition ModelManager.h:94
std::map< std::string, Model * > storageMap
Map storing Model objects associated with their keys.
Definition ModelManager.h:43
static void Load(const std::string &key, const std::string &path)
Loads a Model object from a file path (private implementation).
Definition ModelManager.h:84
static void Delete()
Deletes all managed Model objects and the singleton instance.
Definition ModelManager.h:48