#ifndef XANIMPARTS_H
#define XANIMPARTS_H

#include "xasset.h"
#include "xstring.h"
#include "xanimindices.h"
#include "xanimnotifyinfo.h"
#include "xanimdeltapart.h"

#include <QString>

class XAnimParts : public XAsset
{
public:
    explicit XAnimParts();
    ~XAnimParts() = default;

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

private:
    XString mName;

    quint32 mDataByteCount = 0;
    quint32 mDataShortCount = 0;
    quint32 mDataIntCount = 0;
    quint32 mRandomDataByteCount = 0;
    quint32 mRandomDataIntCount = 0;
    quint32 mNumFrames = 0;

    bool mIsLoop = false;
    bool mIsDelta = false;

    QVector<quint8> mBoneCount;
    quint8 mNotifyCount = 0;
    quint8 mAssetType = 0;

    bool mPad = false;

    quint32 mRandomDataShortCount = 0;
    quint32 mIndexCount = 0;

    float mFramerate = 0.0f;
    float mFrequency = 0.0f;

    quint16 mNames = 0;
    quint8 mDataByte = 0;
    qint16 mDataShort = 0;
    qint32 mDataInt = 0;
    qint16 mRandomDataShort = 0;
    quint8 mRandomDataByte = 0;
    qint32 mRandomDataInt = 0;
    XAnimIndices mIndices;
    XAnimNotifyInfo mNotify;
    XAnimDeltaPart mDeltaPart;
};

#endif // XANIMPARTS_H








