#ifndef XITEMDEF_H
#define XITEMDEF_H

#include "xasset.h"
#include "xitemkeyhandler.h"
#include "xmenudef.h"
#include "xsoundaliaslist.h"
#include "xstatement.h"
#include "xwindowdef.h"
#include "xitemdefdata.h"

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

    int GetType() const;

    void Clear() override;
    void ParseData(XDataStream *aStream) override;

private:
    XWindowDef mWindow;
    QVector<XRectDef> mTextRect;
    int mType;
    int mDataType;
    int mAlignment;
    int mFontEnum;
    int mTextAlignMode;
    float mTextalignx;
    float mTextaligny;
    float mTextscale;
    int mTextStyle;
    int mGameMsgWindowIndex;
    int mGameMsgWindowMode;
    QString mtext;
    int mItemFlags;
    XMenuDef *mParent;
    QString mMouseEnterText;
    QString mMouseExitText;
    QString mMouseEnter;
    QString mMouseExit;
    QString mAction;
    QString mOnAccept;
    QString mOnFocus;
    QString mLeaveFocus;
    QString mDvar;
    QString mDvarTest;
    XItemKeyHandler *mOnKey;
    QString mEnableDvar;
    int mDvarFlags;
    XSoundAliasList *mFocusSound;
    float mSpecial;
    int mCursorPos[4];
    XItemDefData mTypeData;
    int mImageTrack;
    XStatement mVisibleExp;
    XStatement mTextExp;
    XStatement mMaterialExp;
    XStatement mRectXExp;
    XStatement mRectYExp;
    XStatement mRectWExp;
    XStatement mRectHExp;
    XStatement mForecolorAExp;
};

#endif // XITEMDEF_H
