public static void SaveSubRoutine(string name, SubRoutine subRoutine, bool compressed) { string subroutineLoc = Path.Combine(PluginPath, "SubRoutines"); if (!Directory.Exists(subroutineLoc)) { Directory.CreateDirectory(subroutineLoc); } string path = Path.Combine(subroutineLoc, name + ".sr"); using (FileStream fs = new FileStream(path, FileMode.Create)) { BinaryFormatter f = new BinaryFormatter(); if (compressed) { using (DeflateStream gz = new DeflateStream(fs, CompressionMode.Compress)) { f.Serialize(gz, subRoutine); } } else { f.Serialize(fs, subRoutine); } } }
public static SubRoutine LoadSubRoutine(string name, bool compressed) { string subroutineLoc = Path.Combine(PluginPath, "SubRoutines"); string path = Path.Combine(subroutineLoc, name + ".sr"); SubRoutine sr = null; if (!File.Exists(path)) { return(null); } using (FileStream fs = new FileStream(path, FileMode.Open)) { BinaryFormatter f = new BinaryFormatter(); if (compressed) { using (DeflateStream gz = new DeflateStream(fs, CompressionMode.Decompress)) { sr = (SubRoutine)f.Deserialize(gz); } } else { sr = (SubRoutine)f.Deserialize(fs); } } sr.Init(); return(sr); }