Files
@ 71187b16188a
Branch filter:
Location: ATITD-Tools/Desert-Paint-Lab/Settings.cs - annotation
71187b16188a
2.6 KiB
text/x-csharp
Added tag VERSION_T8_RC6 for changeset 46b3b97a9901
83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 5d0a31247a93 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 5d0a31247a93 83ddf0ac052f 5d0a31247a93 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 5d0a31247a93 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 5d0a31247a93 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 5d0a31247a93 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 5d0a31247a93 83ddf0ac052f 5d0a31247a93 5d0a31247a93 5d0a31247a93 5d0a31247a93 5d0a31247a93 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 5d0a31247a93 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f 83ddf0ac052f | using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
namespace DesertPaintLab
{
public class Settings
{
public Settings()
{
}
private Dictionary<string, string> _settings = new Dictionary<string, string>();
public void Get(string key, out int value)
{
value = 0;
string valStr;
if ( _settings.TryGetValue(key.ToLower(), out valStr) )
{
Int32.TryParse(valStr, out value);
}
}
public void Get(string key, out bool value)
{
value = false;
string valStr;
if ( _settings.TryGetValue(key.ToLower(), out valStr) )
{
Boolean.TryParse(valStr, out value);
}
}
public void Set(string key, int value)
{
_settings[key.ToLower()] = value.ToString();
}
public void Set(string key, bool value)
{
_settings[key.ToLower()] = value.ToString();
}
public void Reset()
{
_settings.Clear();
}
public void Save(string settingsPath)
{
using (StreamWriter writer = new StreamWriter(settingsPath))
{
foreach (KeyValuePair<string, string> pair in _settings)
{
writer.WriteLine("{0}={1}", pair.Key, pair.Value);
}
}
}
static Regex optionEntry = new Regex(@"(?<opt>[^#=][^=]*)=(?<optval>.*)$");
public bool Load(string settingsPath)
{
if (System.IO.File.Exists(settingsPath))
{
string line;
Match match;
using (StreamReader reader = new StreamReader(settingsPath))
{
while ((line = reader.ReadLine()) != null)
{
match = optionEntry.Match(line);
if (match.Success)
{
String optName = match.Groups["opt"].Value.ToLower();
String optVal = match.Groups["optval"].Value.Trim();
if (optName.Equals("debug"))
{
// convert
optName = "enabledebugmenu";
}
_settings[optName.ToLower()] = optVal;
}
}
}
return true;
}
return false;
}
}
}
|