44 lines
1.0 KiB
C#
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;
|
|
}
|
|
}
|
|
} |