XPlor/libs/assets/comworld.cpp
Nicholas Johnson be8aa3691e Hey baby girl
2025-08-14 17:30:25 -04:00

93 lines
1.6 KiB
C++

#include "comworld.h"
#include "comprimarylight.h"
ComWorldAsset::ComWorldAsset(QObject *aParent)
: XAsset(aParent)
, mName(new XString(aParent))
, mInUse(false)
, mPrimaryLightCount(-1)
, mPrimaryLights(new ComPrimaryLightArray())
{
}
void ComWorldAsset::Clear()
{
for (int i = 0; i < mPrimaryLights->size(); i++)
{
delete mPrimaryLights->at(i);
}
delete mPrimaryLights;
delete mName;
}
void ComWorldAsset::ParseData(QDataStream *aStream)
{
mName->ParsePtr(aStream, false);
quint32 primaryLightPtr;
*aStream
>> mInUse
>> mPrimaryLightCount
>> primaryLightPtr;
mName->ParseData(aStream);
if (primaryLightPtr)
{
if (mPrimaryLights != nullptr)
{
delete mPrimaryLights;
}
mPrimaryLights = ComPrimaryLight::ParseArray(aStream, mPrimaryLightCount);
}
}
QString ComWorldAsset::GetName() const
{
return mName->GetString();
}
bool ComWorldAsset::IsInUse() const
{
return mInUse;
}
quint32 ComWorldAsset::GetPrimaryLightCount() const
{
return mPrimaryLightCount;
}
ComPrimaryLight *ComWorldAsset::GetPrimaryLight(quint32 aIndex) const
{
return mPrimaryLights->at(aIndex);
}
ComPrimaryLightArray *ComWorldAsset::GetPrimaryLights() const
{
return mPrimaryLights;
}
void ComWorldAsset::SetName(const QString &aName)
{
if (aName != nullptr)
{
mName->SetString(aName);
}
}
void ComWorldAsset::SetName(XString* aName)
{
if (aName != nullptr)
{
mName = aName;
}
}
void ComWorldAsset::SetInUse(bool aInUse)
{
mInUse = aInUse;
}