43 lines
931 B
C++
43 lines
931 B
C++
#ifndef XASSETLIST_H
|
|
#define XASSETLIST_H
|
|
|
|
#include "xassetheader.h"
|
|
#include "xscriptstringlist.h"
|
|
#include "xasset.h"
|
|
|
|
#include <QVector>
|
|
|
|
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<XAsset*> GetAssets() const;
|
|
XAsset* GetAsset(size_t aIndex) const;
|
|
QVector<XAsset*> GetAssetsByType(XAssetType aAssetType) const;
|
|
void SetAssets(QVector<XAsset *> assets);
|
|
void AddAsset(XAsset* aAsset);
|
|
|
|
size_t Size() const;
|
|
|
|
private:
|
|
XScriptStringList mStringList;
|
|
quint32 mAssetCount;
|
|
QVector<XAsset*> mAssets;
|
|
QVector<XAssetHeader> mAssetHeaders;
|
|
ZoneFile* mZoneFile;
|
|
};
|
|
|
|
#endif // XASSETLIST_H
|
|
|