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 type == typeof(PackageReference);
23 public override object ConvertFrom(ref ObjectContext context, Scalar fromScalar)
25 PackageReference packageReference;
26 if (!PackageReference.TryParse(fromScalar.Value, out packageReference))
28 throw new YamlException(fromScalar.Start, fromScalar.End,
"Unable to decode package reference [{0}]. Expecting format GUID:LOCATION".ToFormat(fromScalar.Value));
30 return packageReference;
33 public override string ConvertTo(ref ObjectContext objectContext)
35 return objectContext.Instance.ToString();