XPlor/libs/xassets/xcollisionborder.cpp

43 lines
1.1 KiB
C++
Raw Normal View History

2025-08-17 13:14:17 -04:00
#include "xcollisionborder.h"
XCollisionBorder::XCollisionBorder()
2025-09-05 18:35:17 -04:00
: XAsset()
2025-09-10 21:58:26 -04:00
, mDistEq(3) // Always 3 elements
2025-09-05 18:35:17 -04:00
, mZBase(0.0f)
, mZSlope(0.0f)
, mStart(0.0f)
, mLength(0.0f)
{
2025-09-10 21:58:26 -04:00
SetName("Collision Border");
2025-08-17 13:14:17 -04:00
}
2025-09-05 18:35:17 -04:00
XCollisionBorder::~XCollisionBorder()
{
2025-08-17 13:14:17 -04:00
}
2025-09-10 21:58:26 -04:00
void XCollisionBorder::ParseData(XDataStream *aStream)
{
if (GetPtr() == -1)
{
// Distance equation components
mDistEq[0] = aStream->ParseSingle(QString("%1 dist eq x").arg(GetName()));
mDistEq[1] = aStream->ParseSingle(QString("%1 dist eq y").arg(GetName()));
mDistEq[2] = aStream->ParseSingle(QString("%1 dist eq z").arg(GetName()));
// Other properties
mZBase = aStream->ParseSingle(QString("%1 z base").arg(GetName()));
mZSlope = aStream->ParseSingle(QString("%1 z slope").arg(GetName()));
mStart = aStream->ParseSingle(QString("%1 start").arg(GetName()));
mLength = aStream->ParseSingle(QString("%1 length").arg(GetName()));
2025-08-17 13:14:17 -04:00
}
}
2025-09-05 18:35:17 -04:00
void XCollisionBorder::Clear()
{
2025-09-07 23:15:48 -04:00
mDistEq.clear();
2025-09-05 18:35:17 -04:00
mZBase = 0.0f;
mZSlope = 0.0f;
mStart = 0.0f;
mLength = 0.0f;
2025-08-17 13:14:17 -04:00
}