Example #1
0
 public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
 {
     if (destinationType == null)
     {
         throw new ArgumentNullException("destinationType");
     }
     if (destinationType == typeof(string) && value is Vector2)
     {
         Vector2 vector = (Vector2)value;
         return(MathTypeConverter.ConvertFromValues <float>(context, culture, new float[]
         {
             vector.X,
             vector.Y
         }));
     }
     if (destinationType == typeof(InstanceDescriptor) && value is Vector2)
     {
         Vector2         vector2     = (Vector2)value;
         ConstructorInfo constructor = typeof(Vector2).GetConstructor(new Type[]
         {
             typeof(float),
             typeof(float)
         });
         if (constructor != null)
         {
             return(new InstanceDescriptor(constructor, new object[]
             {
                 vector2.X,
                 vector2.Y
             }));
         }
     }
     return(base.ConvertTo(context, culture, value, destinationType));
 }
Example #2
0
 public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
 {
     float[] array = MathTypeConverter.ConvertToValues <float>(context, culture, value, 2, new string[]
     {
         "X",
         "Y"
     });
     if (array != null)
     {
         return(new Vector2(array[0], array[1]));
     }
     return(base.ConvertFrom(context, culture, value));
 }