33 lines
658 B
C++
33 lines
658 B
C++
#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;
|
|
}
|
|
};
|
|
} |