public BaseGameReader(string exePath) { BaseFolder = exePath.Replace("hoi4.exe", ""); MapFolder = BaseFolder + "map\\"; CommonFolder = BaseFolder + "common\\"; FlagFolder = BaseFolder + "gfx\\flags\\"; BaseGame = this; LocalisationLookup = new Dictionary <string, string>(); string localisationFolder = BaseFolder + "localisation\\"; ReadLocalisationFile(localisationFolder + "strategic_region_names_l_english.yml"); ReadLocalisationFile(localisationFolder + "state_names_l_english.yml"); ReadLocalisationFile(localisationFolder + "countries_l_english.yml"); ReadLocalisationFile(localisationFolder + "parties_l_english.yml"); StateCategoryLookup = new Dictionary <string, StateCategory>(); foreach (string file in Directory.GetFiles(BaseFolder + "common/state_category/")) { StateCategory newStateCategory = TextParser.CreateStateCategory(file); StateCategoryLookup.Add(newStateCategory.Tag, newStateCategory); Console.WriteLine(newStateCategory.Tag + ": " + newStateCategory.BuildingSlots.ToString()); } ReadProvinceFile(); }
public StateIndexer(BaseGameReader gameReader, ModFileReader modReader, string statesPath) { StatesPath = statesPath; baseGame = gameReader; modFile = modReader; string baseGameStatesPath = baseGame.BaseFolder + "history/states/"; LoadBaseGameStates(baseGameStatesPath); LoadModStates(modFile.RootFolder + "history/states/"); // Iterate through all states with this List <State> allStatesList = new List <State>(); stateOwnerLookup = new Dictionary <string, List <State> >(); foreach (int stateID in stateIdLookup.Keys) { State newState = stateIdLookup[stateID]; allStatesList.Add(newState); if (stateOwnerLookup.ContainsKey(newState.Owner)) { stateOwnerLookup[newState.Owner].Add(newState); } else { stateOwnerLookup.Add(newState.Owner, new List <State>() { newState }); } } AllStates = allStatesList.ToArray(); }