Example #1
0
    //Load spline
    public void LoadInfo(string path)
    {
        if (File.Exists(path))
        {
            BinaryFormatter bf = new BinaryFormatter();

            SurrogateSelector                    ss   = new SurrogateSelector();
            Vector3SerializationSurrogate        v3ss = new Vector3SerializationSurrogate();
            SplineSettingsSerializationSurrogate ssss = new SplineSettingsSerializationSurrogate();
            ss.AddSurrogate(typeof(Vector3),
                            new StreamingContext(StreamingContextStates.All),
                            v3ss);
            ss.AddSurrogate(typeof(SplineSettings),
                            new StreamingContext(StreamingContextStates.All),
                            ssss);
            bf.SurrogateSelector = ss;

            FileStream file = File.Open(path, FileMode.Open);
            splines         = (List <Spline>)bf.Deserialize(file);
            connectedPoints = (List <ControlPoint>)bf.Deserialize(file);
            file.Close();

            OnAfterDeserialize();
            ResetGeneratedContent();
        }
    }
Example #2
0
    //Save spline as a binary file
    public void SaveInfo(string path)
    {
        BinaryFormatter bf = new BinaryFormatter();

        SurrogateSelector                    ss   = new SurrogateSelector();
        Vector3SerializationSurrogate        v3ss = new Vector3SerializationSurrogate();
        SplineSettingsSerializationSurrogate ssss = new SplineSettingsSerializationSurrogate();

        ss.AddSurrogate(typeof(Vector3),
                        new StreamingContext(StreamingContextStates.All),
                        v3ss);
        ss.AddSurrogate(typeof(SplineSettings),
                        new StreamingContext(StreamingContextStates.All),
                        ssss);
        bf.SurrogateSelector = ss;

        FileStream file = File.Create(path);

        bf.Serialize(file, splines);
        bf.Serialize(file, connectedPoints);
        file.Close();
    }