/// <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);
     }
 }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        /// <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>();
 }