/// <summary> /// Initializes a new instance of the <see cref="AnimationBase"/> class. /// </summary> public AnimationBase() { if (KeyFrames == null) { KeyFrames = new KeyFrameCollection(); } }
/// <summary> /// Compiles a strongly typed object into binary format. /// </summary> /// <param name="output">The content writer serializing the value.</param> /// <param name="value">The value to write.</param> protected override void Write(ContentWriter output, KeyFrameCollection <T> value) { output.Write(value.Count); for (int i = 0; i < value.Count; i++) { var keyFrame = value[i]; output.WriteRawObject(keyFrame.Time); output.WriteRawObject(keyFrame.Value); } }
public void GetEnumeratorTest() { var collection = new KeyFrameCollection<QuaternionF>(); var keyFrame = new KeyFrame<QuaternionF>(); var keyFrame2 = new KeyFrame<QuaternionF>(); collection.Add(keyFrame); collection.Add(keyFrame2); foreach (var k in collection) { } Assert.AreEqual(2, collection.Count()); Assert.Contains(keyFrame, collection); Assert.Contains(keyFrame2, collection); }
public void GetEnumeratorTest() { var collection = new KeyFrameCollection <Quaternion>(); var keyFrame = new KeyFrame <Quaternion>(); var keyFrame2 = new KeyFrame <Quaternion>(); collection.Add(keyFrame); collection.Add(keyFrame2); foreach (var k in collection) { } Assert.AreEqual(2, collection.Count()); Assert.Contains(keyFrame, collection); Assert.Contains(keyFrame2, collection); }
/// <summary> /// Reads a strongly typed object from the current stream. /// </summary> /// <param name="input">The <see cref="ContentReader"/> used to read the object.</param> /// <param name="existingInstance">An existing object to read into.</param> /// <returns>The type of object to read.</returns> protected override KeyFrameCollection <T> Read(ContentReader input, KeyFrameCollection <T> existingInstance) { if (existingInstance == null) { existingInstance = new KeyFrameCollection <T>(); } else { existingInstance.Clear(); } var count = input.ReadInt32(); for (int i = 0; i < count; i++) { TimeSpan time = input.ReadRawObject <TimeSpan>(); T value = input.ReadRawObject <T>(); existingInstance.Add(new KeyFrame <T>(time, value)); } return(existingInstance); }
public AnimationUseKeyFrame() { KeyFrames = new KeyFrameCollection <T>(); }