protected void WriteSubMeshNameTable( BinaryWriter writer )
{
// cache header location
long start_offset = writer.Seek( 0, SeekOrigin.Current );
// Header
WriteChunk( writer, MeshChunkID.SubMeshNameTable, 0 );
// Loop through and save out the index and names
for ( short i = 0; i < mesh.SubMeshCount; ++i )
{
SubMesh subMesh = mesh.GetSubMesh( i );
WriteSubMeshNameTableElement( writer, i, subMesh.Name );
}
// Save chunk size back into Header
long end_offset = writer.Seek( 0, SeekOrigin.Current );
writer.Seek( (int)start_offset, SeekOrigin.Begin );
WriteChunk( writer, MeshChunkID.SubMeshNameTable, (int)( end_offset - start_offset ) );
writer.Seek( (int)end_offset, SeekOrigin.Begin );
}