public Matrix4 GetAnimationMatrix(float time)
{
Matrix4 matrix = this.localTransformationMatrix;
for (int i = 1; i < keyFrames.Length; i++)
{
if (keyFrames[i - 1].time < time && keyFrames[i].time >= time)
{
matrix = KeyFrame.Interpolate(this, ref keyFrames[i - 1], ref keyFrames[i], time);
break;
}
}
if (parent == null)
{
return matrix;
}
else
{
return matrix * parent.GetAnimationMatrix(time);
}
}