Exemple #1
0
/// <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.");
  }
}
Exemple #4
0
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;
}