Class CeresGraph
Inheritance
object
CeresGraph
Implements
IDisposableUnregister
Assembly: cs.temp.dll.dll
Syntax
public class CeresGraph : IDisposable, IDisposableUnregister
Constructors
CeresGraph()
Declaration
CeresGraph(CeresGraphData)
Declaration
public CeresGraph(CeresGraphData graphData)
Parameters
Fields
nodeGroups
Declaration
public List<NodeGroup> nodeGroups
Field Value
Type |
Description |
System.Collections.Generic.List<T><NodeGroup> |
|
nodes
Declaration
public List<CeresNode> nodes
Field Value
Type |
Description |
System.Collections.Generic.List<T><CeresNode> |
|
SubGraphSlots
Declaration
public CeresSubGraphSlot[] SubGraphSlots
Field Value
variables
Declaration
public List<SharedVariable> variables
Field Value
Properties
BlackBoard
Exposed blackboard for data exchange
Declaration
public BlackBoard BlackBoard { get; }
Property Value
Methods
AddSubGraphSlot<TGraph>(CeresSubGraphSlot)
Try to add a subGraph slot with specific type validation
Declaration
public bool AddSubGraphSlot<TGraph>(CeresSubGraphSlot slot) where TGraph : CeresGraph
Parameters
Returns
Type Parameters
CollectDependencyPath(CeresGraph)
Declaration
protected static void CollectDependencyPath(CeresGraph graph)
Parameters
Compile(CeresGraphCompiler)
Compile graph just in time
Declaration
public virtual void Compile(CeresGraphCompiler compiler)
Parameters
CompileNodes(CeresGraphCompiler)
Declaration
protected static void CompileNodes(CeresGraphCompiler compiler)
Parameters
Dispose()
Declaration
public virtual void Dispose()
FindNode(string)
Declaration
public CeresNode FindNode(string guid)
Parameters
Type |
Name |
Description |
string |
guid |
|
Returns
FindNode<TNode>(string)
Find node with specific type by guid
Declaration
public TNode FindNode<TNode>(string guid) where TNode : CeresNode
Parameters
Type |
Name |
Description |
string |
guid |
|
Returns
Type |
Description |
TNode |
Null if not exist
|
Type Parameters
FindSubGraph<TGraph>(string)
Find subGraph with specific type by name
Declaration
public TGraph FindSubGraph<TGraph>(string name) where TGraph : CeresGraph
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
Type |
Description |
TGraph |
Null if not exist
|
Type Parameters
GetDependencyPaths()
Get graph node current dependency path if existed
Declaration
public int[][] GetDependencyPaths()
Returns
GetFirstNodeOfType<TNode>()
Get first node with specific type
Declaration
public TNode GetFirstNodeOfType<TNode>() where TNode : CeresNode
Returns
Type |
Description |
TNode |
Null if not exist
|
Type Parameters
GetNodeDependencyPath(CeresNode)
Get dependency execution path for destination node
Declaration
public int[] GetNodeDependencyPath(CeresNode node)
Parameters
Returns
GetNodeDependencyPath(string)
Get dependency execution path for destination node with guid
Declaration
public int[] GetNodeDependencyPath(string guid)
Parameters
Type |
Name |
Description |
string |
guid |
|
Returns
InitPorts(CeresGraph)
Traverse the graph and init all ports automatically
Declaration
protected static void InitPorts(CeresGraph graph)
Parameters
InitVariables(CeresGraph)
Traverse the graph and init all shared variables automatically
Declaration
protected static void InitVariables(CeresGraph graph)
Parameters
IsUberGraph()
Is graph on top level which means it can have subGraphs
Declaration
public virtual bool IsUberGraph()
Returns
LinkPort(CeresPort, CeresNode, CeresPortData)
Declaration
protected virtual void LinkPort(CeresPort port, CeresNode ownerNode, CeresPortData portData)
Parameters
SetCompilerTarget(CeresGraphCompiler)
Declaration
protected void SetCompilerTarget(CeresGraphCompiler compiler)
Parameters
SetDependencyPath(int[][])
Set graph node pre-cached dependency path
Declaration
public void SetDependencyPath(int[][] dependencyPath)
Parameters
Type |
Name |
Description |
int[][] |
dependencyPath |
|
TopologicalSort(CeresGraph, List<CeresNode>)
Declaration
protected static int[][] TopologicalSort(CeresGraph graph, List<CeresNode> nodes)
Parameters
Returns
Implements
IDisposableUnregister