#ifndef XPATHDATA_H #define XPATHDATA_H #include "xasset.h" #include "gameworld.h" #include "xpathnode.h" #include "xpathbasenode.h" #include "xpathnodetree.h" class XPathData : public XAsset { public: explicit XPathData(); void ParseData(QDataStream *aStream) override; unsigned int GetNodeCount() const; void SetNodeCount(unsigned int count); private: unsigned int mNodeCount = 0; // Using our new classes instead of raw pointers to structures QVector mNodes; // Vector for automatic memory management QVector mBaseNodes; unsigned int mChainNodeCount = 0; QVector mChainNodeForNode; QVector mNodeForChainNode; int mVisBytes = 0; QByteArray mPathVis; // Using QByteArray for automatic memory management int mNodeTreeCount = 0; QVector mNodeTrees; }; #endif // XPATHDATA_H