예제 #1
0
        public static void outputProvinceSpecific(AttilaRegionsInfo attilaRegions)
        {
            string outputPath = ImportantPaths.getOutputPath() + "\\common\\cultures\\specialProvCultures.txt";
            List <AttilaRegionInfo> regions = attilaRegions.getList();

            using (StreamWriter writer = File.CreateText(outputPath)) {
                writer.WriteLine("iberian = {");
                writer.WriteLine("\tgraphical_cultures = { occitangfx }");
                writer.WriteLine("\t");
                Random rand = new Random();
                foreach (AttilaRegionInfo region in regions)
                {
                    writer.WriteLine("\t" + region.getIDStr() + " = {");
                    writer.WriteLine("\t\tgraphical_cultures = { southerngfx }");
                    writer.WriteLine("\t\tsecondary_event_pictures = bedouin_arabic");
                    writer.WriteLine("\t\t");
                    double r = (rand.Next(0, 100)) / 100.0;
                    double g = (rand.Next(0, 100)) / 100.0;
                    double b = (rand.Next(0, 100)) / 100.0;
                    writer.WriteLine("\t\tcolor = { " + r + " " + g + " " + b + " }");
                    writer.WriteLine("\t\t");
                    writer.WriteLine("\t\tmale_names = { Placeholder }");
                    writer.WriteLine("\t\tfemale_names = { Placeholder }");
                    writer.WriteLine("\t\t");
                    writer.WriteLine("\t\tmodifier = default_culture_modifier");
                    writer.WriteLine("\t}");
                }
                writer.WriteLine("}");
            }
        }
예제 #2
0
        public static void output(AttilaRegionsInfo attilaRegions, CK2CountyRegionsInfo ck2Regions, ReligionsInfo religions)
        {
            int count = 0;
            List <AttilaRegionInfo> attilaList = attilaRegions.getList();
            Dictionary <string, CK2CountyRegionInfo> ck2CountiesMap = ck2Regions.getCountiesMap();

            foreach (AttilaRegionInfo attilaRegion in attilaList)
            {
                List <String> attilasCK2regions = attilaRegion.getCK2Regions();
                foreach (String ck2RegionStr in attilasCK2regions)
                {
                    CK2CountyRegionInfo ck2County = ck2CountiesMap[ck2RegionStr];
                    writeProvinceHistory(attilaRegion, ck2County, religions);
                    count++;
                }
            }
            count += 0;
        }
예제 #3
0
        public void updateFactionsInfo(AttilaRegionsInfo regions)
        {
            List <AttilaRegionInfo> regionsInfo = regions.getList();

            foreach (FactionInfo faction in factionPreProcessMappings)
            {
                faction.setExists(regions.checkIfFactionExists(faction.getID()));
                foreach (AttilaRegionInfo region in regionsInfo)
                {
                    if (!region.getIsBurned() && region.getOwningFaction().getID() == faction.getID())
                    {
                        List <String> ck2Regions = region.getCK2Regions();
                        foreach (String ck2Region in ck2Regions)
                        {
                            faction.addCounty(ck2Region);
                        }
                    }
                }
            }
        }
예제 #4
0
        public Form1()
        {
            cultureMaps    = new CultureMaps();
            regionMap      = new RegionMapper();
            ck2RegionsInfo = new CK2CountyRegionsInfo(regionMap);
            religionsInfo  = new ReligionsInfo();
            factionsInfo   = new FactionsInfo();

            InitializeComponent();

            psr = new ProjectSettingsReader();
            string savegameXMLPath = psr.getSavegameXMLLocation();

            importantPaths = new ImportantPaths(savegameXMLPath);


            //Init dating system
            DateConverter dtConverter = new DateConverter(importantPaths);

            //Generate characters located in faction array (these characters are alive)
            CharInfoCreator charInfoCreator = new CharInfoCreator(importantPaths, dtConverter, religionsInfo);

            //Build family tree and generate dead characters
            FamilyTrees famTrees = new FamilyTrees(importantPaths, charInfoCreator, dtConverter);

            //Update faction-specific information with save game data
            factionsInfo.updateImportantPaths(importantPaths);
            factionsInfo.readFactionXMLs();

            //Init region information
            attilaRegionsInfo = new AttilaRegionsInfo(importantPaths, regionMap, factionsInfo);

            //Generate de jure titles
            deJureTitles = new DeJureTitles(attilaRegionsInfo);

            //Update other information regarding factions and regions
            factionsInfo.updateFactionsInfo(attilaRegionsInfo);

            //Process family trees with regards to faction settings. (Dynasty update occurs here)
            factionsInfo.readFamilyTrees(famTrees);


            DirectoryHierarchyCreator.createOutputDirectories();

            MoveFlags.move(factionsInfo);
            MoveCultures.move();

            OutputCommonLandedTitles.output(factionsInfo);
            OutputCommonLandedTitles.outputDeJure(deJureTitles);
            OutputCommonDynasties.output(famTrees);
            //OutputCommonCultures.outputProvinceSpecific(attilaRegionsInfo);

            OutputCharacterHistories.output(factionsInfo);
            OutputProvinceHistories.output(attilaRegionsInfo, ck2RegionsInfo, religionsInfo);
            OutputTitleHistories.outputCountyHistory(factionsInfo);
            OutputTitleHistories.outputFactionTitleHistory(factionsInfo);

            OutputTitleLocalisation.output(factionsInfo);
            OutputTitleLocalisation.outputDeJure(deJureTitles);
            OutputCultureLocalisation.outputCultureGroups(cultureMaps);
            OutputCultureLocalisation.outputCultures(cultureMaps);
        }
예제 #5
0
        public DeJureTitles(AttilaRegionsInfo attilaRegions)
        {
            List <AttilaRegionInfo> regionList = attilaRegions.getList();

            createTitleHierarchy(regionList);
        }