XPlor/libs/xassets/xassetlist.h
2025-09-10 21:56:32 -04:00

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