XPlor/libs/xassets/xitemkeyhandler.cpp

47 lines
769 B
C++
Raw Normal View History

#include "xitemkeyhandler.h"
XItemKeyHandler::XItemKeyHandler()
: XAsset()
, mKey(0)
2025-09-07 23:16:00 -04:00
, mAction()
, mNext(nullptr)
{
2025-09-10 21:58:26 -04:00
SetName("Item Key Handler");
}
XItemKeyHandler::~XItemKeyHandler()
{
if (mNext)
{
delete mNext;
}
}
2025-09-10 21:58:26 -04:00
void XItemKeyHandler::ParseData(XDataStream *aStream)
{
*aStream >> mKey;
2025-09-07 23:16:00 -04:00
mAction.ParsePtr(aStream, false);
2025-09-07 23:16:00 -04:00
qint32 nextPtr = aStream->ParseInt32(QString("%1 next ptr").arg(GetName()));
2025-09-07 23:16:00 -04:00
mAction.ParseDataSafe(aStream);
2025-09-07 23:16:00 -04:00
if (nextPtr)
{
mNext = new XItemKeyHandler();
mNext->ParseData(aStream);
2025-09-07 23:16:00 -04:00
}
}
void XItemKeyHandler::Clear()
{
mKey = 0;
2025-09-07 23:16:00 -04:00
mAction.Clear();
if (mNext)
{
mNext->Clear();
}
}