93 lines
1.6 KiB
C++
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;
|
|
}
|