示例#1
0
        public void ImportImperatorCharacters(Imperator.World impWorld,
                                              ReligionMapper religionMapper,
                                              CultureMapper cultureMapper,
                                              TraitMapper traitMapper,
                                              NicknameMapper nicknameMapper,
                                              LocDB locDB,
                                              ProvinceMapper provinceMapper,
                                              DeathReasonMapper deathReasonMapper,
                                              Date endDate,
                                              Date ck3BookmarkDate
                                              )
        {
            Logger.Info("Importing Imperator Characters...");

            foreach (var character in impWorld.Characters)
            {
                ImportImperatorCharacter(
                    character,
                    religionMapper,
                    cultureMapper,
                    traitMapper,
                    nicknameMapper,
                    locDB,
                    provinceMapper,
                    deathReasonMapper,
                    endDate,
                    ck3BookmarkDate
                    );
            }
            Logger.Info($"{Count} total characters recognized.");

            LinkMothersAndFathers();
            LinkSpouses();
            LinkPrisoners();
        }
示例#2
0
        private void ImportImperatorCharacter(
            Imperator.Characters.Character character,
            ReligionMapper religionMapper,
            CultureMapper cultureMapper,
            TraitMapper traitMapper,
            NicknameMapper nicknameMapper,
            LocDB locDB,
            ProvinceMapper provinceMapper,
            DeathReasonMapper deathReasonMapper,
            Date endDate,
            Date ck3BookmarkDate
            )
        {
            // Create a new CK3 character
            var newCharacter = new Character(
                character,
                religionMapper,
                cultureMapper,
                traitMapper,
                nicknameMapper,
                locDB,
                provinceMapper,
                deathReasonMapper,
                endDate,
                ck3BookmarkDate
                );

            character.CK3Character = newCharacter;
            Add(newCharacter);
        }
示例#3
0
        public void Ck3ReasonCanBeFound()
        {
            var reader    = new BufferedReader("link = { ck3 = ck3Reason imp = impReason }");
            var mapper    = new DeathReasonMapper(reader);
            var ck3Reason = mapper.GetCK3ReasonForImperatorReason("impReason");

            Assert.Equal("ck3Reason", ck3Reason);
        }
示例#4
0
        public void NonMatchGivesEmptyOptional()
        {
            var reader    = new BufferedReader("link = { ck3 = ck3Reason imp = impReason }");
            var mapper    = new DeathReasonMapper(reader);
            var ck3Reason = mapper.GetCK3ReasonForImperatorReason("nonMatchingReason");

            Assert.Null(ck3Reason);
        }
示例#5
0
        public void CorrectRuleMatches()
        {
            var input = "link = { ck3 = ck3Reason imp = impReason }\n" +
                        "link = { ck3 = ck3Reason2 imp = impReason2 }";
            var reader     = new BufferedReader(input);
            var mapper     = new DeathReasonMapper(reader);
            var ck3Reason2 = mapper.GetCK3ReasonForImperatorReason("impReason2");

            Assert.Equal("ck3Reason2", ck3Reason2);
        }
示例#6
0
        public void MultipleImpReasonsCanBeInARule()
        {
            var reader     = new BufferedReader("link = { ck3 = ck3Reason imp = impReason imp = impReason2 }");
            var mapper     = new DeathReasonMapper(reader);
            var ck3Reason1 = mapper.GetCK3ReasonForImperatorReason("impReason");
            var ck3Reason2 = mapper.GetCK3ReasonForImperatorReason("impReason2");

            Assert.Equal("ck3Reason", ck3Reason1);
            Assert.Equal("ck3Reason", ck3Reason2);
        }
        public void MappingsWithNoCK3ReasonAreIgnored()
        {
            var reader = new BufferedReader(
                "link = { imp = impReason }"
                );
            var mapper = new DeathReasonMapper(reader);

            var ck3Reason = mapper.GetCK3ReasonForImperatorReason("impReason");

            Assert.Null(ck3Reason);
        }