Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
PropertyContainer.Serializer.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System.Collections.Generic;
4 using SiliconStudio.Core.Serialization;
5 
6 namespace SiliconStudio.Core
7 {
8  public partial struct PropertyContainer
9  {
10  /// <summary>
11  /// Serializer for the PropertyContainer
12  /// </summary>
13  internal class Serializer : DataSerializer<PropertyContainer>
14  {
15  public override void Serialize(ref PropertyContainer propertyCollection, ArchiveMode mode, SerializationStream stream)
16  {
17  if (mode == ArchiveMode.Serialize)
18  {
19  stream.Write(propertyCollection.properties);
20  }
21  else if (mode == ArchiveMode.Deserialize)
22  {
23  propertyCollection.properties = stream.Read<Dictionary<PropertyKey, object>>();
24  }
25  }
26  }
27  }
28 }
Base class for implementation of SerializationStream.
Describes how to serialize and deserialize an object without knowing its type. Used as a common base ...
ArchiveMode
Enumerates the different mode of serialization (either serialization or deserialization).
Definition: ArchiveMode.cs:8