2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Класс ResourceManager управляет загрузкой и выгрузкой игровых ресурсов.
|
|
|
|
|
*/
|
2024-02-14 17:13:05 +03:00
|
|
|
|
class ResourceManager {
|
|
|
|
|
public:
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Загружает ресурс (текстура, модель, звук и т.д.).
|
|
|
|
|
* @param resourcePath Путь к ресурсу.
|
|
|
|
|
*/
|
2024-02-14 17:13:05 +03:00
|
|
|
|
void loadResource(const std::string& resourcePath);
|
|
|
|
|
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Возвращает загруженный ресурс.
|
|
|
|
|
* @tparam ResourceType Тип возвращаемого ресурса.
|
|
|
|
|
* @param resourceName Имя ресурса.
|
|
|
|
|
* @return Загруженный ресурс заданного типа.
|
|
|
|
|
*/
|
2024-02-14 17:13:05 +03:00
|
|
|
|
template <typename ResourceType>
|
|
|
|
|
ResourceType getResource(const std::string& resourceName);
|
|
|
|
|
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Освобождает ресурсы.
|
|
|
|
|
*/
|
2024-02-14 17:13:05 +03:00
|
|
|
|
void unloadAllResources();
|
|
|
|
|
};
|