5 using SharpYaml.Serialization;
6 using SharpYaml.Serialization.Serializers;
8 using SiliconStudio.Assets.Serializers;
9 using SiliconStudio.Core.Reflection;
10 using SiliconStudio.Core.Yaml;
11 using SiliconStudio.Paradox.Assets.Materials;
15 namespace SiliconStudio.Paradox.Assets.Serializers
17 [YamlSerializerFactory]
20 public override IYamlSerializable TryCreate(SerializerContext context,
ITypeDescriptor typeDescriptor)
22 var type = typeDescriptor.Type;
23 return CanVisit(type) ?
this : null;
26 protected override void WriteDictionaryItems(ref ObjectContext objectContext)
29 var savedSettings = objectContext.Settings.SortKeyForMapping;
30 objectContext.Settings.SortKeyForMapping =
false;
31 base.WriteDictionaryItems(ref objectContext);
32 objectContext.Settings.SortKeyForMapping = savedSettings;
35 public bool CanVisit(Type type)
43 context.Visitor.VisitObject(context.Instance, context.Descriptor,
false);
A custom dictionary to keep track of the order the elements were inserted.
SharpYaml.Serialization.ITypeDescriptor ITypeDescriptor
A custom visitor used by DataVisitorBase.
Provides access members of a type.