public override void ReadSettings(byte[] data)
{
string text = Encoding.Unicode.GetString(data);
//Split text into lines
string[] lines = text.Contains("\r\n") ? text.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) : text.Split("\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
foreach (string line in lines)
{
//Trim current line
string tmpLine = line.Trim();
//Skip invalid ones
if (tmpLine.StartsWith("#")) // comment
continue;
else if (!tmpLine.Contains("=")) // it's no key-value pair!
continue;
//Trim both parts of the key-value pair
string[] parts = tmpLine.Split('=');
parts[0] = parts[0].Trim();
parts[1] = parts[1].Trim();
if (string.IsNullOrEmpty(parts[0]) || string.IsNullOrEmpty(parts[1]))
continue;
if (parts[1].Contains('#')) //If value-part contains comment, split it
parts[1] = parts[1].Split('#')[0];
InterpretSetting(parts[0], parts[1]);
}
}