Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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);
        }