5 using SharpYaml.Events;
6 using SharpYaml.Serialization;
7 using SiliconStudio.Core;
8 using SiliconStudio.Core.Yaml;
10 namespace SiliconStudio.Assets.Serializers
15 [YamlSerializerFactory]
18 public override bool CanVisit(Type type)
20 return typeof(PackageVersion).IsAssignableFrom(type);
23 public override object ConvertFrom(ref ObjectContext context, Scalar fromScalar)
25 PackageVersion packageVersion;
26 if (!PackageVersion.TryParse(fromScalar.Value, out packageVersion))
28 throw new YamlException(fromScalar.Start, fromScalar.End,
"Invalid version format. Unable to decode [{0}]".ToFormat(fromScalar.Value));
30 return packageVersion;
33 public override string ConvertTo(ref ObjectContext objectContext)
35 return objectContext.Instance.ToString();