zengine-old/engine/3rdparty/zasset/include/asset.h

33 lines
658 B
C
Raw Normal View History

2024-03-03 23:33:13 +08:00
#include <cstdint>
#include <string>
namespace engineapi
{
class Asset {
public:
enum {
ASSET_NONE,
ASSET_SHARED_TYPE,
ASSET_COPY_TYPE,
ASSET_ASYNC_TYPE,
ASSET_LOADED_TYPE,
ASSET_NUM,
};
protected:
uint32_t mFlags;
std::string mName;
public:
Asset(std::string& name, uint32_t flags):mName(name),mFlags(flags) {};
virtual void onLoadFinished() { mFlags |= ASSET_LOADED_TYPE; };
virtual void SyncLoad() {};
public:
inline bool IsShared() {
return mFlags & ASSET_SHARED_TYPE;
}
inline bool IsCopyed() {
return mFlags & ASSET_COPY_TYPE;
}
inline bool IsAsync() {
return mFlags & ASSET_ASYNC_TYPE;
}
};
}