Files
GoakeFlax/Source/Game/Console/ConfigParser.cs

44 lines
1.0 KiB
C#

using System.IO;
namespace Game
{
public class ConfigParser
{
private ConfigParser()
{
}
public static Config ParseFile(string path)
{
Config config = new Config();
if (!File.Exists(path))
{
Console.Print($"Config file not found in path: {path}");
return config;
}
/*using*/ FileStream file = File.OpenRead(path);
/*using*/ StreamReader sr = new StreamReader(file);
string line;
while ((line = sr.ReadLine()?.Trim()) != null)
{
if (line.StartsWith(@"//"))
continue;
int spacePos = line.IndexOf(' ');
if (spacePos == -1)
continue;
string key = line.Substring(0, spacePos);
string value = line.Substring(spacePos+1);
value = value.Trim('"');
config[key] = value;
}
return config;
}
}
}