#ifndef XCLEAF_H
#define XCLEAF_H

#include "xasset.h"

#include <QVector>

class XCLeaf : public XAsset
{
public:
    explicit XCLeaf();
    ~XCLeaf();

    void ParseData(QDataStream *aStream) override;

    quint32 GetFirstCollAabbIndex() const;
    void SetFirstCollAabbIndex(quint32 index);

    quint32 GetCollAabbCount() const;
    void SetCollAabbCount(quint32 count);

    int GetBrushContents() const;
    void SetBrushContents(int contents);

    int GetTerrainContents() const;
    void SetTerrainContents(int contents);

    QVector<float> GetMins() const;
    void SetMins(QVector<float> aMins);

    QVector<float> GetMaxs() const;
    void SetMaxs(QVector<float> aMaxs);

    int GetLeafBrushNode() const;
    void SetLeafBrushNode(int node);

    qint16 GetCluster() const;
    void SetCluster(qint16 cluster);

private:
    quint32 mFirstCollAabbIndex;
    quint32 mCollAabbCount;
    int mBrushContents;
    int mTerrainContents;
    QVector<float> mMins;
    QVector<float> mMaxs;
    int mLeafBrushNode;
    qint16 mCluster;
};

#endif // XCLEAF_H
