Add Asset system

- Add Abstract Asset class which defines Assets
- Add AssetManager class to keep track of all the Asset
- Add AssetFile class to cache the asset without loading it
- Add UUID class to uniquely identify assets
- Add MetaFile class to load meta asset files
This commit is contained in:
Thraix
2023-04-13 21:00:36 +02:00
parent 431ad9c573
commit d9e7fd7019
29 changed files with 1002 additions and 37 deletions
+30
View File
@@ -0,0 +1,30 @@
#pragma once
#include "copium/asset/AssetMeta.h"
#include "copium/util/MetaFile.h"
#include "copium/util/UUID.h"
#include <stdint.h>
namespace Copium
{
class Asset
{
friend class AssetManager;
public:
Asset(AssetType type);
virtual ~Asset();
AssetHandle GetHandle() const;
AssetType GetType() const;
const std::string& GetName() const;
UUID GetUUID() const;
bool isRuntime() const;
operator AssetHandle() const;
private:
AssetMeta metaData;
};
}