Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
ShaderClassType.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.Storage;
4 
5 using System.Collections.Generic;
6 
7 using SiliconStudio.Shaders.Ast;
8 using SiliconStudio.Shaders.Ast.Hlsl;
9 
10 namespace SiliconStudio.Paradox.Shaders.Parser.Ast
11 {
12  /// <summary>
13  /// Shader Class.
14  /// </summary>
15  public class ShaderClassType : ClassType
16  {
17  // temp
18  public List<Variable> ShaderGenerics { get; set; }
19 
20  /// <summary>
21  /// Initializes a new instance of the <see cref="ShaderClassType"/> class.
22  /// </summary>
23  public ShaderClassType()
24  {
25  ShaderGenerics = new List<Variable>();
26  }
27 
28  /// <summary>
29  /// Initializes a new instance of the <see cref="ShaderClassType"/> class.
30  /// </summary>
31  /// <param name="name">The name.</param>
32  public ShaderClassType(string name) : base(name)
33  {
34  ShaderGenerics = new List<Variable>();
35  }
36 
37  /// <inheritdoc />
38  public override IEnumerable<Node> Childrens()
39  {
40  ChildrenList.Clear();
41  ChildrenList.AddRange(BaseClasses);
42  ChildrenList.AddRange(GenericParameters);
43  ChildrenList.AddRange(ShaderGenerics);
44  ChildrenList.AddRange(Members);
45  return ChildrenList;
46  }
47 
48  public string SourcePath { get; set; }
49 
50  public ObjectId SourceHash { get; set; }
51 
52  public ObjectId PreprocessedSourceHash { get; set; }
53 
54  public bool IsInstanciated { get; set; }
55  }
56 }
ShaderClassType()
Initializes a new instance of the ShaderClassType class.
ShaderClassType(string name)
Initializes a new instance of the ShaderClassType class.
A hash to uniquely identify data.
Definition: ObjectId.cs:13
override IEnumerable< Node > Childrens()
Gets the child nodes. An enumeration of child nodes