91 lines
1.5 KiB
C++
91 lines
1.5 KiB
C++
#include "xcomworld.h"
|
|
|
|
ComWorld::ComWorld()
|
|
: XAsset()
|
|
, mName(new XString())
|
|
, mInUse(false)
|
|
, mPrimaryLightCount(-1)
|
|
, mPrimaryLights(new XComPrimaryLightArray())
|
|
{
|
|
|
|
}
|
|
|
|
void ComWorld::Clear()
|
|
{
|
|
for (int i = 0; i < mPrimaryLights->size(); i++)
|
|
{
|
|
delete mPrimaryLights->at(i);
|
|
}
|
|
|
|
delete mPrimaryLights;
|
|
delete mName;
|
|
}
|
|
|
|
void ComWorld::ParseData(QDataStream *aStream)
|
|
{
|
|
mName->ParsePtr(aStream, false);
|
|
|
|
quint32 primaryLightPtr;
|
|
*aStream
|
|
>> mInUse
|
|
>> mPrimaryLightCount
|
|
>> primaryLightPtr;
|
|
|
|
mName->ParseData(aStream);
|
|
|
|
if (primaryLightPtr)
|
|
{
|
|
if (mPrimaryLights != nullptr)
|
|
{
|
|
delete mPrimaryLights;
|
|
}
|
|
mPrimaryLights = XComPrimaryLight::ParseArray(aStream, mPrimaryLightCount);
|
|
}
|
|
}
|
|
|
|
QString ComWorld::GetName() const
|
|
{
|
|
return mName->GetString();
|
|
}
|
|
|
|
bool ComWorld::IsInUse() const
|
|
{
|
|
return mInUse;
|
|
}
|
|
|
|
quint32 ComWorld::GetPrimaryLightCount() const
|
|
{
|
|
return mPrimaryLightCount;
|
|
}
|
|
|
|
XComPrimaryLight *ComWorld::GetPrimaryLight(quint32 aIndex) const
|
|
{
|
|
return mPrimaryLights->at(aIndex);
|
|
}
|
|
|
|
XComPrimaryLightArray *ComWorld::GetPrimaryLights() const
|
|
{
|
|
return mPrimaryLights;
|
|
}
|
|
|
|
void ComWorld::SetName(const QString &aName)
|
|
{
|
|
if (aName != nullptr)
|
|
{
|
|
mName->SetString(aName);
|
|
}
|
|
}
|
|
|
|
void ComWorld::SetName(XString* aName)
|
|
{
|
|
if (aName != nullptr)
|
|
{
|
|
mName = aName;
|
|
}
|
|
}
|
|
|
|
void ComWorld::SetInUse(bool aInUse)
|
|
{
|
|
mInUse = aInUse;
|
|
}
|