Updated xitemkeyhandler

This commit is contained in:
njohnson 2025-09-07 23:16:00 -04:00
parent df1bad5380
commit 7d103dfcea
2 changed files with 23 additions and 9 deletions

View File

@ -3,8 +3,8 @@
XItemKeyHandler::XItemKeyHandler()
: XAsset()
, mKey(0)
, mAction("")
, mNext(new XItemKeyHandler())
, mAction()
, mNext(nullptr)
{
}
@ -16,13 +16,28 @@ XItemKeyHandler::~XItemKeyHandler()
void XItemKeyHandler::ParseData(QDataStream *aStream)
{
if (GetPtr() == -1)
{
*aStream >> mKey;
mAction.ParsePtr(aStream, false);
qint32 nextPtr;
*aStream >> nextPtr;
mAction.ParseData(aStream);
if (nextPtr)
{
mNext = new XItemKeyHandler();
mNext->ParseData(aStream);
}
}
}
void XItemKeyHandler::Clear()
{
mKey = 0;
mAction = "";
delete mNext;
mNext = new XItemKeyHandler();
mAction.Clear();
mNext = nullptr;
}

View File

@ -2,8 +2,7 @@
#define XITEMKEYHANDLER_H
#include "xasset.h"
#include <QString>
#include "xstring.h"
class XItemKeyHandler : public XAsset
{
@ -16,7 +15,7 @@ public:
private:
int mKey;
QString mAction;
XString mAction;
XItemKeyHandler *mNext;
};