#ifndef XASSETLIST_H #define XASSETLIST_H #include "xassetheader.h" #include "xscriptstringlist.h" #include "xasset.h" #include class ZoneFile; class XAssetList : public XAsset { public: explicit XAssetList(); XAssetList(ZoneFile* aZoneFile); ~XAssetList() override; void ParseData(XDataStream *aStream) override; void Clear() override; XScriptStringList GetStringList() const; void SetStringList(const XScriptStringList& stringList); QVector GetAssets() const; XAsset* GetAsset(size_t aIndex) const; QVector GetAssetsByType(XAssetType aAssetType) const; void SetAssets(QVector assets); void AddAsset(XAsset* aAsset); size_t Size() const; private: XScriptStringList mStringList; quint32 mAssetCount; QVector mAssets; QVector mAssetHeaders; ZoneFile* mZoneFile; }; #endif // XASSETLIST_H