Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
IContent.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 
5 using SiliconStudio.Core.Reflection;
6 using SiliconStudio.Quantum.References;
7 
8 namespace SiliconStudio.Quantum.Contents
9 {
10  /// <summary>
11  /// Content of a <see cref="IModelNode"/>.
12  /// </summary>
13  public interface IContent
14  {
15  /// <summary>
16  /// Gets the expected type of <see cref="Value"/>.
17  /// </summary>
18  Type Type { get; }
19 
20  /// <summary>
21  /// Gets or sets the value.
22  /// </summary>
23  object Value { get; set; }
24 
25  /// <summary>
26  /// Gets whether this content hold a primitive type value. If so, the node owning this content should have no children and modifying its value should not trigger any node refresh.
27  /// </summary>
28  /// <remarks>Types registered as primitive types in the <see cref="INodeBuilder"/> used to build this content are taken in account by this property.</remarks>
29  bool IsPrimitive { get; }
30 
31  /// <summary>
32  /// Gets or sets the type descriptor of this content
33  /// </summary>
34  ITypeDescriptor Descriptor { get; }
35 
36  /// <summary>
37  /// Gets wheither this content holds a reference or is a direct value.
38  /// </summary>
39  bool IsReference { get; }
40 
41  /// <summary>
42  /// Gets or sets the reference hold by this content, if applicable.
43  /// </summary>
44  IReference Reference { get; }
45 
46  /// <summary>
47  /// Gets or sets the loading state.
48  /// </summary>
49  ViewModelContentState LoadState { get; set; }
50 
51  /// <summary>
52  /// Gets or sets the content flags.
53  /// </summary>
55 
56  /// <summary>
57  /// Gets or sets the serialization flags.
58  /// </summary>
59  ViewModelContentSerializeFlags SerializeFlags { get; set; }
60  }
61 }
Content of a IModelNode.
Definition: IContent.cs:13
Flags
Enumeration of the new Assimp's flags.
ViewModelContentSerializeFlags
Flags applying to IContent.
Provides access members of a type.