Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
ParameterKeyHashSerializer.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;
4 using SiliconStudio.Core.Serialization;
5 using SiliconStudio.Core.Storage;
6 using SiliconStudio.Paradox.Effects;
7 
8 namespace SiliconStudio.Paradox.Shaders
9 {
11  {
12  public unsafe override void Serialize(ref ParameterKey obj, ArchiveMode mode, SerializationStream stream)
13  {
14  if (mode != ArchiveMode.Serialize)
15  throw new InvalidOperationException();
16 
17  // Just use parameter key hash code
18  // Hopefully there won't be any clash...
19  fixed (ulong* objId = &obj.HashCode)
20  {
21  stream.Serialize(ref *objId);
22  }
23  }
24  }
25 }
Key of an effect parameter.
Definition: ParameterKey.cs:15
unsafe override void Serialize(ref ParameterKey obj, ArchiveMode mode, SerializationStream stream)
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