public void SerializeGraphsPart(AstarSerializer sr) { sr.SerializeGraphs(this.graphs); sr.SerializeUserConnections(this.userConnections); sr.SerializeNodes(); sr.SerializeExtraInfo(); }
/** Saves all graphs and also user connections, but does not close, nor opens the stream */ public void SerializeGraphsPart(AstarSerializer serializer) { //AstarSerializer serializer = new AstarSerializer (); //serializer.OpenSerializeSettings (); SizeProfiler.Initialize (); SizeProfiler.Begin ("File",serializer.writerStream,false); SizeProfiler.Begin ("Graphs init",serializer.writerStream); serializer.writerStream.Write (graphs.Length); serializer.writerStream.Write (graphs.Length); SizeProfiler.End ("Graphs init",serializer.writerStream); int[] masks = new int[graphs.Length]; for (int i=0;i<graphs.Length;i++) { NavGraph graph = graphs[i]; int tmpMask = serializer.mask; SizeProfiler.Begin ("Graphs type "+i,serializer.writerStream); serializer.AddAnchor ("Graph"+i); serializer.writerStream.Write (graph.GetType ().Name); serializer.writerStream.Write (graph.guid.ToString ()); SizeProfiler.Begin ("Graphs settings "+i,serializer.writerStream); //Set an unique prefix for all variables in this graph serializer.sPrefix = i.ToString (); serializer.SerializeSettings (graph,active); serializer.sPrefix = ""; masks[i] = serializer.mask; serializer.mask = tmpMask; SizeProfiler.End ("Graphs settings "+i,serializer.writerStream); } //Serialize nodes for (int i=0;i<graphs.Length;i++) { NavGraph graph = graphs[i]; serializer.mask = masks[i]; SizeProfiler.Begin ("Graphs nodes "+i,serializer.writerStream,false); serializer.AddAnchor ("GraphNodes_Graph"+i); serializer.writerStream.Write (masks[i]); serializer.sPrefix = i.ToString ()+"N"; serializer.SerializeNodes (graph,active); serializer.sPrefix = ""; SizeProfiler.End ("Graphs nodes "+i,serializer.writerStream); } SizeProfiler.Begin ("User Connections",serializer.writerStream); serializer.SerializeUserConnections (userConnections); SizeProfiler.End ("User Connections",serializer.writerStream); //data = (serializer.writerStream.BaseStream as System.IO.MemoryStream).ToArray (); //serializer.Close (); SizeProfiler.End ("File",serializer.writerStream); SizeProfiler.Log (); }
public void SerializeGraphsPart(AstarSerializer sr) { sr.SerializeGraphs(this.graphs); sr.SerializeNodes(); sr.SerializeExtraInfo(); }