Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
UDirectorySerializer.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 SiliconStudio.Core.Serialization;
4 using SiliconStudio.Core.Serialization.Serializers;
5 
6 namespace SiliconStudio.Core.IO
7 {
8  [DataSerializerGlobal(typeof(UDirectorySerializer))]
9  internal class UDirectorySerializer : DataSerializer<UDirectory>
10  {
11  /// <inheritdoc/>
12  public override void Serialize(ref UDirectory obj, ArchiveMode mode, SerializationStream stream)
13  {
14  if (mode == ArchiveMode.Serialize)
15  {
16  var path = obj == null ? null : obj.FullPath;
17  stream.Serialize(ref path);
18  }
19  else if (mode == ArchiveMode.Deserialize)
20  {
21  string path = null;
22  stream.Serialize(ref path);
23  obj = new UDirectory(path);
24  }
25  }
26  }
27 }
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