コード例 #1
0
        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;
        }
コード例 #2
0
        private void Launch(GameConfiguration config)
        {
            GameConfigurationManager.GameConfiguration = config;
            var c = new MainWindow();
            c.Show();

            Close();
        }
コード例 #3
0
        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);
        }