XPlor/libs/xassets/xitemdefdata.cpp

79 lines
1.4 KiB
C++
Raw Normal View History

2025-09-07 23:15:59 -04:00
#include "xitemdefdata.h"
#include "xitemdef.h"
2025-09-05 21:35:10 +00:00
2025-09-07 23:15:59 -04:00
XItemDefData::XItemDefData()
2025-09-05 21:35:10 +00:00
: XAsset()
2025-09-07 23:15:59 -04:00
, mListBox()
, mEditField()
, mMulti()
, mEnumDvarName()
, mParent(nullptr)
2025-09-05 21:35:10 +00:00
{
2025-09-10 21:58:26 -04:00
SetName("Item Definition Data");
2025-09-05 21:35:10 +00:00
}
2025-09-07 23:15:59 -04:00
XItemDefData::XItemDefData(XItemDef &aParent)
: XAsset()
, mListBox()
, mEditField()
, mMulti()
, mEnumDvarName()
, mParent(&aParent)
2025-09-05 21:35:10 +00:00
{
2025-09-07 23:15:59 -04:00
2025-09-05 21:35:10 +00:00
}
2025-09-07 23:15:59 -04:00
XItemDefData::~XItemDefData()
2025-09-05 21:35:10 +00:00
{
2025-09-07 23:15:59 -04:00
delete mParent;
2025-09-05 21:35:10 +00:00
}
2025-09-07 23:15:59 -04:00
void XItemDefData::Clear()
2025-09-05 21:35:10 +00:00
{
2025-09-07 23:15:59 -04:00
mListBox.Clear();
mEditField.Clear();
mMulti.Clear();
mEnumDvarName.Clear();
mParent = nullptr;
}
2025-09-10 21:58:26 -04:00
void XItemDefData::ParseData(XDataStream *aStream)
2025-09-07 23:15:59 -04:00
{
if (!mParent)
{
return;
}
mListBox.ParsePtr(aStream, false);
mEditField.ParsePtr(aStream, false);
mMulti.ParsePtr(aStream, false);
mEnumDvarName.ParsePtr(aStream, false);
qint32 dataPtr;
*aStream >> dataPtr;
switch (mParent->GetType())
{
case 6:
mListBox.ParseData(aStream);
break;
case 0:
case 4:
case 9:
case 10:
case 11:
case 14:
case 16:
case 17:
case 18:
mListBox.ParseData(aStream);
break;
case 12:
mMulti.ParseData(aStream);
break;
case 13:
mEnumDvarName.ParseData(aStream);
break;
}
2025-09-05 21:35:10 +00:00
}