コード例 #1
0
ファイル: FamilyTree.cs プロジェクト: ijedi1234/Attila2CK2
        public void updateReligionForCharacter(CK2Character character, bool canOverwrite, HashSet <int> processed)
        {
            bool hasChar = !(processed.Add(character.getFamilyTreeID()));

            if (hasChar)
            {
                return;
            }
            if (character.getReligion() == null || canOverwrite)
            {
                character.setReligion(this.religion);
            }
            CK2Character father = character.getFather();

            if (father != null)
            {
                updateReligionForCharacter(father, canOverwrite, processed);
            }
            List <CK2Character> children = character.getChildren();

            if (children != null)
            {
                foreach (CK2Character child in children)
                {
                    updateReligionForCharacter(child, canOverwrite, processed);
                }
            }
        }
コード例 #2
0
        private static void writeCharacter(StreamWriter writer, CK2Character character)
        {
            CK2Dynasty dynasty   = character.getDynasty();
            int        dynastyID = 0;

            if (dynasty != null)
            {
                dynastyID = dynasty.getID();
            }
            string name   = character.getName();
            int    charID = character.getID();
            int    dob    = character.getBirthDay();
            int    mob    = character.getBirthMonth();
            int    yob    = character.getBirthYear();

            writer.WriteLine(charID + " = {");
            writer.WriteLine("\tname=\"" + name + "\"");
            if (dynastyID != 0)
            {
                writer.WriteLine("\tdynasty=" + dynastyID);
            }
            else
            {
                writer.WriteLine("\tdynasty=" + "NONE");
            }
            writer.WriteLine("\treligion=\"" + character.getReligion() + "\"");
            writer.WriteLine("\tculture=\"" + character.getCulture() + "\"");

            if (character.getIsMale() == false)
            {
                writer.WriteLine("\tfemale=yes");
            }

            if (character.getIsBastard())
            {
                writer.WriteLine("\tadd_trait=\"bastard\"");
            }

            if (character.getFather() != null)
            {
                writer.WriteLine("\tfather=" + character.getFather().getID());
            }

            writer.WriteLine("\t" + yob + "." + mob + "." + dob + "={");
            writer.WriteLine("\t\tbirth=yes");
            writer.WriteLine("\t}");

            if (character.getSpouse() != null)
            {
                DateTime maxBirthDT = maxBirth(character.getBirth(), character.getSpouse().getBirth());
                int      yom        = maxBirthDT.Year;
                int      mom        = maxBirthDT.Month + 1;
                int      dom        = maxBirthDT.Day + 1;
                writer.WriteLine("\t" + yom + "." + mom + "." + dom + "={");
                writer.WriteLine("\t\tadd_spouse=" + character.getSpouse().getID());
                writer.WriteLine("\t}");
            }

            if (character.getAlive() == false)
            {
                int dod = character.getDeathDay();
                int mod = character.getDeathMonth();
                int yod = character.getDeathYear();
                writer.WriteLine("\t" + yod + "." + mod + "." + dod + "={");
                writer.WriteLine("\t\tdeath=yes");
                writer.WriteLine("\t}");
            }

            writer.WriteLine("}");
        }