Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
ImageGroupData.cs
Go to the documentation of this file.
1 using System.Collections.Generic;
2 
3 namespace SiliconStudio.Paradox.Graphics.Data
4 {
5  /// <summary>
6  /// Data type for <see cref="SiliconStudio.Paradox.Graphics.SpriteGroup"/>.
7  /// </summary>
8  [Core.DataContract("ImageGroupData")]
9  public class ImageGroupData<T> where T : ImageFragmentData
10  {
11  public List<T> Images = new List<T>();
12  }
13 
14  /// <summary>
15  /// Converter type for <see cref="SiliconStudio.Paradox.Graphics.SpriteGroup"/>.
16  /// </summary>
17  public class ImageGroupDataConverter<TImageGroupData, TImageGroup, TImageData, TImage> : Core.Serialization.Converters.DataConverter<TImageGroupData, TImageGroup>
18  where TImageGroupData : ImageGroupData<TImageData>, new ()
19  where TImageGroup : ImageGroup<TImage>, new ()
20  where TImageData : ImageFragmentData
21  where TImage : ImageFragment, new()
22  {
23  /// <inheritdoc/>
24  public override void ConvertToData(Core.Serialization.Converters.ConverterContext context, ref TImageGroupData target, TImageGroup source)
25  {
26  if (target == null)
27  target = new TImageGroupData();
28  }
29 
30  /// <inheritdoc/>
31  public override void ConvertFromData(Core.Serialization.Converters.ConverterContext context, TImageGroupData target, ref TImageGroup source)
32  {
33  if (source == null)
34  source = new TImageGroup();
35 
36  foreach (var imageData in target.Images)
37  {
38  var sprite = new TImage();
39  context.ConvertFromData(imageData, ref sprite);
40  source.Images.Add(sprite);
41  }
42  }
43  }
44 }
Data type for SiliconStudio.Paradox.Graphics.SpriteGroup.
override void ConvertToData(Core.Serialization.Converters.ConverterContext context, ref TImageGroupData target, TImageGroup source)
override void ConvertFromData(Core.Serialization.Converters.ConverterContext context, TImageGroupData target, ref TImageGroup source)
Data type for SiliconStudio.Paradox.Graphics.ImageFragment.
Definition: GraphicsData.cs:41