XPlor/libs/zonefile/zonefile.h
2025-07-10 00:05:44 -04:00

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