diff options
| author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-29 12:21:26 +0100 |
|---|---|---|
| committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-29 12:21:26 +0100 |
| commit | c2ef6a36532c8c078fd7836325d6be277b946cbf (patch) | |
| tree | bcac24106220ad626aca5dfcd3576e7d60ac3af2 /src/crepe/ResourceManager.hpp | |
| parent | 74bffd3e466c342ca80811146a536716fb6437cb (diff) | |
| parent | 7a07c56d572a6f30d0aa611bd566197bc04c3b33 (diff) | |
merge `loek/scripts`
Diffstat (limited to 'src/crepe/ResourceManager.hpp')
| -rw-r--r-- | src/crepe/ResourceManager.hpp | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/src/crepe/ResourceManager.hpp b/src/crepe/ResourceManager.hpp deleted file mode 100644 index 8270bc5..0000000 --- a/src/crepe/ResourceManager.hpp +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -#include <format> - -#include "ResourceManager.h" - -namespace crepe { - -template <typename T> -T & ResourceManager::get(const Asset & asset) { - using namespace std; - static_assert(is_base_of<Resource, T>::value, "cache must recieve a derivative class of Resource"); - - CacheEntry & entry = this->get_entry(asset); - if (entry.resource == nullptr) - entry.resource = make_unique<T>(asset); - - T * concrete_resource = dynamic_cast<T *>(entry.resource.get()); - if (concrete_resource == nullptr) - throw runtime_error(format("ResourceManager: mismatch between requested type and actual type of resource ({})", asset.get_path())); - - return *concrete_resource; -} - -} - |