public SettingsManager(String pSourceFile, IStateOwner pOwner) { _Owner = pOwner; pLoadedFile = pSourceFile; if (File.Exists(pSourceFile)) { XDocument xdoc = XDocument.Load(pSourceFile); var RootNode = xdoc.Root; if (RootNode.Name == "Settings") { //old settings, add those as the default. StandardSettings DefaultSettings = new StandardSettings(RootNode); DefaultSettings.SetOwner(this); AllSettings.Add("Default", DefaultSettings); } else if (RootNode.Name == "SettingsGroups") { foreach (var groupnode in RootNode.Elements("SettingsGroup")) { String sGroupName = groupnode.Attribute("Name").Value; XElement DataNode = groupnode.Element("Data"); StandardSettings SettingsData = new StandardSettings(DataNode); SettingsData.SetOwner(this); AllSettings.Add(sGroupName, SettingsData); } } } }
public StandardSettings GetSettings(String pHandler = "Default") { if (!AllSettings.ContainsKey(pHandler)) { var buildsettings = new StandardSettings(); buildsettings.SetOwner(this); AllSettings.Add(pHandler, buildsettings); } return(AllSettings[pHandler]); }