104 lines
2.5 KiB
C++
104 lines
2.5 KiB
C++
|
|
|
|
|
|
|
|
|
|
#ifndef XPATHNODECONSTANT_H
|
|
#define XPATHNODECONSTANT_H
|
|
|
|
#include "xasset.h"
|
|
#include "xnodetype.h"
|
|
#include "xpathlink.h"
|
|
|
|
class XPathNodeConstant : public XAsset
|
|
{
|
|
public:
|
|
explicit XPathNodeConstant();
|
|
|
|
void ParseData(QDataStream *aStream) override;
|
|
|
|
NodeType GetType() const;
|
|
void SetType(NodeType type);
|
|
|
|
unsigned short GetSpawnflags() const;
|
|
void SetSpawnflags(unsigned short flags);
|
|
|
|
unsigned short GetTargetname() const;
|
|
void SetTargetname(unsigned short name);
|
|
|
|
unsigned short GetScriptLinkName() const;
|
|
void SetScriptLinkName(unsigned short name);
|
|
|
|
unsigned short GetScriptNoteworthy() const;
|
|
void SetScriptNoteworthy(unsigned short noteworthy);
|
|
|
|
unsigned short GetTarget() const;
|
|
void SetTarget(unsigned short target);
|
|
|
|
unsigned short GetAnimscript() const;
|
|
void SetAnimscript(unsigned short script);
|
|
|
|
int GetAnimscriptfunc() const;
|
|
void SetAnimscriptfunc(int func);
|
|
|
|
const float* GetOrigin() const;
|
|
void SetOrigin(const float* origin, size_t count = 3);
|
|
|
|
float GetAngle() const;
|
|
void SetAngle(float angle);
|
|
|
|
const float* GetForward() const;
|
|
void SetForward(const float* forward, size_t count = 2);
|
|
|
|
float GetRadius() const;
|
|
void SetRadius(float radius);
|
|
|
|
float GetMinUseDistSq() const;
|
|
void SetMinUseDistSq(float dist);
|
|
|
|
short GetOverlapNode(int index) const;
|
|
void SetOverlapNode(int index, short node);
|
|
|
|
short GetChainId() const;
|
|
void SetChainId(short id);
|
|
|
|
short GetChainDepth() const;
|
|
void SetChainDepth(short depth);
|
|
|
|
short GetChainParent() const;
|
|
void SetChainParent(short parent);
|
|
|
|
unsigned short GetTotalLinkCount() const;
|
|
void SetTotalLinkCount(unsigned short count);
|
|
|
|
XPathLink* GetLinks() const;
|
|
void SetLinks(XPathLink* links, unsigned short count);
|
|
|
|
private:
|
|
NodeType mType = NodeType::NODE_BADNODE;
|
|
unsigned short mSpawnflags = 0;
|
|
unsigned short mTargetname = 0;
|
|
unsigned short mScriptLinkName = 0;
|
|
unsigned short mScriptNoteworthy = 0;
|
|
unsigned short mTarget = 0;
|
|
unsigned short mAnimscript = 0;
|
|
int mAnimscriptfunc = 0;
|
|
float mOrigin[3] = {0.0f, 0.0f, 0.0f};
|
|
float mAngle = 0.0f;
|
|
float mForward[2] = {0.0f, 0.0f};
|
|
float mRadius = 0.0f;
|
|
float mMinUseDistSq = 0.0f;
|
|
short mOverlapNode[2] = {0, 0};
|
|
short mChainId = 0;
|
|
short mChainDepth = 0;
|
|
short mChainParent = 0;
|
|
unsigned short mTotalLinkCount = 0;
|
|
XPathLink* mLinks = nullptr; // We'll need to manage memory for this array
|
|
};
|
|
|
|
#endif // XPATHNODECONSTANT_H
|
|
|
|
|
|
|
|
|