public Config() { // Get the path to the settings folder. ConfigFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\PunishedPineapple\\WaymarkLibrarian\\"; // Create the children. ProgramSettings = new ProgramConfig(ConfigFolderPath + "Options.cfg"); GameDataSettings = new GameDataConfig(ConfigFolderPath + "GameData.cfg"); ZoneInfoSettings = new ZoneInfo(ConfigFolderPath + "ZoneDictionary.dat"); // Check for updates if it is time to do so. if ((DateTimeOffset.UtcNow - ProgramSettings.LastUpdateCheck > TimeSpan.FromDays(ProgramSettings.UpdateCheckFrequency_Days)) || (DateTimeOffset.UtcNow - ProgramSettings.LastConfigUpdateCheck > TimeSpan.FromDays(ProgramSettings.UpdateCheckFrequency_Days) && VersionInfoHelper.Parse(FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location)) == ProgramSettings.LastProgramUpdateVersionSeen)) { CheckForUpdates(); GameDataSettings.Reload(); ZoneInfoSettings.Reload(); } // The alias file lives one directory up since we may want to share it with other programs. CharacterAliasSettings = new CharacterAliasConfig(Directory.GetParent(ConfigFolderPath).Parent.FullName + "\\CharacterAliases.cfg"); }