private void EndSerialization(System.IO.Stream strm, UnityData data) { if (data != null) { data.SetData(strm, _unityObjects.ToArray()); } _unityObjects.Clear(); }
public void Serialize(UnityData data, object graph) { if (data == null) { throw new System.ArgumentNullException("data"); } using (var strm = new MemoryStream()) { this.StartSerialization(); _formatter.SurrogateSelector = this; _formatter.Serialize(strm, graph); strm.Position = 0; this.EndSerialization(strm, data); } }
public object Deserialize(UnityData data) { if (data == null) { throw new System.ArgumentNullException("data"); } using (var strm = new MemoryStream()) { UnityEngine.Object[] refs; data.GetData(strm, out refs); strm.Position = 0; this.StartDeserialization(refs); _formatter.SurrogateSelector = this; var result = _formatter.Deserialize(strm); this.EndDeserialization(); return(result); } }