コード例 #1
0
ファイル: TradeNode.cs プロジェクト: nickbabcock/EU4.Savegame
 partial void unrecognizedToken(ParadoxParser parser, string token)
 {
     if (token.Length == 3 && token.ToUpper() == token)
     {
         _powers.Add(parser.Parse(new TradePower(token)));
     }
 }
コード例 #2
0
ファイル: Province.cs プロジェクト: nickbabcock/EU4.Savegame
        partial void unrecognizedToken(ParadoxParser parser, string token)
        {
#if THOROUGH_PARSING
            if (parser.ReadBool())
                Buildings.Add(token);
#endif
        }
コード例 #3
0
 public void TokenCallback(ParadoxParser parser, string token)
 {
     if (token == "setgameplayoptions")
     {
         options = parser.ReadIntList();
     }
 }
コード例 #4
0
ファイル: Building.cs プロジェクト: nickbabcock/Pdoxcl2Sharp
 public void TokenCallback(ParadoxParser parser, string token)
 {
     Action<ParadoxParser> temp;
     if (parseStrategy.TryGetValue(token, out temp))
         temp(parser);
     else
         otherFields.Add(token, parser.ReadString());
 }
コード例 #5
0
        public void TokenCallback(ParadoxParser parser, string token)
        {
            Action <ParadoxParser> temp;

            if (parseValues.TryGetValue(token, out temp))
            {
                temp(parser);
            }
        }
コード例 #6
0
        public void NoEmptyStringStatic()
        {
            var           data     = "A B C D ".ToStream();
            var           expected = new[] { "A", "B", "C", "D" };
            List <string> actual   = new List <string>();

            ParadoxParser.Parse(data, (p, s) => actual.Add(s));
            Assert.Equal(expected, actual);
        }
コード例 #7
0
ファイル: Parse.cs プロジェクト: dreshfield/Haskadox
        public void ReadSingleString()
        {
            var    data   = "michigan".ToStream();
            string actual = string.Empty;
            Action <ParadoxParser, string> action = (x, s) => actual = s;

            ParadoxParser.Parse(data, action);
            Assert.AreEqual("michigan", actual);
        }
コード例 #8
0
ファイル: Savegame.cs プロジェクト: reignerok/EU4.Savegame
 public void TokenCallback(ParadoxParser parser, string token)
 {
     if (token == this.currentParsedProvinceStr && parser.CurrentIndent == 0)
     {
         var newProv = new SaveProvince(this.currentParsedProvince++);
         this.Provinces.Add(parser.Parse<SaveProvince>(newProv));
         this.currentParsedProvinceStr = this.currentParsedProvince.ToString();
     }
 }
コード例 #9
0
        public void DeserializeStringList()
        {
            string data     = "{me {you them} us} #hehe";
            var    expected = new List <string> {
                "me", "you", "them", "us"
            };
            var actual = ParadoxParser.Deserialize <List <string> >(data.ToStream());

            Assert.Equal(expected, actual);
        }
コード例 #10
0
        public void DeserializeWithoutInitialCurly()
        {
            string data     = "me=1.000 you=2.500 #hehe";
            var    expected = new Dictionary <string, double> {
                { "me", 1.000 }, { "you", 2.500 }
            };
            var actual = ParadoxParser.Deserialize <IDictionary <string, double> >(data.ToStream());

            Assert.Equal(expected, actual);
        }
コード例 #11
0
 public void TokenCallback(ParadoxParser parser, string token)
 {
     switch (token)
     {
     case "name": Name = parser.ReadString(); break;
     case "leader": Leader = parser.Parse(new ParadoxId()); break;
     case "unit": Units.Add(parser.Parse(new Unit())); break;
     case "attachments": Attachments = parser.ReadList(() => parser.Parse (new ParadoxId())); break;
     }
 }
コード例 #12
0
ファイル: Events.cs プロジェクト: nickbabcock/EU4.Savegame
        public void TokenCallback(ParadoxParser parser, string token)
        {
            if (token != "id")
                throw new ApplicationException("Unrecognized token: " + token);

            if (parser.NextIsBracketed())
                EventIds.Add(parser.Parse(new ParadoxId()));
            else
                EventNames.Add(parser.ReadString());
        }
コード例 #13
0
ファイル: Parse.cs プロジェクト: dreshfield/Haskadox
        public void ReadSingleSpacedString()
        {
            var    data   = "   michigan    ".ToStream();
            string actual = string.Empty;

            using (ParadoxParser parser = new ParadoxParser(data))
            {
                actual = parser.ReadString();
            }
            Assert.AreEqual("michigan", actual);
        }
コード例 #14
0
        public static IEnumerable <LandedTitleEntity> ReadAllTitles(string fileName)
        {
            LandedTitlesFile landedTitlesFile;

            using (FileStream fs = new FileStream(fileName, FileMode.Open))
            {
                landedTitlesFile = ParadoxParser.Parse(fs, new LandedTitlesFile());
            }

            return(landedTitlesFile.LandedTitles.Select(x => x.Entity));
        }
コード例 #15
0
        private static IParseTree GetScopeBody(string input)
        {
            ICharStream  cstream = CharStreams.fromstring(input);
            ITokenSource lexer   = new ParadoxLexer(cstream);
            ITokenStream tokens  = new CommonTokenStream(lexer);
            var          parser  = new ParadoxParser(tokens);

            var data = parser.kvPair().children;

            return(data[2].GetChild(1));
        }
コード例 #16
0
 public void TokenCallback(ParadoxParser parser, string token)
 {
     if (token == "id")
     {
         Id = parser.ReadInt32();
     }
     else if (token == "type")
     {
         Type = parser.ReadInt32();
     }
 }
コード例 #17
0
 public void TokenCallback(ParadoxParser parser, string token)
 {
     if (token == Time)
     {
         var hi = parser.Parse(new holdId());
         if (hi.ID != null && hi.ID != string.Empty)
         {
             HoldID = hi.ID;
         }
     }
 }
コード例 #18
0
        public void TokenCallback(ParadoxParser parser, string token)
        {
            if (parser.CurrentIndent == 1)
            {
                if (!DiplomaciesByType.ContainsKey(token))
                {
                    DiplomaciesByType.Add(token, new List <Diplomacy>());
                }

                DiplomaciesByType[token].Add(parser.Parse(new Diplomacy()));
            }
        }
コード例 #19
0
        private ParadoxParser.ParadoxContext GetPlanetParserTree(string planetId)
        {
            var planetText = planetsData[Convert.ToInt32(planetId)];

            ICharStream  cstream    = CharStreams.fromstring(planetText);
            ITokenSource lexer      = new ParadoxLexer(cstream);
            ITokenStream tokens     = new CommonTokenStream(lexer);
            var          parser     = new ParadoxParser(tokens);
            var          planetData = parser.paradox();

            return(planetData);
        }
コード例 #20
0
        public void EmptyBrackets()
        {
            var    data        = @"history=
{
	1452.4.9=
	{
		controller=
		{
			controller2=""SWE""
		}
	}

	{
	}
}
patrol=1";
            int?   patrol      = null;
            string controller2 = null;

            ParadoxParser.Parse(data.ToStream(), (p, s) =>
            {
                if (s == "history")
                {
                    p.Parse((p2, s2) =>
                    {
                        switch (s2)
                        {
                        case "controller2": controller2 = p.ReadString(); break;

                        case "1452.4.9":
                        case "controller":
                            break;

                        default:
                            throw new ApplicationException("Unrecognized Token");
                        }
                    });
                }
                else if (s == "patrol")
                {
                    patrol = p.ReadInt32();
                }
                else
                {
                    throw new ApplicationException("Unrecognized Token");
                }
            });

            Assert.NotNull(patrol);
            Assert.Equal(patrol, 1);
            Assert.NotNull(controller2);
            Assert.Equal(controller2, "SWE");
        }
コード例 #21
0
ファイル: Save.cs プロジェクト: nickbabcock/EU4.Savegame
 public void TopToken(ParadoxParser parser, string token)
 {
     if (readMagic)
         TokenCallback(parser, token);
     else if (!(readMagic = token == "EU4txt"))
     {
         if (token.StartsWith("EU4bin"))
             throw new ApplicationException("Ironman saves are not " +
                 "supported at this time");
         throw new ApplicationException("First token must be EU4txt");
     }
 }
コード例 #22
0
        private static void ParseMiscRules(ParadoxParser parser, string tag)
        {
            switch (tag)
            {
            case "liege_culture_chance":
                m_ruleset.LiegeCultureChance = parser.ReadInt32();
                break;

            case "liege_religion_chance":
                m_ruleset.LiegeReligionChance = parser.ReadInt32();
                break;

            case "female_ruler_chance":
                m_ruleset.FemaleRulerChance = parser.ReadInt32();
                break;

            case "ruler_spouse_chance":
                m_ruleset.RulerSpouseChance = parser.ReadInt32();
                break;

            case "reps_force_custom_duchies":
                m_ruleset.RepsForceCustomDuchies = parser.ReadBool();
                break;

            case "rep_expand_chance":
                m_ruleset.RepublicExpandChance = parser.ReadInt32();
                break;

            case "rep_expand_max":
                m_ruleset.RepublicExpandMax = parser.ReadInt32();
                break;

            case "empire_min_size":
                m_ruleset.EmpireMinSize = parser.ReadInt32();
                break;

            case "kingdom_min_size":
                m_ruleset.KingdomMinSize = parser.ReadInt32();
                break;

            case "duchy_min_size":
                m_ruleset.DuchyMinSize = parser.ReadInt32();
                break;

            case "clear_characters":
                m_ruleset.ClearCharacters = parser.ReadBool();
                break;

            case "character_start_id":
                m_ruleset.CharacterStartID = parser.ReadInt32();
                break;
            }
        }
コード例 #23
0
 public void TokenCallback(ParadoxParser parser, string token)
 {
     switch (token)
     {
         case "name": this.name = parser.ReadString(); break;
         case "owner": this.owner = parser.ReadString(); break;
         case "controller": this.controller = parser.ReadString(); break;
         case "culture": this.culture = parser.ReadString(); break;
         case "religion": this.religion = parser.ReadString(); break;
         case "core": this.cores.Add(parser.ReadString()); break;
     }
 }
コード例 #24
0
            public void TokenCallback(ParadoxParser parser, string token)
            {
                switch (token)
                {
                case "actual_added_value": actualAddedValue = parser.ReadInt32(); break;

                case "value": value = parser.ReadInt32(); break;

                case "from": from = parser.ReadInt32(); break;

                case "modifier": modifier = parser.Parse(new Cid()); break;
                }
            }
コード例 #25
0
        public void TokenCallback(ParadoxParser parser, string token)
        {
            switch (token)
            {
            case "name": Name = parser.ReadString(); break;

            case "leader": Leader = parser.Parse(new ParadoxId()); break;

            case "unit": Units.Add(parser.Parse(new Unit())); break;

            case "attachments": Attachments = parser.ReadList(() => parser.Parse(new ParadoxId())); break;
            }
        }
コード例 #26
0
ファイル: Parse.cs プロジェクト: dreshfield/Haskadox
        public void ExtraNewLinesDontMatter()
        {
            var data = "\n\n\n\n ID=100 \n\n\n\n\n\n".ToStream();

            int id = 0;
            Dictionary <string, Action <ParadoxParser> > dictionary = new Dictionary <string, Action <ParadoxParser> >
            {
                { "ID", x => id = x.ReadInt32() }
            };

            ParadoxParser.Parse(data, dictionary.ParserAdapter());
            Assert.AreEqual(100, id);
        }
コード例 #27
0
        public void TokenCallback(ParadoxParser parser, string token)
        {
            switch (token)
            {
            case "name": Name = parser.ReadString(); break;

            case "type": Type = parser.ReadString(); break;

            case "morale": Morale = parser.ReadDouble(); break;

            case "strength": Strength = parser.ReadDouble(); break;
            }
        }
コード例 #28
0
ファイル: Parse.cs プロジェクト: dreshfield/Haskadox
        public void NegativeInt32()
        {
            var data   = "ID=-130".ToStream();
            int actual = 0;
            Dictionary <string, Action <ParadoxParser> > dictionary = new Dictionary <string, Action <ParadoxParser> >
            {
                { "ID", x => actual = x.ReadInt32() }
            };

            ParadoxParser.Parse(data, dictionary.ParserAdapter());

            Assert.AreEqual(-130, actual);
        }
コード例 #29
0
ファイル: Parse.cs プロジェクト: dreshfield/Haskadox
        public void FirstMilleniumParty()
        {
            string   input    = "date=999.1.1";
            DateTime expected = new DateTime(999, 1, 1);
            DateTime actual   = DateTime.MaxValue;
            Dictionary <string, Action <ParadoxParser> > dictionary = new Dictionary <string, Action <ParadoxParser> >
            {
                { "date", x => actual = x.ReadDateTime() }
            };

            ParadoxParser.Parse(input.ToStream(), dictionary.ParserAdapter());
            Assert.AreEqual(expected, actual);
        }
コード例 #30
0
ファイル: Parse.cs プロジェクト: dreshfield/Haskadox
        public void WhenChristWasBorn()
        {
            string   input    = "date=1.1.1";
            DateTime expected = new DateTime(1, 1, 1);
            DateTime actual   = DateTime.MaxValue;
            Dictionary <string, Action <ParadoxParser> > dictionary = new Dictionary <string, Action <ParadoxParser> >
            {
                { "date", x => actual = x.ReadDateTime() }
            };

            ParadoxParser.Parse(input.ToStream(), dictionary.ParserAdapter());
            Assert.AreEqual(expected, actual);
        }
コード例 #31
0
        public void TokenCallback(ParadoxParser parser, string token)
        {
            Action <ParadoxParser> temp;

            if (parseStrategy.TryGetValue(token, out temp))
            {
                temp(parser);
            }
            else
            {
                otherFields.Add(token, parser.ReadString());
            }
        }
コード例 #32
0
ファイル: CultureFile.cs プロジェクト: hmlendea/ck2-mod-tests
        public static IEnumerable <CultureEntity> ReadAllCultures(string fileName)
        {
            CultureFile cultureFile;

            using (FileStream fs = new FileStream(fileName, FileMode.Open))
            {
                cultureFile = ParadoxParser.Parse(fs, new CultureFile());
            }

            IEnumerable <CultureGroupEntity> cultureGroups = cultureFile.CultureGroups.Select(x => x.Entity);

            return(cultureGroups.SelectMany(x => x.Cultures));
        }
コード例 #33
0
ファイル: Parse.cs プロジェクト: dreshfield/Haskadox
        public void HourlyDate()
        {
            string   toParse = "date=\"1936.1.10.4\"";
            DateTime actual  = DateTime.MinValue;

            ParadoxParser.Parse(toParse.ToStream(), (p, s) => { if (s == "date")
                                                                {
                                                                    actual = p.ReadDateTime();
                                                                }
                                });
            DateTime expected = new DateTime(1936, 1, 10, 4, 0, 0);

            Assert.AreEqual(expected, actual);
        }
コード例 #34
0
ファイル: Bracket.cs プロジェクト: Kazpers/Pdoxcl2Sharp
        public void SingleBracket()
        {
            string toParse = "date={date2=\"1770.12.5\"}";
            var    data    = toParse.ToStream();

            Dater actual = new Dater();
            Dictionary <string, Action <ParadoxParser> > dictionary = new Dictionary <string, Action <ParadoxParser> >
            {
                { "date", x => x.Parse(actual) }
            };

            ParadoxParser.Parse(data, dictionary.ParserAdapter());
            Assert.Equal(new DateTime(1770, 12, 5), actual.Date);
        }
コード例 #35
0
ファイル: Parse.cs プロジェクト: dreshfield/Haskadox
        public void SimpleComment()
        {
            string toParse = "#culture=michigan";
            var    data    = toParse.ToStream();

            string actual = String.Empty;
            Dictionary <string, Action <ParadoxParser> > dictionary = new Dictionary <string, Action <ParadoxParser> >
            {
                { "culture", x => actual = x.ReadString() }
            };

            ParadoxParser.Parse(data, dictionary.ParserAdapter());
            Assert.AreEqual(String.Empty, actual);
        }
コード例 #36
0
ファイル: Parse.cs プロジェクト: dreshfield/Haskadox
        public void SimpleWithSpace()
        {
            var data = "culture = michigan".ToStream();

            string actual = String.Empty;
            Dictionary <string, Action <ParadoxParser> > dictionary = new Dictionary <string, Action <ParadoxParser> >
            {
                { "culture", x => actual = x.ReadString() }
            };

            ParadoxParser.Parse(data, dictionary.ParserAdapter());

            Assert.AreEqual("michigan", actual);
        }
コード例 #37
0
ファイル: Bracket.cs プロジェクト: Kazpers/Pdoxcl2Sharp
        private void TestDictionary <K, V>(Stream data, Func <ParadoxParser, IDictionary <K, V> > func, IEnumerable <KeyValuePair <K, V> > expected, string tokenStr)
        {
            IDictionary <K, V> actual = null;

            Action <ParadoxParser, string> action = (p, token) =>
            {
                if (token == tokenStr)
                {
                    actual = func(p);
                }
            };

            ParadoxParser.Parse(data, action);
            Assert.Equal(expected, actual);
        }
コード例 #38
0
        public void TokenCallback(ParadoxParser parser, string token)
        {
            switch (token)
            {
            case "name": Name = parser.ReadString(); break;

            case "tax": Tax = parser.ReadDouble(); break;

            case "add_core": Cores.Add(parser.ReadString()); break;

            case "top_provinces": TopProvinces = parser.ReadStringList(); break;

            case "army": Armies.Add(parser.Parse(new Army())); break;
            }
        }
コード例 #39
0
ファイル: ListRead.cs プロジェクト: Kazpers/Pdoxcl2Sharp
        private void Test <T>(Stream data, Func <ParadoxParser, IEnumerable <T> > func, IEnumerable <T> expected, string tokenStr)
        {
            IEnumerable <T> actual = null;

            Action <ParadoxParser, string> act = (parser, token) =>
            {
                if (token == tokenStr)
                {
                    actual = func(parser);
                }
            };

            ParadoxParser.Parse(data, act);
            Assert.Equal(expected, actual);
        }
コード例 #40
0
ファイル: War.cs プロジェクト: nickbabcock/EU4.Savegame
 partial void unrecognizedToken(ParadoxParser parser, string token)
 {
     if (!parser.NextIsBracketed())
         throw new ApplicationException("Unrecognized token: " + token);
     WarGoal = parser.Parse(new WarGoal(token));
 }
コード例 #41
0
ファイル: Parse.cs プロジェクト: nickbabcock/Pdoxcl2Sharp
 public void TokenCallback(ParadoxParser parser, string token)
 {
     if (token == "incoming")
         incomings.Add(parser.Parse(new Incoming()));
     else if (token == "trade_goods_size")
         tradeGoodsSize = parser.ReadDoubleList();
     else
         throw new ApplicationException(token + " not recognized");
 }
コード例 #42
0
ファイル: Parse.cs プロジェクト: vladimirsolovey/Pdoxcl2Sharp
 public void ReadSingleSpacedString()
 {
     var data = "   michigan    ".ToStream();
     string actual = string.Empty;
     using (ParadoxParser parser = new ParadoxParser(data))
     {
         actual = parser.ReadString();
     }
     Assert.AreEqual("michigan", actual);
 }
コード例 #43
0
ファイル: RuleParser.cs プロジェクト: Measter/TitleGenerator
		private static void ParseRule( ParadoxParser parser, string tag )
		{
			switch( tag )
			{
				case "ignored_titles":
					m_ruleset.IgnoredTitles.AddRange( parser.ReadStringList() );
					break;
				case "muslim_laws":
					m_ruleset.MuslimLawFollowers.AddRange( parser.ReadStringList() );
					break;
				case "male_culture":
					m_ruleset.MaleCultures.AddRange( parser.ReadStringList() );
					break;
				case "female_culture":
					m_ruleset.FemaleCultures.AddRange( parser.ReadStringList() );
					break;
				case "male_religion":
					m_ruleset.MaleReligions.AddRange( parser.ReadStringList() );
					break;
				case "female_religion":
					m_ruleset.FemaleReligions.AddRange( parser.ReadStringList() );
					break;
				case "required_rules":
					m_ruleset.RequiredRules.AddRange( parser.ReadStringList() );
					break;

				case "levy_tax_weight":
					List<int> ltw = (List<int>)parser.ReadIntList();

					if( ltw.Count >= 4 )
					{
						int i = 0;
						m_ruleset.LawRules.LevyTax.Min = ltw[0];
						m_ruleset.LawRules.LevyTax.Normal = ltw[1];
						m_ruleset.LawRules.LevyTax.Large = ltw[2];
						m_ruleset.LawRules.LevyTax.Max = ltw[3];
					}
					break;

				case "character":
					m_ruleset.CharRules.Add( ParseCharacter( parser ) );
					break;
				case "succession_laws":
					ParseLaws( parser, m_ruleset.LawRules.SuccessionLaws );
					break;
				case "gender_laws":
					ParseLaws( parser, m_ruleset.LawRules.GenderLaws );
					break;
				case "misc":
					parser.Parse( ParseMiscRules );
					break;
				case "cul_gen":
					parser.Parse( ParseCultureGenRules );
					break;
			}
		}
コード例 #44
0
ファイル: RuleParser.cs プロジェクト: Measter/TitleGenerator
		private static CharacterRule ParseCharacter( ParadoxParser parser )
		{
			CharacterRule cr = new CharacterRule();

			Action<ParadoxParser, string> getOptions = ( p, s ) =>
													   {
														   switch( s )
														   {
															   case "gender":
																   cr.IsFemale = p.ReadString() == "female";
																   break;
															   case "religion":
																   cr.Religion = p.ReadString();
																   break;
															   case "culture":
																   cr.Culture = p.ReadString();
																   break;
															   case "id":
																   cr.ID = p.ReadInt32();
																   break;
															   case "dynasty":
																   cr.Dynasty = p.ReadInt32();
																   break;
															   case "write_character":
																   cr.WriteCharacter = p.ReadBool();
																   break;
															   case "title":
																   cr.Titles.Add( p.ReadString() );
																   break;
														   }
													   };

			parser.Parse( getOptions );

			return cr;
		}
コード例 #45
0
 public void TokenCallback(ParadoxParser parser, string token)
 {
     switch (token)
     {
     case "id": Id = parser.ReadInt32(); break;
     case "type": Type = parser.ReadInt32(); break;
     }
 }
コード例 #46
0
ファイル: Parse.cs プロジェクト: nickbabcock/Pdoxcl2Sharp
 public void TokenCallback(ParadoxParser parser, string token)
 {
     if (token == "id") Id = parser.ReadInt32();
     else if (token == "type") Type = parser.ReadInt32();
 }
コード例 #47
0
ファイル: Parse.cs プロジェクト: nickbabcock/Pdoxcl2Sharp
 public void TokenCallback(ParadoxParser parser, string token)
 {
     switch (token)
     {
         case "actual_added_value": actualAddedValue = parser.ReadInt32(); break;
         case "value": value = parser.ReadInt32(); break;
         case "from": from = parser.ReadInt32(); break;
         case "modifier": modifier = parser.Parse(new Cid()); break;
     }
 }
コード例 #48
0
ファイル: RuleParser.cs プロジェクト: Measter/TitleGenerator
		private static void ParseLaws( ParadoxParser parser, List<Law> lawRules )
		{
			Law l = new Law( "" );

			Action<ParadoxParser, string> lawGroup = ( p, s ) =>
													   {
														   l = new Law( s );

														   Action<ParadoxParser, string> lawOptions = ( p2, s2 ) =>
														   {
															   switch( s2 )
															   {
																   case "banned_religion_group":
																   case "banned_religion":
																	   l.BannedReligions.Add( p2.ReadString() );
																	   break;
																   case "allowed_religion_group":
																   case "allowed_religion":
																	   l.AllowedReligions.Add( p2.ReadString() );
																	   break;

																   case "banned_culture_group":
																   case "banned_culture":
																	   l.BannedCultures.Add( p2.ReadString() );
																	   break;
																   case "allowed_culture_group":
																   case "allowed_culture":
																	   l.AllowedCultures.Add( p2.ReadString() );
																	   break;
															   }
														   };

														   p.Parse( lawOptions );

														   lawRules.Add( l );
													   };

			parser.Parse( lawGroup );
		}
コード例 #49
0
ファイル: RuleParser.cs プロジェクト: Measter/TitleGenerator
		private static void ParseCultureGenRules( ParadoxParser parser, string tag )
		{
			switch ( tag )
			{
				case "dynasty_prefix":
					m_ruleset.CulGenDynastyPrefix = parser.ReadInt32();
					break;
				case "bastard_prefix":
					m_ruleset.CulGenBastardPrefix = parser.ReadInt32();
					break;
				case "patronym_is_prefix":
					m_ruleset.CulGenPatronymIsPrefix = parser.ReadInt32();
					break;
				case "male_patronym":
					m_ruleset.CulGenMalePatronym = parser.ReadInt32();
					break;

				case "female_patronym":
					m_ruleset.CulGenFemalePatronym = parser.ReadInt32();
					break;
				case "ancestor_name":
					m_ruleset.CulGenAncestorName = parser.ReadInt32();
					break;
				case "disinherit_from_blinding":
					m_ruleset.CulGenDisinheritFromBlinding = parser.ReadInt32();
					break;
				case "dukes_called_kings":
					m_ruleset.CulGenDukesCalledKings = parser.ReadInt32();
					break;

				case "founder_names_dynasty":
					m_ruleset.CulGenFounderNamesDynasty = parser.ReadInt32();
					break;
				case "dynasty_title_names":
					m_ruleset.CulGenDynastyTitleNames = parser.ReadInt32();
					break;
			}
		}
コード例 #50
0
 public void TokenCallback(ParadoxParser parser, string token)
 {
     switch (token)
     {
     case "name": Name = parser.ReadString(); break;
     case "tax": Tax = parser.ReadDouble(); break;
     case "add_core": Cores.Add(parser.ReadString()); break;
     case "top_provinces": TopProvinces = parser.ReadStringList(); break;
     case "army": Armies.Add(parser.Parse(new Army())); break;
     }
 }
コード例 #51
0
ファイル: RuleParser.cs プロジェクト: Measter/TitleGenerator
		private static void ParseMiscRules( ParadoxParser parser, string tag )
		{
			switch ( tag )
			{
				case "liege_culture_chance":
					m_ruleset.LiegeCultureChance = parser.ReadInt32();
					break;
				case "liege_religion_chance":
					m_ruleset.LiegeReligionChance = parser.ReadInt32();
					break;
				case "female_ruler_chance":
					m_ruleset.FemaleRulerChance = parser.ReadInt32();
					break;
				case "ruler_spouse_chance":
					m_ruleset.RulerSpouseChance = parser.ReadInt32();
					break;

				case "reps_force_custom_duchies":
					m_ruleset.RepsForceCustomDuchies = parser.ReadBool();
					break;
				case "rep_expand_chance":
					m_ruleset.RepublicExpandChance = parser.ReadInt32();
					break;
				case "rep_expand_max":
					m_ruleset.RepublicExpandMax = parser.ReadInt32();
					break;
				case "empire_min_size":
					m_ruleset.EmpireMinSize = parser.ReadInt32();
					break;

				case "kingdom_min_size":
					m_ruleset.KingdomMinSize = parser.ReadInt32();
					break;
				case "duchy_min_size":
					m_ruleset.DuchyMinSize = parser.ReadInt32();
					break;
				case "clear_characters":
					m_ruleset.ClearCharacters = parser.ReadBool();
					break;
				case "character_start_id":
					m_ruleset.CharacterStartID = parser.ReadInt32();
					break;
			}
		}
コード例 #52
0
 public void TokenCallback(ParadoxParser parser, string token)
 {
     switch (token)
     {
     case "name": Name = parser.ReadString(); break;
     case "type": Type = parser.ReadString(); break;
     case "morale": Morale = parser.ReadDouble(); break;
     case "strength": Strength = parser.ReadDouble(); break;
     }
 }