#ifndef XGFXLIGHTGRID_H
#define XGFXLIGHTGRID_H

#include "xasset.h"
#include "xgfxlightgridentry.h"
#include "xgfxlightgridcolors.h"

#include <QVector>
#include <QVector3D>

class XGfxLightGrid : public XAsset
{
public:
    XGfxLightGrid();
    virtual ~XGfxLightGrid();

    // Override Clear and ParseData from XAsset
    virtual void Clear() override;
    virtual void ParseData(QDataStream *aStream) override;

private:
    bool mHasLightRegions;
    quint32 mSunPrimaryLightIndex;
    QVector3D mMins;
    QVector3D mMaxs;
    quint32 mRowAxis;
    quint32 mColAxis;
    quint16 *mRowDataStart;
    quint32 mRawRowDataSize;
    quint8 *mRawRowData;
    quint32 mEntryCount;
    QVector<XGfxLightGridEntry> mEntries;
    quint32 mColorCount;
    QVector<XGfxLightGridColors> mColors;
};

#endif // XGFXLIGHTGRID_H
