public static void Initialize() { IntValue = new SettingsKey<int>("Test/Simple/IntValue", TestSettings.SettingsContainer, 10); DoubleValue = new SettingsKey<double>("Test/Simple/DoubleValue", TestSettings.SettingsContainer, 3.14); StringValue = new SettingsKey<string>("Test/Simple/StringValue", TestSettings.SettingsContainer, "Test string"); Console.WriteLine(@"Static settings keys initialized (ValueSettingsKeys)"); }
public static void Initialize() { IntList = new SettingsKey<List<int>>("Test/Lists/IntList", TestSettings.SettingsContainer, Enumerable.Empty<int>().ToList()); DoubleList = new SettingsKey<List<double>>("Test/Lists/DoubleList", TestSettings.SettingsContainer, new[] { 2.0, 6.0, 9.0 }.ToList()); StringList = new SettingsKey<List<string>>("Test/Lists/StringList", TestSettings.SettingsContainer, new[] { "String 1", "String 2", "String 3" }.ToList()); Console.WriteLine(@"Static settings keys initialized (ListSettingsKeys)"); }
/// <inheritdoc/> internal override List<ParsingEvent> GetSerializableValue(SettingsKey key) { // Value might have been kept as a parsing event list (if key didn't exist) var parsingEvents = Value as List<ParsingEvent>; if (parsingEvents != null) return parsingEvents; if (key == null) throw new InvalidOperationException(); parsingEvents = new List<ParsingEvent>(); SettingsYamlSerializer.Default.Serialize(new ParsingEventListEmitter(parsingEvents), Value, key.Type); return parsingEvents; }
internal void RegisterSettingsKey(UFile name, object defaultValue, SettingsKey settingsKey) { settingsKeys.Add(name, settingsKey); var entry = SettingsEntry.CreateFromValue(defaultProfile, name, defaultValue); defaultProfile.RegisterEntry(entry); // Ensure that the value is converted to the key type in each loaded profile. foreach (var profile in Profiles.Where(x => x != defaultProfile)) { if (profile.Settings.TryGetValue(name, out entry)) { var parsingEvents = entry.Value as List <ParsingEvent>; var convertedValue = parsingEvents != null?settingsKey.ConvertValue(parsingEvents) : entry.Value; entry = SettingsEntry.CreateFromValue(profile, name, convertedValue); profile.Settings[name] = entry; } } }
/// <inheritdoc/> internal override List <ParsingEvent> GetSerializableValue(SettingsKey key) { // Value might have been kept as a parsing event list (if key didn't exist) var parsingEvents = Value as List <ParsingEvent>; if (parsingEvents != null) { return(parsingEvents); } if (key == null) { throw new InvalidOperationException(); } parsingEvents = new List <ParsingEvent>(); SettingsYamlSerializer.Default.Serialize(new ParsingEventListEmitter(parsingEvents), Value, key.Type); return(parsingEvents); }
private BuildResultCode BuildGetGraphicsPlatform() { var localLogger = new LoggerResult(); var simplePackage = Package.Load(localLogger, builderOptions.PackageFile, new PackageLoadParameters { AutoLoadTemporaryAssets = false, LoadAssemblyReferences = false, AutoCompileProjects = false }); if (simplePackage == null || localLogger.HasErrors) { localLogger.CopyTo(builderOptions.Logger); return BuildResultCode.BuildError; } var buildProfile = simplePackage.Profiles.FirstOrDefault(pair => pair.Name == builderOptions.BuildProfile); if (buildProfile == null) { builderOptions.Logger.Error("Package {0} did not contain platform {1}", builderOptions.PackageFile, builderOptions.BuildProfile); return BuildResultCode.BuildError; } // For now, graphics platform is implicit. // It will need to be readded to GameSettingsAsset at some point. var graphicsPlatformKey = new SettingsKey<GraphicsPlatform>("Xenko.GraphicsPlatform", buildProfile.Properties.Container, builderOptions.Platform.GetDefaultGraphicsPlatform()); var graphicsPlatform = graphicsPlatformKey.GetValue(buildProfile.Properties, true); Console.WriteLine(graphicsPlatform); return BuildResultCode.Successful; }
/// <summary> /// Removes the given settings key. /// </summary> /// <param name="key">The settings key to remove.</param> /// <returns><c>True</c> if the settings key was removed, <c>false</c> otherwise.</returns> public bool Remove(SettingsKey key) { return(Remove(key.Name)); }
/// <summary> /// Gets the value of this entry converted to a serializable type. /// </summary> /// <returns></returns> internal abstract List <ParsingEvent> GetSerializableValue(SettingsKey key);
internal void RegisterSettingsKey(UFile name, object defaultValue, SettingsKey settingsKey) { settingsKeys.Add(name, settingsKey); var entry = SettingsEntry.CreateFromValue(defaultProfile, name, defaultValue); defaultProfile.RegisterEntry(entry); // Ensure that the value is converted to the key type in each loaded profile. foreach (var profile in Profiles.Where(x => x != defaultProfile)) { if (profile.Settings.TryGetValue(name, out entry)) { var parsingEvents = entry.Value as List<ParsingEvent>; var convertedValue = parsingEvents != null ? settingsKey.ConvertValue(parsingEvents) : entry.Value; entry = SettingsEntry.CreateFromValue(profile, name, convertedValue); profile.Settings[name] = entry; } } }
/// <summary> /// Gets the value of this entry converted to a serializable type. /// </summary> /// <returns></returns> internal abstract List<ParsingEvent> GetSerializableValue(SettingsKey key);
public bool Remove(SettingsKey key) { return(key.Remove(profile)); }
public bool ContainsKey(SettingsKey key) { return(key.ContainsKey(profile)); }
/// <summary> /// Sets a value for the specified key. /// </summary> /// <param name="key">The key.</param> /// <param name="value">The value.</param> public void Set(SettingsKey key, object value) { key.SetValue(value, profile); }
/// <summary> /// Removes the given settings key. /// </summary> /// <param name="key">The settings key to remove.</param> /// <returns><c>True</c> if the settings key was removed, <c>false</c> otherwise.</returns> public bool Remove([NotNull] SettingsKey key) { return(Remove(key.Name)); }