public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value is string) { try { string s = (string)value; string[] split = s.Split(";".ToCharArray()); if (split.Length == 3) { string[] Scl = split[0].Split(",".ToCharArray()); string[] Pos = split[1].Split(",".ToCharArray()); string[] Rot = split[2].Split(",".ToCharArray()); if (Scl.Length == 3 && Pos.Length == 3 && Rot.Length == 3) { CG_Transform Trans = new CG_Transform(); Trans.Scl.X = DoubleHelper.DoubleParse(Scl[0]); Trans.Scl.Y = DoubleHelper.DoubleParse(Scl[1]); Trans.Scl.Z = DoubleHelper.DoubleParse(Scl[2]); Trans.Pos.X = DoubleHelper.DoubleParse(Pos[0]); Trans.Pos.Y = DoubleHelper.DoubleParse(Pos[1]); Trans.Pos.Z = DoubleHelper.DoubleParse(Pos[2]); Trans.Rot.X = DoubleHelper.DoubleParse(Rot[0]); Trans.Rot.Y = DoubleHelper.DoubleParse(Rot[1]); Trans.Rot.Z = DoubleHelper.DoubleParse(Rot[2]); return Trans; } } } catch { throw new ArgumentException( "Can not convert '" + (string)value + "' to type SpellingOptions"); } } return base.ConvertFrom(context, culture, value); }
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value is string) { try { string s = (string)value; string[] split = s.Split(",".ToCharArray()); if (split.Length == 3) { Vector3 Trans = new Vector3(DoubleHelper.DoubleParse(split[0]), DoubleHelper.DoubleParse(split[1]), DoubleHelper.DoubleParse(split[2])); return(Trans); } } catch { throw new ArgumentException( "Can not convert '" + (string)value + "' to type Vector3"); } } return(base.ConvertFrom(context, culture, value)); }