#ifndef ZONEFILE_H #define ZONEFILE_H #include "assetmap.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(); 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