#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; }