void RenderObject::Save(KeyedArchive * archive, SceneFileV2* sceneFile) { AnimatedObject::Save(archive); if(NULL != archive) { archive->SetUInt32("ro.type", type); archive->SetUInt32("ro.flags", flags); archive->SetUInt32("ro.debugflags", debugFlags); archive->SetUInt32("ro.batchCount", GetRenderBatchCount()); KeyedArchive *batchesArch = new KeyedArchive(); for(uint32 i = 0; i < GetRenderBatchCount(); ++i) { RenderBatch *batch = GetRenderBatch(i); if(NULL != batch) { KeyedArchive *batchArch = new KeyedArchive(); batch->Save(batchArch, sceneFile); if(batchArch->Count() > 0) { batchArch->SetString("rb.classname", batch->GetClassName()); } batchesArch->SetArchive(KeyedArchive::GenKeyFromIndex(i), batchArch); batchArch->Release(); } } archive->SetArchive("ro.batches", batchesArch); batchesArch->Release(); } }
DAVA::Vector<String> RecentFilesManager::GetRecentFiles() { DAVA::Vector<String> retVector; VariantType recentFilesVariant = SettingsManager::GetValue(Settings::Internal_RecentFiles); if(recentFilesVariant.GetType() == DAVA::VariantType::TYPE_KEYED_ARCHIVE) { KeyedArchive* archiveRecentFiles = recentFilesVariant.AsKeyedArchive(); DAVA::uint32 size = archiveRecentFiles->Count(); retVector.resize(size); for (DAVA::uint32 i = 0; i < size; ++i) { retVector[i] = archiveRecentFiles->GetString(Format("%d", i)); } } return retVector; }