private IEnumerable<IAnimation> DeserializeAnimations(BinaryReader reader)
{
var animationCount = reader.ReadInt32();
for (var i = 0; i < animationCount; i++)
{
var name = reader.ReadString();
var ticksPerSecond = reader.ReadDouble();
var durationInTicks = reader.ReadDouble();
var translationForBones = this.DeserializeStringFloatVector3DictionaryDictionary(reader);
var rotationForBones = this.DeserializeStringFloatQuaternionDictionaryDictionary(reader);
var scaleForBones = this.DeserializeStringFloatVector3DictionaryDictionary(reader);
yield return
new Animation(
name,
ticksPerSecond,
durationInTicks,
translationForBones,
rotationForBones,
scaleForBones);
}
}