feat: added assetdb
parent
d991db980f
commit
4b5bbaf872
|
@ -0,0 +1,28 @@
|
|||
#ifndef CANVAS_ASSET_WRAPPER_HPP
|
||||
#define CANVAS_ASSET_WRAPPER_HPP
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
class AssetPtrBase {
|
||||
std::string path{};
|
||||
std::string name{};
|
||||
public:
|
||||
virtual ~AssetPtrBase() = default;
|
||||
};
|
||||
|
||||
template <class AssetType>
|
||||
class AssetPtr {
|
||||
std::shared_ptr<AssetType> asset;
|
||||
public:
|
||||
AssetPtr();
|
||||
virtual ~AssetPtr();
|
||||
};
|
||||
|
||||
class AssetDB {
|
||||
std::vector<std::unique_ptr<AssetPtrBase>> assets;
|
||||
public:
|
||||
template <class AssetType> std::shared_ptr<AssetType> load_asset();
|
||||
};
|
||||
|
||||
#endif // !CANVAS_ASSET_WRAPPER_HPP
|
Loading…
Reference in New Issue