public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("header", Header); info.AddValue("navVerts.Count", NavVerts.Count); for (int i = 0; i < NavVerts.Count; i++) { info.AddVector3(string.Format("navVerts.{0}", i), NavVerts[i]); } info.AddValue("navPolys.Count", NavPolys.Count); for (int i = 0; i < NavPolys.Count; i++) { info.AddValue(string.Format("navPolys.{0}", i), NavPolys[i]); } info.AddValue("navDMeshes.Count", NavDMeshes.Count); for (int i = 0; i < NavDMeshes.Count; i++) { info.AddValue(string.Format("navDMeshes.{0}", i), NavDMeshes[i]); } info.AddValue("navDVerts.Count", NavDVerts.Count); for (int i = 0; i < NavDVerts.Count; i++) { info.AddVector3(string.Format("navDVerts.{0}", i), NavDVerts[i]); } info.AddValue("navDTris.Count", NavDTris.Count); for (int i = 0; i < NavDTris.Count; i++) { info.AddInt4(string.Format("navDTris.{0}", i), NavDTris[i]); } info.AddValue("navBvtree.Count", NavBvtree.Count); for (int i = 0; i < NavBvtree.Count; i++) { info.AddValue(string.Format("navBvtree.{0}", i), NavBvtree[i]); } info.AddValue("offMeshCons.Count", OffMeshCons.Count); for (int i = 0; i < OffMeshCons.Count; i++) { info.AddValue(string.Format("offMeshCons.{0}", i), OffMeshCons[i]); } }