Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
UFileSerializer.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  /// <summary>
9  /// Data serializer for Guid.
10  /// </summary>
11  [DataSerializerGlobal(typeof(UFileSerializer))]
12  internal class UFileSerializer : DataSerializer<UFile>
13  {
14  /// <inheritdoc/>
15  public override void Serialize(ref UFile obj, ArchiveMode mode, SerializationStream stream)
16  {
17  if (mode == ArchiveMode.Serialize)
18  {
19  var path = obj == null ? null : obj.FullPath;
20  stream.Serialize(ref path);
21  }
22  else if (mode == ArchiveMode.Deserialize)
23  {
24  string path = null;
25  stream.Serialize(ref path);
26  obj = new UFile(path);
27  }
28  }
29  }
30 }
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