public static byte[] SerializeMeshNodes (NavMeshGraph graph, GraphNode[] nodes) { System.IO.MemoryStream mem = new System.IO.MemoryStream(); System.IO.BinaryWriter stream = new System.IO.BinaryWriter(mem); for (int i=0;i<nodes.Length;i++) { TriangleMeshNode node = nodes[i] as TriangleMeshNode; if (node == null) { Debug.LogError ("Serialization Error : Couldn't cast the node to the appropriate type - NavMeshGenerator. Omitting node data."); return null; } stream.Write (node.v0); stream.Write (node.v1); stream.Write (node.v2); } Int3[] vertices = graph.vertices; if (vertices == null) { vertices = new Int3[0]; } stream.Write (vertices.Length); for (int i=0;i<vertices.Length;i++) { stream.Write (vertices[i].x); stream.Write (vertices[i].y); stream.Write (vertices[i].z); } stream.Close (); return mem.ToArray(); }
public void SerializeNodes(Node[] nodes, AstarSerializer serializer) { NavMeshGraph.SerializeMeshNodes(this as INavmesh, nodes, serializer); }