41 lines
962 B
C#
41 lines
962 B
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))
|
|
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;
|
|
}
|
|
}
|
|
} |