public Edge(Air air, EdgeDef def, Node inNode, Node outNode) : base(air) { _edgeDef = def; In = inNode; Out = outNode; In.AddOutEdge(this); Out.AddInEdge(this); }
public Edge CreateEdgeTo(Node node, EdgeDef edgeDefinition) { return edgeDefinition.CreateEdge(this, node); }
public Edge CreateEdge(Node source, Node destination) { return new Edge(Air, this, source, destination); }
public Node CreateNode(NodeDef definition) { Node node = new Node(this, definition); _nodes.Add(node); return node; }