//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(); } }
//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(); }