54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
#ifndef ZONEFILE_H
|
|
#define ZONEFILE_H
|
|
|
|
#include "assetmap.h"
|
|
#include "utils.h"
|
|
|
|
#include <QStringList>
|
|
#include <QIcon>
|
|
|
|
class ZoneFile
|
|
{
|
|
public:
|
|
ZoneFile();
|
|
~ZoneFile();
|
|
ZoneFile(const ZoneFile &aZoneFile);
|
|
ZoneFile &operator=(const ZoneFile &other);
|
|
|
|
virtual bool Load(const QByteArray aFileData) = 0;
|
|
virtual Utils::AssetType AssetStrToEnum(const QString aAssetType) = 0;
|
|
virtual QByteArray GetBinaryData() {
|
|
return {};
|
|
}
|
|
|
|
QString GetStem();
|
|
QString GetBaseStem();
|
|
quint32 GetSize();
|
|
quint32 GetTagCount();
|
|
QStringList GetTags();
|
|
quint32 GetRecordCount();
|
|
QStringList GetRecords();
|
|
AssetMap GetAssetMap();
|
|
|
|
void SetStem(const QString aStem);
|
|
void SetSize(quint32 aSize);
|
|
void SetTagCount(quint32 aTagCount);
|
|
void SetTags(const QStringList aTags);
|
|
void SetRecordCount(quint32 aRecordCount);
|
|
void SetRecords(const QStringList aRecords);
|
|
void SetAssetMap(const AssetMap aAssetMap);
|
|
|
|
private:
|
|
QString mStem;
|
|
quint32 mSize;
|
|
quint32 mTagCount;
|
|
QStringList mTags;
|
|
quint32 mRecordCount;
|
|
QStringList mRecords;
|
|
AssetMap mAssetMap;
|
|
QString mPlatform;
|
|
QString mGame;
|
|
};
|
|
|
|
#endif // ZONEFILE_H
|