public Boolean Load(string sectionName = "ModConfigSection") { bool result = false; //!TODO cleaning of private variables, making it ready for loading, removing old loaded instances typeFactory.DeepSearch = true; typeFactory.LoadPreloadedAssemblies(); System.Configuration.Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ModConfigSection section = configuration.GetSection(sectionName) as ModConfigSection; configuration.SaveAs(".\\somewhere\\external.xml", ConfigurationSaveMode.Full, true); if (section != null) { pluginsLoaded = LoadPlugins(section.PluginCollection); if (pluginsLoaded) { modulesLoaded = LoadModules(section.ModuleConfigCollection, 0); if (modulesLoaded) { for (int i = 0; i < modules.Count; i++) { IInitiator initiator = modules[i].Instance as IInitiator; if (initiator != null) { if ((initiator.Initialize() == false) && !initiator.IsInitialized) { throw new ConfigurationErrorsException("Couldn't load " + modules[i].Type); } } } result = true; } } } return(result); }
public ModConfigSectionWriter() { ModConfigSection = null; }