44 lines
995 B
C++
44 lines
995 B
C++
#include "xoperandinternaldataunion.h"
|
|
|
|
XOperandInternalDataUnion::XOperandInternalDataUnion()
|
|
: XAsset()
|
|
, mIntVal(0)
|
|
, mFloatVal(0.0f)
|
|
, mString()
|
|
{
|
|
SetName("Operand Internal Data Union");
|
|
}
|
|
|
|
XOperandInternalDataUnion::~XOperandInternalDataUnion()
|
|
{
|
|
|
|
}
|
|
|
|
void XOperandInternalDataUnion::ParseData(XDataStream *aStream)
|
|
{
|
|
aStream->ParseSingle(QString("%1 center of mass x").arg(GetName()));
|
|
}
|
|
|
|
void XOperandInternalDataUnion::ParseData(XDataStream *aStream, XExpDataType aDataType)
|
|
{
|
|
if (aDataType == VAL_INT)
|
|
{
|
|
mIntVal = aStream->ParseInt32(QString("%1 int val").arg(GetName()));
|
|
}
|
|
else if (aDataType == VAL_FLOAT)
|
|
{
|
|
mFloatVal = aStream->ParseSingle(QString("%1 float val").arg(GetName()));
|
|
}
|
|
else if (aDataType == VAL_STRING)
|
|
{
|
|
mString.ParseData(aStream);
|
|
}
|
|
}
|
|
|
|
void XOperandInternalDataUnion::Clear()
|
|
{
|
|
mIntVal = 0;
|
|
mFloatVal = 0;
|
|
mString.Clear();
|
|
}
|