4 using SiliconStudio.Core.Serialization.Assets;
5 using SiliconStudio.Core.Serialization.Contents;
7 namespace SiliconStudio.Core.Serialization.Converters
9 public class ContentReferenceDataConverter<TData, TSource> :
DataConverter<ContentReference<TData>, TSource> where TData : class
11 public override bool CacheResult
18 var contentSerializerContext = converterContext.Tags.Get(ContentSerializerContext.ContentSerializerContextProperty);
21 if (contentSerializerContext != null)
33 var contentSerializerContext = converterContext.Tags.Get(ContentSerializerContext.ContentSerializerContextProperty);
36 if (contentSerializerContext != null)
39 var parentAssetReference = contentSerializerContext.AssetReference;
40 AssetManager.AssetReference assetReference;
41 var value = contentSerializerContext.AssetManager.DeserializeObject(parentAssetReference, out assetReference, data.Location, typeof(TSource), AssetManagerLoaderSettings.IgnoreReferences, converterContext);
43 source = converterContext.ConvertFromData<TSource>(value);
47 source = converterContext.ConvertFromData<TSource>(data.Value);
override void ConvertToData(ConverterContext converterContext, ref ContentReference< TData > data, TSource obj)
Base class for converters to/from a data type.
override void ConvertFromData(ConverterContext converterContext, ContentReference< TData > data, ref TSource source)