Ejemplo n.º 1
0
        private static List <RegionConnection> ParseRegionConnections(IniParser parser)
        {
            var result = new List <RegionConnection>();

            if (parser.SageGame == SageGame.Bfme)
            {
                var regions = parser.ParseAssetReferenceArray();
                foreach (var region in regions)
                {
                    result.Add(new RegionConnection(region));
                }
                return(result);
            }

            parser.GoToNextLine(); //skip '=' and go to next line
            var token = parser.PeekNextTokenOptional();

            while (token.HasValue && token.Value.Text == "Connection")
            {
                result.Add(RegionConnection.Parse(parser));
                parser.GoToNextLine();
                token = parser.PeekNextTokenOptional();
            }
            return(result);
        }
Ejemplo n.º 2
0
        internal static ChallengeGenerals Parse(IniParser parser)
        {
            var result = new ChallengeGenerals();

            while (true)
            {
                parser.GoToNextLine();

                var token = parser.GetNextTokenOptional();
                if (token == null)
                {
                    continue;
                }
                else if (token.Value.Text.ToUpperInvariant() == IniParser.EndToken)
                {
                    break;
                }
                else
                {
                    var personaName = token.Value.Text;

                    result.Personas[personaName] = GeneralPersona.Parse(parser);
                }
            }

            return(result);
        }