#ifndef XGFXLIGHT_H #define XGFXLIGHT_H #include "qcolor.h" #include "xasset.h" class XGfxLightDef; class XGfxLight : public XAsset { public: explicit XGfxLight(); ~XGfxLight(); void ParseData(QDataStream *aStream) override; unsigned char GetType() const; void SetType(unsigned char aType); unsigned char CanUseShadowMap() const; void SetCanUseShadowMap(bool aCanUse); QColor GetColor() const; void SetColor(const QColor& aColor); QVector GetDir() const; void SetDir(const QVector &aDir); QVector GetOrigin() const; void SetOrigin(const QVector &aOrigin); float GetRadius() const; void SetRadius(float aRadius); float GetCosHalfFovOuter() const; void SetCosHalfFovOuter(float aCosHalfFov); float GetCosHalfFovInner() const; void SetCosHalfFovInner(float aCosHalfFov); int GetExponent() const; void SetExponent(int aExponent); unsigned int GetSpotShadowIndex() const; void SetSpotShadowIndex(unsigned int aIndex); int GetDefPtr() const; void SetDefPtr(int ptr); private: unsigned char mType; unsigned char mCanUseShadowMap; QVector mUnused; QColor mColor; QVector mDir; QVector mOrigin; float mRadius; float mCosHalfFovOuter; float mCosHalfFovInner; qint32 mExponent; quint32 mSpotShadowIndex; qint32 mDefPtr; XGfxLightDef *mDef; }; #endif // XGFXLIGHT_H