XPlor/libs/xassets/xmultidef.cpp

54 lines
1.2 KiB
C++

#include "xmultidef.h"
XMultiDef::XMultiDef()
: XAsset()
, mDvarList()
, mDvarStr()
, mDvarValue()
, mCount(0)
, mStrDef(0)
{
SetName("Multi Definition");
}
void XMultiDef::ParseData(XDataStream *aStream)
{
for (int i = 0; i < 32; i++)
{
XString newListDvar;
newListDvar.ParsePtr(aStream, false);
mDvarList.push_back(newListDvar);
}
for (int i = 0; i < 32; i++)
{
XString newListStr;
newListStr.ParsePtr(aStream, false);
mDvarStr.push_back(newListStr);
}
for (int i = 0; i < 32; i++)
{
mDvarValue.push_back(aStream->ParseSingle(QString("%1 dvar value %2").arg(GetName()).arg(i)));
}
mCount = aStream->ParseInt32(QString("%1 count").arg(GetName()));
mStrDef = aStream->ParseInt32(QString("%1 string def").arg(GetName()));
for (int i = 0; i < mDvarList.size(); i++)
{
mDvarList[i].ParseDataSafe(aStream);
}
for (int i = 0; i < mDvarStr.size(); i++)
{
mDvarStr[i].ParseDataSafe(aStream);
}
}
void XMultiDef::Clear()
{
mDvarList.clear();
mDvarStr.clear();
mDvarValue.clear();
mCount = 0;
mStrDef = 0;
}