diff options
| -rw-r--r-- | src/crepe/api/AssetManager.h | 20 | ||||
| -rw-r--r-- | src/crepe/api/AssetManager.hpp | 23 | ||||
| -rw-r--r-- | src/crepe/api/CMakeLists.txt | 1 | 
3 files changed, 28 insertions, 16 deletions
diff --git a/src/crepe/api/AssetManager.h b/src/crepe/api/AssetManager.h index d9d9b44..a53ace5 100644 --- a/src/crepe/api/AssetManager.h +++ b/src/crepe/api/AssetManager.h @@ -4,7 +4,6 @@  #include <memory>  #include <string>  #include <unordered_map> -#include <utility>  namespace crepe::api { @@ -27,21 +26,10 @@ public:  public:  	template <typename asset> -	std::shared_ptr<asset> cache(const std::string & file_path, -								 bool reload = false) { -		auto it = asset_cache.find(file_path); - -		if (!reload && it != asset_cache.end()) { -			return std::any_cast<std::shared_ptr<asset>>(it->second); -		} - -		std::shared_ptr<asset> new_asset -			= std::make_shared<asset>(file_path.c_str()); - -		asset_cache[file_path] = new_asset; - -		return new_asset; -	} +	std::shared_ptr<asset> cache(const std::string & file_path, bool reload = false);  };  } // namespace crepe::api + +#include "AssetManager.hpp" + diff --git a/src/crepe/api/AssetManager.hpp b/src/crepe/api/AssetManager.hpp new file mode 100644 index 0000000..083fd9d --- /dev/null +++ b/src/crepe/api/AssetManager.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include "AssetManager.h" + +namespace crepe::api { + +template <typename asset> +std::shared_ptr<asset> AssetManager::cache(const std::string & file_path, bool reload) { +	auto it = asset_cache.find(file_path); + +	if (!reload && it != asset_cache.end()) { +		return std::any_cast<std::shared_ptr<asset>>(it->second); +	} + +	std::shared_ptr<asset> new_asset +		= std::make_shared<asset>(file_path.c_str()); + +	asset_cache[file_path] = new_asset; + +	return new_asset; +} + +} // namespace crepe::api diff --git a/src/crepe/api/CMakeLists.txt b/src/crepe/api/CMakeLists.txt index cca4994..e74bb41 100644 --- a/src/crepe/api/CMakeLists.txt +++ b/src/crepe/api/CMakeLists.txt @@ -25,4 +25,5 @@ target_sources(crepe PUBLIC FILE_SET HEADERS FILES  	Color.h  	Texture.h   	AssetManager.h  +	AssetManager.hpp  )  |