public void Load()
{
//assume default values for all unset properties
foreach (var pair in DefaultValues)
{
SetValue(pair.Key, pair.Value);
}
if (!File.Exists(ActivePath))
{
Save();
} else
{
var lines = File.ReadAllLines(ActivePath);
foreach (var line in lines)
{
var clean = line.Trim();
if (clean[0] == '#' || clean[0] == '[') continue;
var split = clean.IndexOf('=');
if (split == -1) continue; //?
var prop = clean.Substring(0, split).Trim();
var value = clean.Substring(split+1).Trim();
SetValue(prop, value);
}
}
}