Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
NodeProcessorContext.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.Collections;
4 using System.Reflection;
5 
6 namespace SiliconStudio.Shaders.Ast
7 {
8  /// <summary>
9  /// Processor for a single node.
10  /// </summary>
11  /// <param name="node">The node.</param>
12  /// <param name="nodeProcessorContext">The node processor context.</param>
13  /// <returns>The node transformed</returns>
14  public delegate Node NodeProcessor(Node node, ref NodeProcessorContext nodeProcessorContext);
15 
16  /// <summary>
17  /// Processor for a list of node.
18  /// </summary>
19  /// <param name="list">The list.</param>
20  /// <param name="nodeProcessorContext">The node processor context.</param>
21  public delegate void NodeListProcessor(IList list, ref NodeProcessorContext nodeProcessorContext);
22 
23  /// <summary>
24  /// Node explorer.
25  /// </summary>
26  public struct NodeProcessorContext
27  {
28  /// <summary>
29  /// Gets or sets the node processor.
30  /// </summary>
32 
33  /// <summary>
34  /// Gets or sets the list processor.
35  /// </summary>
37 
38  /// <summary>
39  /// Initializes a new instance of the <see cref="NodeProcessorContext"/> class.
40  /// </summary>
41  /// <param name="nodeProcessor">The node processor.</param>
42  /// <param name="listProcessor">The list processor.</param>
43  public NodeProcessorContext(NodeProcessor nodeProcessor, NodeListProcessor listProcessor)
44  {
45  NodeProcessor = nodeProcessor;
46  ListProcessor = listProcessor;
47  }
48  }
49 }
delegate Node NodeProcessor(Node node, ref NodeProcessorContext nodeProcessorContext)
Processor for a single node.
NodeListProcessor ListProcessor
Gets or sets the list processor.
NodeProcessor NodeProcessor
Gets or sets the node processor.
NodeProcessorContext(NodeProcessor nodeProcessor, NodeListProcessor listProcessor)
Initializes a new instance of the NodeProcessorContext class.
delegate void NodeListProcessor(IList list, ref NodeProcessorContext nodeProcessorContext)
Processor for a list of node.