One variable of a mod which can be tuned by the user.
Example #1
0
        /// <summary>
        /// LEGACY, DEPRECATED
        /// </summary>
        /// <param name="oldSettings"></param>
        /// <param name="modFile"></param>
        private void ReadModSettingsFromDm(string oldSettings, FileInfo modFile)
        {
            //reading mod settings
            var reader = new StreamReader(modFile.FullName, Encoding.Default);
            string line;
            while ((line = reader.ReadLine()) != null)
            {
                //read var
                var varName = GetVarElement(line, "Var:");
                var type = GetVarElement(line, "Type:");
                var description = GetVarElement(line, "Description:");
                var gameValue = GetVarElement(line, "GameValue:");
                var stdValue = GetVarElement(line, "StdValue:");
                var minValue = GetVarElement(line, "MinValue:");
                var maxValue = GetVarElement(line, "MaxValue:");

                if (varName != null && type != null && gameValue != null && stdValue != null)
                {
                    //read old settings
                    var value = stdValue;
                    if (oldSettings != null)
                    {
                        value = GetVarElement(oldSettings, varName + ":");
                        if (value == null)
                        {
                            value = stdValue;
                        }
                    }
                    //generate mod var
                    ModVar modVar = null;
                    ModSettingsVariable modVariable = null;
                    if (type.Equals("int"))
                    {
                        if (minValue != null && maxValue != null)
                        {
                            modVar = new ModVar<int>(varName, type, description, int.Parse(gameValue), int.Parse(stdValue),
                                int.Parse(value), int.Parse(minValue), int.Parse(maxValue));
                            modVariable = new ModSettingsVariable()
                            {
                                Name = varName,
                                Type = ModVariableType.Int,
                                Description = description,
                                Value = int.Parse(gameValue),
                                DefaultValue = int.Parse(stdValue),
                                Min = int.Parse(minValue),
                                Max = int.Parse(maxValue)
                            };
                        }
                        else
                        {
                            modVar = new ModVar<int>(varName, type, description, int.Parse(gameValue), int.Parse(stdValue),
                                int.Parse(value));
                            modVariable = new ModSettingsVariable()
                            {
                                Name = varName,
                                Type = ModVariableType.Int,
                                Description = description,
                                Value = int.Parse(gameValue),
                                DefaultValue = int.Parse(stdValue)
                            };
                        }
                    }
                    else if (type.Equals("bool"))
                    {
                        modVar = new ModVar<bool>(varName, type, description, bool.Parse(gameValue), bool.Parse(stdValue),
                            bool.Parse(value));
                        modVariable = new ModSettingsVariable()
                        {
                            Name = varName,
                            Type = ModVariableType.Bool,
                            Description = description,
                            Value = bool.Parse(gameValue),
                            DefaultValue = bool.Parse(stdValue)
                        };
                    }
                    else if (type.Equals("string"))
                    {
                        modVar = new ModVar<string>(varName, type, description, gameValue, stdValue, value);
                        modVariable = new ModSettingsVariable()
                        {
                            Name = varName,
                            Type = ModVariableType.String,
                            Description = description,
                            Value = gameValue,
                            DefaultValue = stdValue
                        };
                    }

                    if (modVar != null)
                    {
                        //.dm-Format
                        Vars.Add(modVar);
                        //JSON-Format
                        Settings.Variables.Add(modVariable);
                    }
                }
            }
        }
 private void BuildVariableRow(int i, ModSettingsVariable modVariable)
 {
     BuildVariableRow(i, modVariable.Name, modVariable.Description, modVariable.Type.ToString(), modVariable.Value);
 }