XPlor/libs/zonefile/zonefile.h
2025-09-03 13:03:14 -04:00

54 lines
1.2 KiB
C++

#ifndef ZONEFILE_H
#define ZONEFILE_H
#include "xasset.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();
QVector<XAsset> GetAssetList();
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 SetAssetList(const QVector<XAsset> aAssetList);
private:
QString mStem;
quint32 mSize;
quint32 mTagCount;
QStringList mTags;
quint32 mRecordCount;
QStringList mRecords;
QVector<XAsset> mAssetList;
QString mPlatform;
QString mGame;
};
#endif // ZONEFILE_H