/// <summary> /// /// </summary> void TileGroup::LoadSettings() { // Icon settings Settings *iconSettings = mSettings->CreateChild(L"Icon"); int iconSize = iconSettings->GetInt(L"Size", 48); mTileSettings.Load(iconSettings); delete iconSettings; // Tile settings Settings *tileSettings = mSettings->CreateChild(L"Tile"); mTileHeight = tileSettings->GetInt(L"Height", iconSize + 20); mTileWidth = tileSettings->GetInt(L"Width", iconSize + 20); delete tileSettings; mLayoutSettings.Load(mSettings, &sLayoutDefaults); if (!mSettings->GetBool(L"DontHideDesktopSystemIcons", false)) { AddNameFilter(L".controlPanel"); AddNameFilter(L".libraries"); AddNameFilter(L".network"); AddNameFilter(L".homegroup"); AddNameFilter(L".user"); AddNameFilter(L".onedrive"); } mSettings->IterateOverCommandTokens( L"Hide", std::bind(&TileGroup::AddNameFilter, this, std::placeholders::_1)); }
RESULT ParticleManager::Init( IN const string& settingsFilename ) { RETAILMSG(ZONE_PARTICLES, "ParticleManager::Init( %s )", settingsFilename.c_str()); RESULT rval = S_OK; char path[MAX_PATH]; // // Create a Settings object and load the file. // Settings mySettings; if ( FAILED(mySettings.Read( settingsFilename )) ) { RETAILMSG(ZONE_ERROR, "ERROR: ParticleManager::Init( %s ): failed to load settings file", settingsFilename.c_str() ); return E_UNEXPECTED; } // // Create each ParticleEmitter. // UINT32 numParticleEmitters = mySettings.GetInt("/ParticleEmitters.NumParticleEmitters"); for (int i = 0; i < numParticleEmitters; ++i) { sprintf(path, "/ParticleEmitters/ParticleEmitter%d", i); ParticleEmitter *pParticleEmitter = new ParticleEmitter(); CPR(pParticleEmitter); string name = mySettings.GetString( string(path) + ".Name" ); string filename = mySettings.GetString( string(path) + ".Filename" ); bool deleteOnFinish = mySettings.GetBool ( string(path) + ".DeleteOnFinish", false ); pParticleEmitter->SetDeleteOnFinish( deleteOnFinish ); if ( FAILED(pParticleEmitter->InitFromFile( filename ))) { RETAILMSG(ZONE_ERROR, "ERROR: ParticleManager::Init( %s ): failed to init ParticleEmitter from file %s", filename.c_str()); // Continue loading other ParticleEmitters rather than aborting. continue; } RETAILMSG(ZONE_INFO, "ParticleEmitter[%4d]: \"%-32s\"", pParticleEmitter->GetID(), pParticleEmitter->GetName().c_str()); CHR(Add(name, pParticleEmitter)); } Exit: return rval; }
std::int32_t ConfigManager::get_value<std::int32_t>(const Settings settings, const char* key) const { if (key != nullptr) { if (settings.HasMember(key) && settings[key].IsInt()) return settings[key].GetInt(); else throw ConfigException("Configuration Manager: Parse error."); } else { if (settings.IsInt()) return settings.GetInt(); else throw ConfigException("Configuration Manager: Parse error."); } }
RESULT LayerManager::Init( IN const string& settingsFilename ) { RETAILMSG(ZONE_INFO, "LayerManager::Init( %s )", settingsFilename.c_str()); RESULT rval = S_OK; char path[MAX_PATH]; // // Create a Settings object and load the file. // Settings mySettings; if ( FAILED(mySettings.Read( settingsFilename )) ) { RETAILMSG(ZONE_ERROR, "ERROR: LayerManager::Init( %s ): failed to load settings file", settingsFilename.c_str() ); return E_UNEXPECTED; } // // Create each Layer. // UINT32 numLayers = mySettings.GetInt("/Layers.NumLayers"); for (int i = 0; i < numLayers; ++i) { sprintf(path, "/Layers/Layer%d", i); //DEBUGMSG(ZONE_INFO, "Loading [%s]", path); Layer *pLayer = NULL; CreateLayer( &mySettings, path, &pLayer ); if (!pLayer) { RETAILMSG(ZONE_ERROR, "ERROR: LayerManager::Init( %s ): failed to create Layer", path); // Continue loading other Layers rather than aborting. continue; } //DEBUGMSG(ZONE_LAYER, "Created Layer [%s]", pLayer->GetName().c_str()); CHR(Add(pLayer->GetName(), pLayer)); } Exit: return rval; }