protected void WriteAnimationTrack( BinaryWriter writer, NodeAnimationTrack track )
{
long start_offset = writer.Seek( 0, SeekOrigin.Current );
WriteChunk( writer, SkeletonChunkID.AnimationTrack, 0 );
WriteUShort( writer, (ushort)track.Handle );
for ( ushort i = 0; i < track.KeyFrames.Count; i++ )
{
TransformKeyFrame keyFrame = track.GetNodeKeyFrame( i );
WriteKeyFrame( writer, keyFrame );
}
long end_offset = writer.Seek( 0, SeekOrigin.Current );
writer.Seek( (int)start_offset, SeekOrigin.Begin );
WriteChunk( writer, SkeletonChunkID.AnimationTrack, (int)( end_offset - start_offset ) );
writer.Seek( (int)end_offset, SeekOrigin.Begin );
}