5 using SharpYaml.Events;
6 using SharpYaml.Serialization;
8 using SiliconStudio.Core;
9 using SiliconStudio.Core.Yaml;
11 namespace SiliconStudio.Assets.Serializers
16 [YamlSerializerFactory]
19 public override bool CanVisit(Type type)
21 return typeof(AssetReference).IsAssignableFrom(type);
24 public override object ConvertFrom(ref ObjectContext context, Scalar fromScalar)
26 AssetReference assetReference;
27 if (!AssetReference.TryParse(context.Descriptor.Type, fromScalar.Value, out assetReference))
29 throw new YamlException(fromScalar.Start, fromScalar.End,
"Unable to decode asset reference [{0}]. Expecting format GUID:LOCATION".ToFormat(fromScalar.Value));
31 return assetReference;
34 public override string ConvertTo(ref ObjectContext objectContext)
36 return objectContext.Instance.ToString();