#ifndef XCLEAFBRUSHNODEDATA_H
#define XCLEAFBRUSHNODEDATA_H

#include "xasset.h"
#include "xcleafbrushnodechildren.h"

class XCLeafBrushNodeLeaf;

class XCLeafBrushNodeData : public XAsset
{
public:
    explicit XCLeafBrushNodeData();
    virtual ~XCLeafBrushNodeData() override;

    void ParseData(QDataStream *aStream) override;
    virtual void Clear() override;

    // Option 1: Leaf data
    XCLeafBrushNodeLeaf* GetLeaf() const;
    void SetLeaf(XCLeafBrushNodeLeaf& leaf);

    // Option 2: Children data
    XCLeafBrushNodeChildren *GetChildren() const;
    void SetChildren(XCLeafBrushNodeChildren& children);

private:
    XCLeafBrushNodeLeaf *mLeaf;
    XCLeafBrushNodeChildren *mChildren;
};

#endif // XCLEAFBRUSHNODEDATA_H





