diff options
author | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2017-05-26 16:11:17 +0200 |
---|---|---|
committer | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2017-05-26 16:11:17 +0200 |
commit | 8ac4fe6d5ba5091923c7fdf1fa88724d827706fa (patch) | |
tree | a4ce203f671f9b8311d09dd36f1f80ae65799a56 /src/graphics/AssetManager_old.hpp | |
parent | 2017-05-21 (diff) | |
download | AltCraft-8ac4fe6d5ba5091923c7fdf1fa88724d827706fa.tar AltCraft-8ac4fe6d5ba5091923c7fdf1fa88724d827706fa.tar.gz AltCraft-8ac4fe6d5ba5091923c7fdf1fa88724d827706fa.tar.bz2 AltCraft-8ac4fe6d5ba5091923c7fdf1fa88724d827706fa.tar.lz AltCraft-8ac4fe6d5ba5091923c7fdf1fa88724d827706fa.tar.xz AltCraft-8ac4fe6d5ba5091923c7fdf1fa88724d827706fa.tar.zst AltCraft-8ac4fe6d5ba5091923c7fdf1fa88724d827706fa.zip |
Diffstat (limited to 'src/graphics/AssetManager_old.hpp')
-rw-r--r-- | src/graphics/AssetManager_old.hpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/graphics/AssetManager_old.hpp b/src/graphics/AssetManager_old.hpp new file mode 100644 index 0000000..23a11a7 --- /dev/null +++ b/src/graphics/AssetManager_old.hpp @@ -0,0 +1,53 @@ +#pragma once + +#include <fstream> +#include <string> +#include <map> +#include <experimental/filesystem> +#include <nlohmann/json.hpp> +#include "Texture.hpp" + +struct Asset { + std::string name = ""; + std::string hash = ""; + union AssetData{ + Texture *texture; + } data; + size_t size = 0; + enum AssetType { + Unknown, + Texture, + Sound, + Model, + Lang, + } type = Unknown; + bool isParsed(); + ~Asset(); +}; + +class AssetManager_old { + AssetManager_old(); + + ~AssetManager_old(); + + AssetManager_old(const AssetManager_old &); + + AssetManager_old &operator=(const AssetManager_old &); + + std::map<std::string, Asset> assets; + + static AssetManager_old &instance() { + static AssetManager_old assetManager; + return assetManager; + } + + static std::string GetPathToAsset(std::string AssetName); +public: + + static Asset &GetAsset(std::string AssetName); + + static void LoadAsset(std::string AssetName); + + static std::string GetAssetNameByBlockId(unsigned short id); +}; + |