Example #1
0
 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)");
 }
Example #2
0
 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;
        }
Example #4
0
        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;
                }
            }
        }
Example #5
0
        /// <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);
        }
Example #6
0
        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;
        }
Example #7
0
 /// <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));
 }
Example #8
0
 /// <summary>
 /// Gets the value of this entry converted to a serializable type.
 /// </summary>
 /// <returns></returns>
 internal abstract List <ParsingEvent> GetSerializableValue(SettingsKey key);
Example #9
0
 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;
         }
     }
 }
Example #10
0
 /// <summary>
 /// Gets the value of this entry converted to a serializable type.
 /// </summary>
 /// <returns></returns>
 internal abstract List<ParsingEvent> GetSerializableValue(SettingsKey key);
Example #11
0
 public bool Remove(SettingsKey key)
 {
     return(key.Remove(profile));
 }
Example #12
0
 public bool ContainsKey(SettingsKey key)
 {
     return(key.ContainsKey(profile));
 }
Example #13
0
 /// <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);
 }
Example #14
0
 /// <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));
 }