public SaveablePreset AddPreset(SaveablePreset inPreset) { if (!mPresets.ContainsKey(inPreset.Name)) { mPresets.Add(inPreset.Name, inPreset); inPreset.Path = GetCurrentPath(inPreset); return(inPreset); } return(null); }
private SaveablePreset LoadPresetFile(string inPath) { FileInfo info = new FileInfo(inPath); if (info.Exists && info.Extension.Equals(".xml")) { SaveablePreset preset = null; if (CreateInstance(out preset, info.Name.Substring(0, info.Name.Length - info.Extension.Length)) == "") { return(preset); } } return(null); }
public string CreateInstance(out SaveablePreset inPreset, string inName) { string error = ""; try { inPreset = (SaveablePreset)Activator.CreateInstance(_presetType, new object[0]); inPreset.Name = inName; mPresets.Add(inName, inPreset); LoadPreset(inPreset); } catch (Exception e) { error += "Cannot create instance of type " + _presetType.Name + "! (" + ExceptionHelper.GetMessages(e) + ")"; inPreset = null; } return(error); }
public object GetPresetValue(string inKey) { string[] keySplit = inKey.Split('.'); if (!mPresets.ContainsKey(keySplit[0])) { //see if there is a corresponding file SaveablePreset preset = LoadPresetFile(GetCurrentRoot(PresetTypes.Default) + "\\" + keySplit[0] + ".xml"); if (preset != null) { return(preset.GetPropertyValue(keySplit[1])); } } else { return(mPresets[keySplit[0]].GetPropertyValue(keySplit[1])); } return(null); }
public bool SetPresetValue(string inKey, object inValue) { string[] keySplit = inKey.Split('.'); SaveablePreset preset = null; if (!mPresets.ContainsKey(keySplit[0])) { //see if there is a corresponding file preset = LoadPresetFile(GetCurrentRoot(PresetTypes.Default) + "\\" + keySplit[0] + ".xml"); } else { preset = mPresets[keySplit[0]]; } if (preset != null) { preset.SetPropertyValue(keySplit[1], inValue); } return(preset != null); }
private string LoadPresets(string inPath) { if (inPath == "") { return("Invalid path (" + inPath + ")"); } DirectoryInfo RootDir = new DirectoryInfo(inPath); string error = ""; if (!RootDir.Exists) { try { Directory.CreateDirectory(RootDir.FullName); } catch (Exception e) { error += "Cannot create directory " + RootDir.FullName + "! (" + ExceptionHelper.GetMessages(e) + ")"; } } if (error == "") { FileInfo[] inFiles = RootDir.GetFiles(); foreach (FileInfo CurPref in inFiles) { if (CurPref.Extension.Equals(".xml")) { SaveablePreset preset = GetPresetFromPath(CurPref.FullName); if (preset == null || preset.Obsolete) { error += CreateInstance(out preset, CurPref.Name.Substring(0, CurPref.Name.Length - CurPref.Extension.Length)); } } } } return(error); }
private string GetFullName(SaveablePreset inPreset) { return(_name + "_" + inPreset.Name); }
private string GetCurrentPath(SaveablePreset saveablePreset) { return(GetCurrentRoot(saveablePreset.PresetType) + "\\" + saveablePreset.Name + ".xml"); }
private bool SavePreset(SaveablePreset saveablePreset) { return(saveablePreset.Save(GetCurrentPath(saveablePreset))); }
private bool LoadPreset(SaveablePreset saveablePreset) { return(saveablePreset.LoadPreset(GetCurrentPath(saveablePreset))); }