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