protected virtual void Duplicate(IMyConstProperty targetProp)
        {
            MyAnimatedProperty <T> animatedTargetProp = targetProp as MyAnimatedProperty <T>;

            System.Diagnostics.Debug.Assert(animatedTargetProp != null);

            animatedTargetProp.Interpolator = Interpolator;
            animatedTargetProp.ClearKeys();

            foreach (ValueHolder pair in m_keys)
            {
                animatedTargetProp.AddKey(pair);
            }
        }
 public MyAnimatedProperty2D(string name, MyAnimatedProperty <V> .InterpolatorDelegate interpolator)
     : base(name, null)
 {
     m_interpolator2 = interpolator;
 }
 public MyAnimatedProperty2DVector4(string name, MyAnimatedProperty <Vector4> .InterpolatorDelegate interpolator)
     : base(name, null)
 {
 }
 public MyAnimatedProperty2DEnum(string name, MyAnimatedProperty <int> .InterpolatorDelegate interpolator, Type enumType, List <string> enumStrings)
     : base(name, interpolator)
 {
     m_enumType    = enumType;
     m_enumStrings = enumStrings;
 }
 public MyAnimatedProperty2DInt(string name, MyAnimatedProperty <int> .InterpolatorDelegate interpolator)
     : base(name, interpolator)
 {
 }
 public int Compare(MyAnimatedProperty <T> .ValueHolder x, MyAnimatedProperty <T> .ValueHolder y)
 {
     return(x.Time.CompareTo(y.Time));
 }