public static List<GameConfiguration> Parse(string filename) { CompilePalLogger.LogLine("Parsing game configuration file {0}",filename); var lines = File.ReadAllLines(filename); //not as lazy parsing! woo! var gameInfos = new List<GameConfiguration>(); for (int i = 4; i < lines.Length; i++) { string line = lines[i]; if (line == " }" || line == " }") break; var game = new GameConfiguration { Name = GetKey(line) }; game.BinFolder = Path.GetDirectoryName(filename); CompilePalLogger.LogLine("Loading new game configuration:"); CompilePalLogger.LogLine(GetKey(line)); i++; for (; i < lines.Length; i++) { line = lines[i]; if (IsValid(line)) { switch (GetKey(line)) { case "GameDir": game.GameFolder = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "GameExe": game.GameEXE = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "MapDir": game.SDKMapFolder = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "BSP": game.VBSP = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "Vis": game.VVIS = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "Light": game.VRAD = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "BSPDir": game.MapFolder = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; } } if (line == " }" || line == " }") { gameInfos.Add(game); break; } } } return gameInfos; }
private void Launch(GameConfiguration config) { GameConfigurationManager.GameConfiguration = config; var c = new MainWindow(); c.Show(); Close(); }
public static List <GameConfiguration> Parse(string filename) { CompilePalLogger.LogLine("Parsing game configuration file {0}", filename); var lines = File.ReadAllLines(filename); //not as lazy parsing! woo! var gameInfos = new List <GameConfiguration>(); for (int i = 4; i < lines.Length; i++) { string line = lines[i]; if (line == " }"|| line == " }") { break; } var game = new GameConfiguration { Name = GetKey(line) }; game.BinFolder = Path.GetDirectoryName(filename); CompilePalLogger.LogLine("Loading new game configuration:"); CompilePalLogger.LogLine(GetKey(line)); i++; for (; i < lines.Length; i++) { line = lines[i]; if (IsValid(line)) { switch (GetKey(line)) { case "GameDir": game.GameFolder = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "GameExe": game.GameEXE = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "MapDir": game.SDKMapFolder = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "BSP": game.VBSP = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "Vis": game.VVIS = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "Light": game.VRAD = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; case "BSPDir": game.MapFolder = GetValue(line); CompilePalLogger.LogLine(GetKey(line) + ":" + GetValue(line)); break; } } if (line == " }"|| line == " }") { gameInfos.Add(game); break; } } } return(gameInfos); }