public void WriteToFile(string filename, IMesh mesh) { MeshData = mesh.MeshData; AnimData = mesh.AnimationData; using (var writer = new BinaryBlockWriter(filename, Encoding.Default)) { writer.Write((byte)VerMajor); writer.Write((byte)VerMinor); writer.ForceFlush(); //Header WriteHeader(writer); if (MeshData != null) { //Mesh data WritePositonData(writer); WriteIndexData(writer); WriteNormalData(writer); WriteTextcoordData(writer); } //Animation Data if (AnimData.HasAnimations) { WriteBlendIndices(writer); WriteBlendWeights(writer); WriteAnimationClips(writer); WriteSkeletonData(writer); } writer.Write((byte)MeshDataType.END); writer.ForceFlush(); } }